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 "&aring").
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