mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-15 03:01:09 +08:00
284 lines
8.6 KiB
Plaintext
284 lines
8.6 KiB
Plaintext
|
||
|
||
|
||
|
||
|
||
|
||
Network Working Group M. Smith
|
||
Request for Comments: 2079 Netscape Communications
|
||
Category: Standards Track January 1997
|
||
|
||
|
||
Definition of an X.500 Attribute Type and an Object Class to Hold
|
||
Uniform Resource Identifiers (URIs)
|
||
|
||
Status of this Memo
|
||
|
||
This document specifies an Internet standards track protocol for the
|
||
Internet community, and requests discussion and suggestions for
|
||
improvements. Please refer to the current edition of the "Internet
|
||
Official Protocol Standards" (STD 1) for the standardization state
|
||
and status of this protocol. Distribution of this memo is unlimited.
|
||
|
||
Abstract
|
||
|
||
Uniform Resource Locators (URLs) are being widely used to specify the
|
||
location of Internet resources. There is an urgent need to be able
|
||
to include URLs in directories that conform to the LDAP and X.500
|
||
information models, and a desire to include other types of Uniform
|
||
Resource Identifiers (URIs) as they are defined. A number of
|
||
independent groups are already experimenting with the inclusion of
|
||
URLs in LDAP and X.500 directories. This document builds on the
|
||
experimentation to date and defines a new attribute type and an
|
||
auxiliary object class to allow URIs, including URLs, to be stored in
|
||
directory entries in a standard way.
|
||
|
||
Background and Intended Usage
|
||
|
||
Uniform Resource Locators (URLs) as defined by [1] are the first of
|
||
several types of Uniform Resource Identifiers (URIs) being defined by
|
||
the IETF. URIs are widely used on the Internet, most notably within
|
||
Hypertext Markup Language [2] documents. This document defines an
|
||
X.500 [3,4] attribute type called labeledURI and an auxiliary object
|
||
class called labeledURIObject to hold all types of URIs, including
|
||
URLs. These definitions are designed for use in LDAP and X.500
|
||
directories, and may be used in other contexts as well.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Smith Standards Track [Page 1]
|
||
|
||
RFC 2079 URI Attribute Type and Object Class January 1997
|
||
|
||
|
||
Schema Definition of the labeledURI Attribute Type
|
||
|
||
Name: labeledURI
|
||
ShortName: None
|
||
Description: Uniform Resource Identifier with optional label
|
||
OID: umichAttributeType.57 (1.3.6.1.4.1.250.1.57)
|
||
Syntax: caseExactString
|
||
SizeRestriction: None
|
||
SingleValued: False
|
||
|
||
Discussion of the labeledURI Attribute Type
|
||
|
||
The labeledURI attribute type has the caseExactString syntax (since
|
||
URIs are case-sensitive) and it is multivalued. Values placed in the
|
||
attribute should consist of a URI (at the present time, a URL)
|
||
optionally followed by one or more space characters and a label.
|
||
Since space characters are not allowed to appear un-encoded in URIs,
|
||
there is no ambiguity about where the label begins. At the present
|
||
time, the URI portion must comply with the URL specification [1].
|
||
Multiple labeledURI values will generally indicate different
|
||
resources that are all related to the X.500 object, but may indicate
|
||
different locations for the same resource.
|
||
|
||
The label is used to describe the resource to which the URI points,
|
||
and is intended as a friendly name fit for human consumption. This
|
||
document does not propose any specific syntax for the label part. In
|
||
some cases it may be helpful to include in the label some indication
|
||
of the kind and/or size of the resource referenced by the URI.
|
||
|
||
Note that the label may include any characters allowed by the
|
||
caseExactString syntax, but that the use of non-IA5 (non-ASCII)
|
||
characters is discouraged as not all directory clients may handle
|
||
them in the same manner. If non-IA5 characters are included, they
|
||
should be represented using the X.500 conventions, not the HTML
|
||
conventions (e.g., the character that is an "a" with a ring above it
|
||
should be encoded using the T.61 sequence 0xCA followed by an "a"
|
||
character; do not use the HTML escape sequence "å").
|
||
|
||
Examples of labeledURI Attribute Values
|
||
|
||
An example of a labeledURI attribute value that does not include a
|
||
label:
|
||
|
||
ftp://ds.internic.net/rfc/rfc822.txt
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Smith Standards Track [Page 2]
|
||
|
||
RFC 2079 URI Attribute Type and Object Class January 1997
|
||
|
||
|
||
An example of a labeledURI attribute value that contains a tilde
|
||
character in the URL (special characters in a URL must be encoded as
|
||
specified by the URL document [1]). The label is "LDAP Home Page":
|
||
|
||
http://www.umich.edu/%7Ersug/ldap/ LDAP Home Page
|
||
|
||
Another example. This one includes a hint in the label to help the
|
||
user realize that the URL points to a photo image.
|
||
|
||
http://champagne.inria.fr/Unites/rennes.gif Rennes [photo]
|
||
|
||
Schema Definition of the labeledURIObject Object Class
|
||
|
||
Name: labeledURIObject
|
||
Description: object that contains the URI attribute type
|
||
OID: umichObjectClass.15 (1.3.6.1.4.1.250.3.15)
|
||
SubclassOf: top
|
||
MustContain:
|
||
MayContain: labeledURI
|
||
|
||
Discussion of the labeledURIObject Object Class
|
||
|
||
The labeledURIObject class is a subclass of top and may contain the
|
||
labeledURI attribute. The intent is that this object class can be
|
||
added to existing directory objects to allow for inclusion of URI
|
||
values. This approach does not preclude including the labeledURI
|
||
attribute type directly in other object classes as appropriate.
|
||
|
||
Security Considerations
|
||
|
||
Security considerations are not discussed in this memo, except to
|
||
note that blindly inserting the label portion of a labeledURI
|
||
attribute value into an HTML document is not recommended, as this may
|
||
allow a malicious individual to include HTML tags in the label that
|
||
mislead viewers of the entire document in which the labeledURI value
|
||
was inserted.
|
||
|
||
Acknowledgments
|
||
|
||
Paul-Andre Pays, Martijn Koster, Tim Howes, Rakesh Patel, Russ
|
||
Wright, and Hallvard Furuseth provided invaluable assistance in the
|
||
creation of this document.
|
||
|
||
This material is based in part upon work supported by the National
|
||
Science Foundation under Grant No. NCR-9416667.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Smith Standards Track [Page 3]
|
||
|
||
RFC 2079 URI Attribute Type and Object Class January 1997
|
||
|
||
|
||
Appendix: The labeledURL Attribute Type (Deprecated)
|
||
|
||
An earlier draft of this document defined an additional attribute
|
||
type called labeledURL. This attribute type is deprecated, and
|
||
should not be used when adding new values to directory entries. The
|
||
original motivation for including a separate attribute type to hold
|
||
URLs was that this would better enable efficient progammatic access
|
||
to specific types of URIs. After some deliberation, the IETF-ASID
|
||
working group concluded that it was better to simply have one
|
||
attribute than two.
|
||
|
||
The schema definition for labeledURL is included here for historical
|
||
reference only. Directory client software may want to support this
|
||
schema definition (in addition to labeledURI) to ease the transition
|
||
away from labeledURL for those sites that are using it.
|
||
|
||
Name: labeledURL
|
||
ShortName: None
|
||
Description: Uniform Resource Locator with optional label
|
||
OID: umichAttributeType.41 (1.3.6.1.4.1.250.1.41)
|
||
Syntax: caseExactString
|
||
SizeRestriction: None
|
||
SingleValued: False
|
||
OID: umichAttributeType.41 (1.3.6.1.4.1.250.1.41)
|
||
|
||
References
|
||
|
||
[1] Berners-Lee, T., Masinter, L., and M. McCahill, "Uniform
|
||
Resource Locators (URL)", RFC 1738, CERN, Xerox Corporation,
|
||
University of Minnesota, December 1994.
|
||
<URL:ftp://ds.internic.net/rfc/rfc1738.txt>
|
||
|
||
[2] Berners-Lee, T., and D. Connolly, "Hypertext Markup Language -
|
||
2.0", RFC 1866, <URL:ftp://ds.internic.net/rfc/rfc1866.txt>
|
||
|
||
[3] The Directory: Overview of Concepts, Models and Service. CCITT
|
||
Recommendation X.500, 1988.
|
||
|
||
[4] Information Processing Systems -- Open Systems Interconnection --
|
||
The Directory: Overview of Concepts, Models and Service. ISO/IEC JTC
|
||
1/SC21; International Standard 9594-1, 1988.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Smith Standards Track [Page 4]
|
||
|
||
RFC 2079 URI Attribute Type and Object Class January 1997
|
||
|
||
|
||
Author's Address
|
||
|
||
Mark Smith
|
||
Netscape Communications Corp.
|
||
501 E. Middlefield Rd.
|
||
Mountain View, CA 94043, USA
|
||
|
||
Phone: +1 415 937-3477
|
||
EMail: mcs@netscape.com
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Smith Standards Track [Page 5]
|
||
|