An LDAP URL Format (RFC1959)
Original Publication Date: 1996-Jun-01
Included in the Prior Art Database: 2019-Feb-12
Internet Society Requests For Comment (RFCs)
T. Howes: AUTHOR [+1]
This document describes a format for an LDAP Uniform Resource Locator which will allow Internet clients to have direct access to the LDAP protocol. [STANDARDS-TRACK]
Network Working Group T. Howes Request for Comments: 1959 M. Smith Category: Standards Track University of Michigan June 1996
An LDAP URL Format
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.
LDAP is the Lightweight Directory Access Protocol, defined in  and . This document describes a format for an LDAP Uniform Resource Locator which will allow Internet clients to have direct access to the LDAP protocol. While LDAP currently is used only as a front end to the X.500 directory, the URL format described here is general enough to handle the case of stand-alone LDAP servers (i.e., LDAP servers not back-ended by X.500).
2. URL Definition
An LDAP URL begins with the protocol prefix "ldap" and is defined by the following grammar.
<ldapurl> ::= "ldap://" [ <hostport> ] "/" <dn> [ "?" <attributes> [ "?" <scope> "?" <filter> ] ]
<hostport> ::= <hostname> [ ":" <portnumber> ]
<dn> ::= a string as defined in RFC 1485
<attributes> ::= NULL | <attributelist>
<attributelist> ::= <attributetype> | <attributetype> [ "," <attributelist> ]
<attributetype> ::= a string as defined in RFC 1777
<scope> ::= "base" | "one" | "sub"
<filter> ::= a string as defined in RFC 1558
Howes & Smith Standards Track [Page 1]
RFC 1959 An LDAP URL Format June 1996
The ldap prefix indicates an entry or entries residing in the LDAP server running on the given <hostname> at the given <portnumber>. The default port is TCP port 389. The <dn> is an LDAP Distinguished Name using the string format described in , with any URL-illegal characters (e.g., spaces) escaped using the % method described in RFC 1738.
The <attributes> construct is used to indicate which attributes should be returned from the entry or entries. Individual <attributetype> names are as defined for AttributeType in RFC 1777. If the <attributes> part is omitted, all attributes of the entry or entries should be returned.
The <scope> construct is used to specify the scope of the search to perform in the given LDAP server. The allowable scopes are "base" for a base object search, "one" for a one-level search, or "sub" for a subtree search. If <scope> is omitted, a scope of "base" is assumed.
The <filter> is used to specify the search filter to apply to entries within the specified scope during the search. It has the format specified in , with any URL-illegal characters escaped using the % method described in RFC 1738. If <filter> is omitted, a filter of "(objectClass=*)" is assumed.
Note that if the entry resides in the X.500 namespace, it should be reachable from any LDAP server that is providing front-end access to the X.500 directory. If the <hostport> part of the URL is missing, the URL can be...