7 Network Working Group M. Smith
8 Request for Comments: 2079 Netscape Communications
9 Category: Standards Track January 1997
12 Definition of an X.500 Attribute Type and an Object Class to Hold
13 Uniform Resource Identifiers (URIs)
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.
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.
36 Background and Intended Usage
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.
58 Smith Standards Track [Page 1]
60 RFC 2079 URI Attribute Type and Object Class January 1997
63 Schema Definition of the labeledURI Attribute Type
67 Description: Uniform Resource Identifier with optional label
68 OID: umichAttributeType.57 (1.3.6.1.4.1.250.1.57)
69 Syntax: caseExactString
73 Discussion of the labeledURI Attribute Type
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.
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.
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 "å").
101 Examples of labeledURI Attribute Values
103 An example of a labeledURI attribute value that does not include a
106 ftp://ds.internic.net/rfc/rfc822.txt
114 Smith Standards Track [Page 2]
116 RFC 2079 URI Attribute Type and Object Class January 1997
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":
123 http://www.umich.edu/%7Ersug/ldap/ LDAP Home Page
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.
128 http://champagne.inria.fr/Unites/rennes.gif Rennes [photo]
130 Schema Definition of the labeledURIObject Object Class
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)
137 MayContain: labeledURI
139 Discussion of the labeledURIObject Object Class
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.
147 Security Considerations
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
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.
162 This material is based in part upon work supported by the National
163 Science Foundation under Grant No. NCR-9416667.
170 Smith Standards Track [Page 3]
172 RFC 2079 URI Attribute Type and Object Class January 1997
175 Appendix: The labeledURL Attribute Type (Deprecated)
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
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.
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
198 OID: umichAttributeType.41 (1.3.6.1.4.1.250.1.41)
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>
207 [2] Berners-Lee, T., and D. Connolly, "Hypertext Markup Language -
208 2.0", RFC 1866, <URL:ftp://ds.internic.net/rfc/rfc1866.txt>
210 [3] The Directory: Overview of Concepts, Models and Service. CCITT
211 Recommendation X.500, 1988.
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.
226 Smith Standards Track [Page 4]
228 RFC 2079 URI Attribute Type and Object Class January 1997
234 Netscape Communications Corp.
235 501 E. Middlefield Rd.
236 Mountain View, CA 94043, USA
238 Phone: +1 415 937-3477
239 EMail: mcs@netscape.com
282 Smith Standards Track [Page 5]