An LDAP URL Format
RFC 1959

Document Type RFC - Proposed Standard (June 1996; Errata)
Obsoleted by RFC 2255
Last updated 2013-03-02
Stream IETF
Formats plain text pdf html bibtex
Stream WG state (None)
Document shepherd No shepherd assigned
IESG IESG state RFC 1959 (Proposed Standard)
Consensus Boilerplate Unknown
Telechat date
Responsible AD (None)
Send notices to (None)
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.

1.  Abstract

   LDAP is the Lightweight Directory Access Protocol, defined in [1] and
   [2].  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 [1], 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 [4], 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 resolved by contacting any X.500-back-ended LDAP
   server.

3.  Examples

   The following are some example LDAP URLs using the format defined
   above.  An LDAP URL referring to the University of Michigan entry,
   available from any X.500-capable LDAP server:

  ldap:///o=University%20of%20Michigan,c=US

   An LDAP URL referring to the University of Michigan entry in a
   particular ldap server:

  ldap://ldap.itd.umich.edu/o=University%20of%20Michigan,c=US

   This URL corresponds to a base object search of the "o=University of
   Michigan, c=US" entry using a filter of (objectclass=*), requesting
   all attributes.

Howes & Smith               Standards Track                     [Page 2]
RFC 1959                   An LDAP URL Format                  June 1996

   An LDAP URL referring to only the postalAddress attribute of the
   University of Michigan entry:

  ldap://ldap.itd.umich.edu/o=University%20of%20Michigan,c=US?postalAddress

   The corresponding LDAP search operation is the same as in the
   previous example, except that only the postalAddress attribute is
   requested.

   An LDAP URL referring to the set of entries found by querying any
   X.500-capable LDAP server and doing a subtree search of the
   University of Michigan for any entry with a common name of "Babs
   Jensen", retrieving all attributes:

  ldap:///o=University%20of%20Michigan,c=US??sub?(cn=Babs%20Jensen)

   An LDAP URL referring to all children of the c=GB entry:

  ldap://ldap.itd.umich.edu/c=GB?objectClass?one
Show full document text