1 2 3 4 5 6 7Network Working Group M. Smith 8Request for Comments: 2079 Netscape Communications 9Category: Standards Track January 1997 10 11 12 Definition of an X.500 Attribute Type and an Object Class to Hold 13 Uniform Resource Identifiers (URIs) 14 15Status of this Memo 16 17 This document specifies an Internet standards track protocol for the 18 Internet community, and requests discussion and suggestions for 19 improvements. Please refer to the current edition of the "Internet 20 Official Protocol Standards" (STD 1) for the standardization state 21 and status of this protocol. Distribution of this memo is unlimited. 22 23Abstract 24 25 Uniform Resource Locators (URLs) are being widely used to specify the 26 location of Internet resources. There is an urgent need to be able 27 to include URLs in directories that conform to the LDAP and X.500 28 information models, and a desire to include other types of Uniform 29 Resource Identifiers (URIs) as they are defined. A number of 30 independent groups are already experimenting with the inclusion of 31 URLs in LDAP and X.500 directories. This document builds on the 32 experimentation to date and defines a new attribute type and an 33 auxiliary object class to allow URIs, including URLs, to be stored in 34 directory entries in a standard way. 35 36Background and Intended Usage 37 38 Uniform Resource Locators (URLs) as defined by [1] are the first of 39 several types of Uniform Resource Identifiers (URIs) being defined by 40 the IETF. URIs are widely used on the Internet, most notably within 41 Hypertext Markup Language [2] documents. This document defines an 42 X.500 [3,4] attribute type called labeledURI and an auxiliary object 43 class called labeledURIObject to hold all types of URIs, including 44 URLs. These definitions are designed for use in LDAP and X.500 45 directories, and may be used in other contexts as well. 46 47 48 49 50 51 52 53 54 55 56 57 58Smith Standards Track [Page 1] 59 60RFC 2079 URI Attribute Type and Object Class January 1997 61 62 63Schema Definition of the labeledURI Attribute Type 64 65 Name: labeledURI 66 ShortName: None 67 Description: Uniform Resource Identifier with optional label 68 OID: umichAttributeType.57 (1.3.6.1.4.1.250.1.57) 69 Syntax: caseExactString 70 SizeRestriction: None 71 SingleValued: False 72 73Discussion of the labeledURI Attribute Type 74 75 The labeledURI attribute type has the caseExactString syntax (since 76 URIs are case-sensitive) and it is multivalued. Values placed in the 77 attribute should consist of a URI (at the present time, a URL) 78 optionally followed by one or more space characters and a label. 79 Since space characters are not allowed to appear un-encoded in URIs, 80 there is no ambiguity about where the label begins. At the present 81 time, the URI portion must comply with the URL specification [1]. 82 Multiple labeledURI values will generally indicate different 83 resources that are all related to the X.500 object, but may indicate 84 different locations for the same resource. 85 86 The label is used to describe the resource to which the URI points, 87 and is intended as a friendly name fit for human consumption. This 88 document does not propose any specific syntax for the label part. In 89 some cases it may be helpful to include in the label some indication 90 of the kind and/or size of the resource referenced by the URI. 91 92 Note that the label may include any characters allowed by the 93 caseExactString syntax, but that the use of non-IA5 (non-ASCII) 94 characters is discouraged as not all directory clients may handle 95 them in the same manner. If non-IA5 characters are included, they 96 should be represented using the X.500 conventions, not the HTML 97 conventions (e.g., the character that is an "a" with a ring above it 98 should be encoded using the T.61 sequence 0xCA followed by an "a" 99 character; do not use the HTML escape sequence "å"). 100 101Examples of labeledURI Attribute Values 102 103 An example of a labeledURI attribute value that does not include a 104 label: 105 106 ftp://ds.internic.net/rfc/rfc822.txt 107 108 109 110 111 112 113 114Smith Standards Track [Page 2] 115 116RFC 2079 URI Attribute Type and Object Class January 1997 117 118 119 An example of a labeledURI attribute value that contains a tilde 120 character in the URL (special characters in a URL must be encoded as 121 specified by the URL document [1]). The label is "LDAP Home Page": 122 123 http://www.umich.edu/%7Ersug/ldap/ LDAP Home Page 124 125 Another example. This one includes a hint in the label to help the 126 user realize that the URL points to a photo image. 127 128 http://champagne.inria.fr/Unites/rennes.gif Rennes [photo] 129 130Schema Definition of the labeledURIObject Object Class 131 132 Name: labeledURIObject 133 Description: object that contains the URI attribute type 134 OID: umichObjectClass.15 (1.3.6.1.4.1.250.3.15) 135 SubclassOf: top 136 MustContain: 137 MayContain: labeledURI 138 139Discussion of the labeledURIObject Object Class 140 141 The labeledURIObject class is a subclass of top and may contain the 142 labeledURI attribute. The intent is that this object class can be 143 added to existing directory objects to allow for inclusion of URI 144 values. This approach does not preclude including the labeledURI 145 attribute type directly in other object classes as appropriate. 146 147Security Considerations 148 149 Security considerations are not discussed in this memo, except to 150 note that blindly inserting the label portion of a labeledURI 151 attribute value into an HTML document is not recommended, as this may 152 allow a malicious individual to include HTML tags in the label that 153 mislead viewers of the entire document in which the labeledURI value 154 was inserted. 155 156Acknowledgments 157 158 Paul-Andre Pays, Martijn Koster, Tim Howes, Rakesh Patel, Russ 159 Wright, and Hallvard Furuseth provided invaluable assistance in the 160 creation of this document. 161 162 This material is based in part upon work supported by the National 163 Science Foundation under Grant No. NCR-9416667. 164 165 166 167 168 169 170Smith Standards Track [Page 3] 171 172RFC 2079 URI Attribute Type and Object Class January 1997 173 174 175Appendix: The labeledURL Attribute Type (Deprecated) 176 177 An earlier draft of this document defined an additional attribute 178 type called labeledURL. This attribute type is deprecated, and 179 should not be used when adding new values to directory entries. The 180 original motivation for including a separate attribute type to hold 181 URLs was that this would better enable efficient progammatic access 182 to specific types of URIs. After some deliberation, the IETF-ASID 183 working group concluded that it was better to simply have one 184 attribute than two. 185 186 The schema definition for labeledURL is included here for historical 187 reference only. Directory client software may want to support this 188 schema definition (in addition to labeledURI) to ease the transition 189 away from labeledURL for those sites that are using it. 190 191 Name: labeledURL 192 ShortName: None 193 Description: Uniform Resource Locator with optional label 194 OID: umichAttributeType.41 (1.3.6.1.4.1.250.1.41) 195 Syntax: caseExactString 196 SizeRestriction: None 197 SingleValued: False 198 OID: umichAttributeType.41 (1.3.6.1.4.1.250.1.41) 199 200References 201 202 [1] Berners-Lee, T., Masinter, L., and M. McCahill, "Uniform 203 Resource Locators (URL)", RFC 1738, CERN, Xerox Corporation, 204 University of Minnesota, December 1994. 205 <URL:ftp://ds.internic.net/rfc/rfc1738.txt> 206 207 [2] Berners-Lee, T., and D. Connolly, "Hypertext Markup Language - 208 2.0", RFC 1866, <URL:ftp://ds.internic.net/rfc/rfc1866.txt> 209 210 [3] The Directory: Overview of Concepts, Models and Service. CCITT 211 Recommendation X.500, 1988. 212 213 [4] Information Processing Systems -- Open Systems Interconnection -- 214 The Directory: Overview of Concepts, Models and Service. ISO/IEC JTC 215 1/SC21; International Standard 9594-1, 1988. 216 217 218 219 220 221 222 223 224 225 226Smith Standards Track [Page 4] 227 228RFC 2079 URI Attribute Type and Object Class January 1997 229 230 231Author's Address 232 233 Mark Smith 234 Netscape Communications Corp. 235 501 E. Middlefield Rd. 236 Mountain View, CA 94043, USA 237 238 Phone: +1 415 937-3477 239 EMail: mcs@netscape.com 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282Smith Standards Track [Page 5] 283 284