]> git.sur5r.net Git - openldap/blob - doc/rfc/rfc2079.txt
Do not require ac/string.h for lber_pvt.h
[openldap] / doc / rfc / rfc2079.txt
1
2
3
4
5
6
7 Network Working Group                                          M. Smith
8 Request for Comments: 2079                      Netscape Communications
9 Category: 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
15 Status 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
23 Abstract
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
36 Background 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
58 Smith                       Standards Track                     [Page 1]
59 \f
60 RFC 2079          URI Attribute Type and Object Class       January 1997
61
62
63 Schema 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
73 Discussion 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
101 Examples 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
114 Smith                       Standards Track                     [Page 2]
115 \f
116 RFC 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
130 Schema 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
139 Discussion 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
147 Security 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
156 Acknowledgments
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
170 Smith                       Standards Track                     [Page 3]
171 \f
172 RFC 2079          URI Attribute Type and Object Class       January 1997
173
174
175 Appendix:  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
200 References
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
226 Smith                       Standards Track                     [Page 4]
227 \f
228 RFC 2079          URI Attribute Type and Object Class       January 1997
229
230
231 Author'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
282 Smith                       Standards Track                     [Page 5]
283 \f