RFC 2079
Definition of an X.500 Attribute Type and an Object Class to Hold Uniform Resource Identifiers (URIs)
RFC 2079: Defining an X.500 Attribute Type and Object Class for URIs π
okay bestie, this one is from January 1997 and it's from the Network Working Group πΈ It was written by Mark Smith (M. Smith) at Netscape Communications, and it's on the Standards Track π It doesn't list anything it obsoletes or updates, so it's a pretty clean start β¨
Status of This Memo π
this doc is an Internet standards track protocol for the Internet community, and it's asking for discussion and suggestions for improvements π For the standardization state and status of this protocol, check the current edition of the "Internet Official Protocol Standards" (STD 1) π§ Distribution of this memo is unlimited π
Abstract β¨
URLs are everywhere now, used to point at Internet resources π¦ There's a real need to put them into directories that follow the LDAP and X.500 information models, and people also want other kinds of URIs in there as those get defined π A bunch of independent groups were already trying to stick URLs into LDAP and X.500 directories, and this doc builds on that experimenting π₯ It defines a new attribute type and an auxiliary object class so URIs (URLs included) can be stored in directory entries in a standard way π
Background and Intended Usage πΈ
URLs, as defined in [1], are the first of several kinds of URIs the IETF is defining π«Ά URIs are super popular on the Internet, especially inside HTML documents [2] π
This doc defines an X.500 [3,4] attribute type called labeledURI and an auxiliary object class called labeledURIObject to hold all kinds of URIs, URLs included β¨ They're made for LDAP and X.500 directories, but they can be used in other contexts too π
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 π¬
okay so the labeledURI attribute uses the caseExactString syntax, because URIs are case-sensitive, and it's multivalued π Each value should be a URI (right now, that means a URL), optionally followed by one or more space characters and then a label π¦ Spaces aren't allowed un-encoded inside URIs, so there's zero ambiguity about where the label starts π For now, the URI part has to follow the URL specification in [1] π₯
Multiple labeledURI values usually mean different resources that all relate to the X.500 object π§ They can also be different locations for the same resource β¨
The label describes the resource the URI points to, and it's meant to be a friendly name that humans can read π This doc doesn't propose any specific syntax for the label π Sometimes it helps to put the kind and/or size of the resource in the label π¦
Heads up: the label can use any characters that caseExactString allows, but non-IA5 (non-ASCII) characters are discouraged π Not every directory client handles them the same way π If you do include non-IA5 characters, use X.500 conventions, not HTML ones π«Ά For example, an "a" with a ring above it should be encoded with the T.61 sequence 0xCA followed by an "a" character, and you should not use the HTML escape å π«
Examples of labeledURI Attribute Values π
here are some examples, bestie π§
An example with no label:
ftp://ds.internic.net/rfc/rfc822.txt
An example with a tilde in the URL. Special characters in a URL have to be encoded the way the URL document [1] says. The label is "LDAP Home Page":
http://www.umich.edu/%7Ersug/ldap/ LDAP Home Page
Another one! This label has a hint so the user knows 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 idea is that you can add this object class to existing directory objects so they can hold URI values π It doesn't rule out putting the labeledURI attribute type straight into other object classes where that fits π¦
Security Considerations π¨
this part is serious, bestie π
security isn't really discussed in this memo, except for one big warning: blindly putting the label part of a labeledURI attribute value into an HTML document is not recommended π A malicious person could sneak HTML tags into the label, and those tags could mislead viewers of the whole document where the value got inserted π
Acknowledgments π«Ά
Paul-Andre Pays, Martijn Koster, Tim Howes, Rakesh Patel, Russ Wright, and Hallvard Furuseth gave invaluable help in making this doc π
This material is based in part on work supported by the National Science Foundation under Grant No. NCR-9416667 β¨
Appendix: The labeledURL Attribute Type (Deprecated) π₯
an earlier draft of this doc defined a second attribute type called labeledURL π°οΈ It's deprecated now, so don't use it when adding new values to directory entries π« The original reason for a separate URL attribute was that it would make it easier to programmatically access specific types of URIs π§ After some deliberation, the IETF-ASID working group decided one attribute was better than two π
The labeledURL schema is kept here for historical reference only π Directory client software may want to support it alongside labeledURI, which helps sites that are still using labeledURL move over to the new one π¦
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.
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
π¦ where this page comes from
- ietf: rfc2079 1997-01
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms