home *** CD-ROM | disk | FTP | other *** search
/ Handbook of Infosec Terms 2.0 / Handbook_of_Infosec_Terms_Version_2.0_ISSO.iso / text / rfcs / rfc1737.txt < prev    next >
Text File  |  1996-05-07  |  17KB  |  181 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                         K. Sollins Request for Comments: 1737                                       MIT/LCS Category: Informational                                      L. Masinter                                                        Xerox Corporation                                                            December 1994 
  8.  
  9.             Functional Requirements for Uniform Resource Names 
  10.  
  11. Status of this Memo 
  12.  
  13.    This memo provides information for the Internet community.  This memo    does not specify an Internet standard of any kind.  Distribution of    this memo is unlimited. 
  14.  
  15. 1.  Introduction 
  16.  
  17.    This document specifies a minimum set of requirements for a kind of    Internet resource identifier known as Uniform Resource Names (URNs).    URNs fit within a larger Internet information architecture, which in    turn is composed of, additionally, Uniform Resource Characteristics    (URCs), and Uniform Resource Locators (URLs).  URNs are used for    identification, URCs for including meta-information, and URLs for    locating or finding resources.  It is provided as a basis for    evaluating standards for URNs.  The discussions of this work have    occurred on the mailing list uri@bunyip.com and at the URI Working    Group sessions of the IETF. 
  18.  
  19.    The requirements described here are not necessarily exhaustive; for    example, there are several issues dealing with support for    replication of resources and with security that have been discussed;    however, the problems are not well enough understood at this time to    include specific requirements in those areas here. 
  20.  
  21.    Within the general area of distributed object systems design, there    are many concepts and designs that are discussed under the general    topic of "naming". The URN requirements here are for a facility that    addresses a different (and, in general, more stringent) set of needs    than are frequently the domain of general object naming. 
  22.  
  23.    The requirements for Uniform Resource Names fit within the overall    architecture of Uniform Resource Identification.  In order to build    applications in the most general case, the user must be able to    discover and identify the information, objects, or what we will call    in this architecture resources, on which the application is to    operate.  Beyond this statement, the URI architecture does not define    "resource."  As the network and interconnectivity grow, the ability    to make use of remote, perhaps independently managed, resources will 
  24.  
  25.  
  26.  
  27. Sollins & Masinter                                              [Page 1] 
  28.  RFC 1737        Requirements for Uniform Resource Names    December 1994 
  29.  
  30.     become more and more important.  This activity of discovering and    utilizing resources can be broken down into those activities where    one of the primary constraints is human utility and facility and    those in which human involvement is small or nonexistent.  Human    naming must have such characteristics as being both mnemonic and    short.  Humans, in contrast with computers, are good at heuristic    disambiguation and wide variability in structure.  In order for    computer and network based systems to support global naming and    access to resources that have perhaps an indeterminate lifetime, the    flexibility and attendant unreliability of human-friendly names    should be translated into a naming infrastructure more appropriate    for the underlying support system.  It is this underlying support    system that the Internet Information Infrastructure Architecture    (IIIA) is addressing. 
  31.  
  32.    Within the IIIA, several sorts of information about resources are    specified and divided among different sorts of structures, along    functional lines.  In order to access information, one must be able    to discover or identify the particular information desired,    determined both how and where it might be used or accessed.  The    partitioning of the functionality in this architecture is into    uniform resource names (URN), uniform resource characteristics (URC),    and uniform resource locators (URL).  A URN identifies a resource or    unit of information.  It may identify, for example, intellectual    content, a particular presentation of intellectual content, or    whatever a name assignment authority determines is a distinctly    namable entity.  A URL identifies the location or a container for an    instance of a resource identified by a URN.  The resource identified    by a URN may reside in one or more locations at any given time, may    move, or may not be available at all.  Of course, not all resources    will move during their lifetimes, and not all resources, although    identifiable and identified by a URN will be instantiated at any    given time.  As such a URL is identifying a place where a resource    may reside, or a container, as distinct from the resource itself    identified by the URN.  A URC is a set of meta-level information    about a resource.  Some examples of such meta-information are: owner,    encoding, access restrictions (perhaps for particular instances),    cost. 
  33.  
  34.    With this in mind, we can make the following statement: 
  35.  
  36.    o  The purpose or function of a URN is to provide a globally unique,       persistent identifier used for recognition, for access to       characteristics of the resource or for access to the resource       itself. 
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  Sollins & Masinter                                              [Page 2] 
  43.  RFC 1737        Requirements for Uniform Resource Names    December 1994 
  44.  
  45.     More specifically, there are two kinds of requirements on URNs:    requirements on the functional capabilities of URNs, and requirements    on the way URNs are encoded in data streams and written    communications. 
  46.  
  47. 2. Requirements for functional capabilities 
  48.  
  49.    These are the requirements for URNs' functional capabilities: 
  50.  
  51.    o Global scope: A URN is a name with global scope which does not      imply a location.  It has the same meaning everywhere. 
  52.  
  53.    o Global uniqueness: The same URN will never be assigned to two      different resources. 
  54.  
  55.    o Persistence: It is intended that the lifetime of a URN be      permanent.  That is, the URN will be globally unique forever, and      may well be used as a reference to a resource well beyond the      lifetime of the resource it identifies or of any naming authority      involved in the assignment of its name. 
  56.  
  57.    o Scalability: URNs can be assigned to any resource that might      conceivably be available on the network, for hundreds of years. 
  58.  
  59.    o Legacy support: The scheme must permit the support of existing      legacy naming systems, insofar as they satisfy the other      requirements described here. For example, ISBN numbers, ISO      public identifiers, and UPC product codes seem to satisfy the      functional requirements, and allow an embedding that satisfies      the syntactic requirements described here. 
  60.  
  61.    o Extensibility: Any scheme for URNs must permit future extensions to      the scheme. 
  62.  
  63.    o Independence: It is solely the responsibility of a name issuing      authority to determine the conditions under which it will issue a      name. 
  64.  
  65.    o Resolution: A URN will not impede resolution (translation into a      URL, q.v.). To be more specific, for URNs that have corresponding      URLs, there must be some feasible mechanism to translate a URN to a      URL. 
  66.  
  67. 3. Requirements for URN encoding 
  68.  
  69.    In addition to requirements on the functional elements of the URNs,    there are requirements for how they are encoded in a string: 
  70.  
  71.  
  72.  
  73.  Sollins & Masinter                                              [Page 3] 
  74.  RFC 1737        Requirements for Uniform Resource Names    December 1994 
  75.  
  76.     o Single encoding: The encoding for presentation for people in clear      text, electronic mail and the like is the same as the encoding in      other transmissions. 
  77.  
  78.    o Simple comparison: A comparison algorithm for URNs is simple,      local, and deterministic. That is, there is a single algorithm for      comparing two URNs that does not require contacting any external      server, is well specified and simple. 
  79.  
  80.    o Human transcribability: For URNs to be easily transcribable by      humans without error, they should be short, use a minimum of      special characters, and be case insensitive. (There is no strong      requirement that it be easy for a human to generate or interpret a      URN; explicit human-accessible semantics of the names is not a      requirement.)  For this reason, URN comparison is insensitive to      case, and probably white space and some punctuation marks. 
  81.  
  82.    o Transport friendliness: A URN can be transported unmodified in the      common Internet protocols, such as TCP, SMTP, FTP, Telnet, etc., as      well as printed paper. 
  83.  
  84.    o Machine consumption: A URN can be parsed by a computer. 
  85.  
  86.    o Text recognition: The encoding of a URN should enhance the      ability to find and parse URNs in free text. 
  87.  
  88. 4. Implications 
  89.  
  90.    For a URN specification to be acceptible, it must meet the previous    requirements.  We draw a set of conclusions, listed below, from those    requirements; a specification that satisfies the requirments without    meetings these conclusions is deemed acceptable, although unlikely to    occur. 
  91.  
  92.    o To satisfy the requirements of uniqueness and scalability, name      assignment is delegated to naming authorities, who may then assign      names directly or delegate that authority to sub-authorities.      Uniqueness is guaranteed by requiring each naming authority to      guarantee uniqueness.  The names of the naming authorities      themselves are persistent and globally unique and top level      authorities will be centrally registered. 
  93.  
  94.    o Naming authorities that support scalable naming are encouraged, but      not required.  Scalability implies that a scheme for devising names      may be scalable both at its terminators as well as within the      structure; e.g., in a hierarchical naming scheme, a naming      authority might have an extensible mechanism for adding new      sub-registries. 
  95.  
  96.  
  97.  
  98. Sollins & Masinter                                              [Page 4] 
  99.  RFC 1737        Requirements for Uniform Resource Names    December 1994 
  100.  
  101.     o It is strongly recommended that there be a mapping between the      names generated by each naming authority and URLs.  At any specific      time there will be zero or more URLs into which a particular URN      can be mapped.  The naming authority itself need not provide the      mapping from URN to URL. 
  102.  
  103.    o For URNs to be transcribable and transported in mail, it is      necessary to limit the character set usable in URNs, although there      is not yet consensus on what the limit might be. 
  104.  
  105.    In assigning names, a name assignment authority must abide by the    preceding constraints, as well as defining its own criteria for    determining the necessity or indication of a new name assignment. 
  106.  
  107. 5. Other considerations 
  108.  
  109.    There are three issues about which this document has intentionally    not taken a position, because it is believed that these are issues to    be decided by local determination or other services within an    information infrastructure.  These issues are equality of resources,    reflection of visible semantics in a URN, and name resolution. 
  110.  
  111.    One of the ways in which naming authorities, the assigners of names,    may choose to make themselves distinctive is by the algorithms by    which they distinguish or do not distinguish resources from each    other.  For example, a publisher may choose to distinguish among    multiple printings of a book, in which minor spelling and    typographical mistakes have been made, but a library may prefer not    to make that distinction.  Furthermore, no one algorithm for testing    for equality is likely to applicable to all sorts of information.    For example, an algorithm based on testing the equality of two books    is unlikely to be useful when testing the equality of two    spreadsheets.  Thus, although this document requires that any    particular naming authority use one algorithm for determining whether    two resources it is comparing are the same or different, each naming    authority can use a different such algorithm and a naming authority    may restrict the set of resources it chooses to identify in any way    at all. 
  112.  
  113.    A naming authority will also have some algorithm for actually    choosing a name within its namespace.  It may have an algorithm that    actually embeds in some way some knowledge about the resource.  In    turn, that embedding may or may not be made public, and may or may    not be visible to potential clients.  For example, an unreflective    URN, simply provides monotonically increasing serial numbers for    resources.  This conveys nothing other than the identity determined    by the equality testing algorithm and an ordering of name assignment    by this server.  It carries no information about the resource itself. 
  114.  
  115.  
  116.  
  117. Sollins & Masinter                                              [Page 5] 
  118.  RFC 1737        Requirements for Uniform Resource Names    December 1994 
  119.  
  120.     An MD5 of the resource at some point, in and of itself may be    reflective of its contents, and, in fact, the naming authority may be    perfectly willing to publish the fact that it is using MD5, but if    the resource is mutable, it still will be the case that any potential    client cannot do much with the URN other than check for equality.    If, in contrast, a URN scheme has much in common with the assignment    ISBN numbers, the algorithm for assigning them is public and by    knowing it, given a particular ISBN number, one can learn something    more about the resource in question.  This full range of    possibilities is allowed according to this requirements document,    although it is intended that naming authorities be discouraged from    making accessible to clients semantic information about the resource,    on the assumption that that may change with time and therefore it is    unwise to encourage people in any way to depend on that semantics    being valid. 
  121.  
  122.    Last, this document intentionally does not address the problem of    name resolution, other than to recommend that for each naming    authority a name translation mechanism exist.  Naming authorities    assign names, while resolvers or location services of some sort    assist or provide URN to URL mapping.  There may be one or many such    services for the resources named by a particular naming authority.    It may also be the case that there are generic ones providing service    for many resources of differing naming authorities.  Some may be    authoritative and others not.  Some may be highly reliable or highly    available or highly responsive to updates or highly focussed by other    criteria such as subject matter.  Of course, it is also possible that    some naming authorities will also act as resolvers for the resources    they have named.  This document supports and encourages third party    and distributed services in this area, and therefore intentionally    makes no statements about requirements of URNs or naming authorities    on resolvers. 
  123.  
  124. Security Considerations 
  125.  
  126.    Applications that require translation from names to locations, and    the resources themselves may require the resources to be    authenticated. It seems generally that the information about the    authentication of either the name or the resource to which it refers    should be carried by separate information passed along with the URN    rather than in the URN itself. 
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  Sollins & Masinter                                              [Page 6] 
  137.  RFC 1737        Requirements for Uniform Resource Names    December 1994 
  138.  
  139.  Authors' Addresses 
  140.  
  141.    Larry Masinter    Xerox Palo Alto Research Center    3333 Coyote Hill Road    Palo Alto, CA 94304 
  142.  
  143.    Phone: (415) 812-4365    Fax:   (415) 812-4333    EMail: masinter@parc.xerox.com 
  144.  
  145.     Karen Sollins    MIT Laboratory for Computer Science    545 Technology Square    Cambridge, MA 02139 
  146.  
  147.    Voice: (617) 253-6006    Phone: (617) 253-2673    EMail: sollins@lcs.mit.edu 
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179. Sollins & Masinter                                              [Page 7] 
  180.  
  181.