home *** CD-ROM | disk | FTP | other *** search
/ Internet Core Protocols / Oreilly-InternetCoreProtocols.iso / RFCs / rfc2483.txt < prev    next >
Encoding:
Text File  |  1999-10-14  |  30.7 KB  |  900 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                      M. Mealling
  8. Request for Comments: 2483                     Network Solutions, Inc.
  9. Category: Experimental                                  R. Daniel, Jr.
  10.                                         Los Alamos National Laboratory
  11.                                                           January 1999
  12.  
  13.  
  14.                         URI Resolution Services
  15.                       Necessary for URN Resolution
  16.  
  17. Status of this Memo
  18.  
  19.    This memo defines an Experimental Protocol for the Internet
  20.    community.  It does not specify an Internet standard of any kind.
  21.    Discussion and suggestions for improvement are requested.
  22.    Distribution of this memo is unlimited.
  23.  
  24. Copyright Notice
  25.  
  26.    Copyright (C) The Internet Society (1999).  All Rights Reserved.
  27.  
  28. Abstract
  29.  
  30.    Retrieving the resource identified by a Uniform Resource Identifier
  31.    (URI) [1] is only one of the operations that can be performed on a
  32.    URI.  One might also ask for and get a list of other identifiers that
  33.    are aliases for the original URI or a bibliographic description of
  34.    the resource the URI denotes, for example. This applies to both
  35.    Uniform Resource Names (URNs) and Uniform Resource Locators (URLs).
  36.    Uniform Resource Characteristics (URCs) are discussed in this
  37.    document but only as descriptions of resources rather than
  38.    identifiers.
  39.  
  40.    A service in the network providing access to a resource may provide
  41.    one or some of these options, but it need not provide all of them.
  42.    This memo specifies an initial set of these operations that can be
  43.    used to describe the interactions provided by a given access service.
  44.    It also suggests guidelines that should be adhered to when those
  45.    operations are encoded in a protocol.
  46.  
  47. 1. Introduction
  48.  
  49.    In the course of formulating current proposals [2] regarding URNs
  50.    [3], it became apparent that requiring servers to manage all of the
  51.    desired functions or requiring clients to process varied information
  52.    returned by a server was unrealistic and a barrier to adoption. There
  53.    needed to be some way for a client to be able to identify a server
  54.    that specialized in the complex and another that specialized in the
  55.  
  56.  
  57.  
  58. Mealling & Daniel             Experimental                      [Page 1]
  59.  
  60. RFC 2483                URI Resolution Services             January 1999
  61.  
  62.  
  63.    simple (but fast). Also, in subsequent conversations it became
  64.    obvious that, in most cases, some of the operations were
  65.    inappropriate or difficult for certain identifiers.
  66.  
  67.    The Problem
  68.  
  69.    In the process of learning about a resource in the Internet, there
  70.    are a variety of possible functions that may be important and/or
  71.    useful, such as discovery of locators, names, descriptions, and
  72.    accessing the resource itself. A given service may support only a
  73.    subset of these; hence, it is important to describe such an access
  74.    service by the types of functions supported and the resources of
  75.    which it has some knowledge. For example, in the framework for an RDS
  76.    described in [5] the RDS itself may provide URLs [6][7], while the
  77.    resolvers may provide descriptions, URLs, or even the resources
  78.    themselves. The design of an RDS, as proposed in RFC 2168 [2], may be
  79.    more generous and provide all of the above.
  80.  
  81.    This problem requires some well understood set of identifiers that
  82.    specify those operations. But an exhaustive set would both be
  83.    impossible and not very necessary. Thus, this document will list
  84.    several operations, as well as, lay out requirements for specifying
  85.    new operations.
  86.  
  87.    The purpose of this document is to define a list of such functions
  88.    and short names for them and then use them in defining the interface
  89.    to an access service. Previous versions of this document referred to
  90.    services where the arguments were specific types of URIs such as URNs
  91.    or URLs.  These services were called "N2L" and "L2L",for example.
  92.    Their use has been changed in favor of the more general URI form.
  93.  
  94.    Design Criteria
  95.  
  96.    To meet these requirements a fairly simple design criteria was used.
  97.    The need to identify the operation with some token such that its
  98.    operands, algorithm, and errors were known proved sufficient to meet
  99.    these requirements.
  100.  
  101. 2. General Specification
  102.  
  103.    To provide a framework both for the specifications in this document
  104.    and for future work to be written by others, the guidelines below are
  105.    suggested for documents that seek to specify new operations. Any
  106.    specification of a member of this set of operations should address
  107.    these issues with respect to its operands, algorithm, output, and
  108.    errors.
  109.  
  110.  
  111.  
  112.  
  113.  
  114. Mealling & Daniel             Experimental                      [Page 2]
  115.  
  116. RFC 2483                URI Resolution Services             January 1999
  117.  
  118.  
  119.    Due to the small number of listed functions, a registration mechanism
  120.    was dismissed as premature. If this list grows, a registration
  121.    mechanism will probably be needed.
  122.  
  123.    Also, due to the experimental nature of this document and the systems
  124.    that use its specifications, the use of words like MUST and SHALL are
  125.    limited. Where used they reflect a case where this specification
  126.    could cause harm to existing, non-experimental systems such as HTTP
  127.    and URNs.  Thus, the key words "MUST", "MUST NOT", "REQUIRED",
  128.    "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",
  129.    and "OPTIONAL" in this document are to be interpreted as described in
  130.    RFC 2119.
  131.  
  132. 2.1 Operands
  133.  
  134.    Operands must contain the following pieces of information:
  135.  
  136.       * name of the operation
  137.       * case insensitive mnemonic for the operation
  138.       * number of operands
  139.       * type of each operand
  140.       * format of each operand
  141.  
  142. 2.2 Algorithm
  143.  
  144.    The exact algorithm for the operation must either be specified
  145.    completely or it must be considered opaque and defined by the server
  146.    or application.
  147.  
  148. 2.3 Output
  149.  
  150.    Output must specify one of the following:
  151.  
  152.       * there is no output
  153.       * the output is undefined
  154.       * the output itself and its content
  155.       * the fact that the output is an object and the object's
  156.         type and format
  157.       * any non-protocol specific errors
  158.  
  159. 2.4 Error Conditions
  160.  
  161.    All errors that are considered applicable across all implementations
  162.    and application environments must be included. Errors that depend on
  163.    the system conveying the service are not included. Thus, many of the
  164.    expected errors such as service availability or operation syntax are
  165.    not included in this document since they are implementation
  166.    dependent.
  167.  
  168.  
  169.  
  170. Mealling & Daniel             Experimental                      [Page 3]
  171.  
  172. RFC 2483                URI Resolution Services             January 1999
  173.  
  174.  
  175. 2.5 Security Considerations
  176.  
  177.    Any security considerations relating to the service provided must be
  178.    specified. This does NOT include considerations dealing with the
  179.    protocol used to convey the service or to those that normally
  180.    accompany the results of the service. For example, a service that
  181.    returned a single URL would need to discuss the situation where
  182.    someone maliciously inserts an incorrect URL into the resolver but
  183.    NOT the case where someone sends personal information across the
  184.    Internet to the resource identified by the correct URL.
  185.  
  186. 3. Encoding The Operations
  187.  
  188.    To be useful, these operations have to be used within some system or
  189.    protocol. In many cases, these systems and protocols will place
  190.    restrictions on which operations make sense and how those that do are
  191.    syntactically represented. It is sufficient for those protocols to
  192.    define new operations within their own protocol specification
  193.    documents but care should be taken to make this fact well known.
  194.  
  195.    Also, a given system or protocol will have its own output
  196.    specifications that may restrict the output formats of a given
  197.    operation.  Additionally, a given protocol may have better solution
  198.    for output than the ones given here. For example, the result of an
  199.    operation that converts a URI to more than one URL may be encoded in
  200.    a protocol-specific manner that conveys information about the
  201.    closeness of each resource on the network.
  202.  
  203.    Thus, the requirements on encoding these operations within a given
  204.    system are as follows:
  205.  
  206.       * which subset of the operations are allowed
  207.       * how the operator is encoded
  208.       * how the operands are encoded
  209.       * how the error codes are returned
  210.  
  211.    The text/uri-list MIME Media Type is specified in Section 5. This
  212.    Media Type is merely a suggestion for experimental systems that need
  213.    a simple implementation. It is included here merely as an example to
  214.    show completeness (however simple it may be).
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226. Mealling & Daniel             Experimental                      [Page 4]
  227.  
  228. RFC 2483                URI Resolution Services             January 1999
  229.  
  230.  
  231. 4. The Incomplete Set
  232.  
  233. 4.1 I2L (URI to URL)
  234.  
  235.       * Name: URI to URL
  236.       * Mnemonic: I2L
  237.       * Number of Operands: 1
  238.       * Type of Each Operand: First operand is a URI.
  239.       * Format of Each Operand: First operand is encoded as a URI.
  240.       * Algorithm: Opaque
  241.       * Output: One and only one URL
  242.       * Errors Conditions:
  243.            o Malformed URI
  244.            o URI is syntactically valid but does not exist in any form.
  245.            o URI exists but there is no available output from this
  246.              operation.
  247.            o URI existed in the past but nothing is currently known
  248.              about it.
  249.            o Access denied
  250.  
  251.       * Security Considerations:
  252.            o Malicious Redirection
  253.              One of the fundamental dangers related to any service such
  254.              as this is that a malicious entry in a resolver's database
  255.              will cause clients to resolve the URI into the wrong URL.
  256.              The possible intent may be to cause the client to retrieve
  257.              a resource containing fraudulent or damaging material.
  258.            o Denial of Service
  259.              By removing the URL to which the URI maps, a malicious
  260.              intruder may remove the client's ability to retrieve the
  261.              resource.
  262.  
  263.    This operation is used to map a single URI to a single URL. It is
  264.    used by lightweight clients that do not have the ability to select
  265.    from a list of URLs or understand a URC. The algorithm for this
  266.    mapping is dependent on the URI scheme.
  267.  
  268. 4.2 I2Ls (URI to URLs)
  269.  
  270.       * Name: URI to URLs
  271.       * Mnemonic: I2LS
  272.       * Number of Operands: 1
  273.       * Type of Each Operand: First operand is a URI.
  274.       * Format of Each Operand: First operand is encoded as a URI.
  275.       * Algorithm: Opaque
  276.       * Output: A list of zero or more URLs
  277.       * Errors:
  278.            o Malformed URI
  279.  
  280.  
  281.  
  282. Mealling & Daniel             Experimental                      [Page 5]
  283.  
  284. RFC 2483                URI Resolution Services             January 1999
  285.  
  286.  
  287.            o URI is syntactically valid but does not exist in any form.
  288.            o URI exists but there is no available output from this
  289.              operation.
  290.            o URI existed in the past but nothing is currently known
  291.              about it.
  292.            o Access denied
  293.       * Security Considerations:
  294.            o Malicious Redirection (see I2L)
  295.            o Denial of Service (see I2L)
  296.  
  297.    This operation is used to map a single URI to 0 or more URLs. It is
  298.    used by a client that can pick from a list of URLs based on some
  299.    criteria that are important to the client. The client should not make
  300.    any assumptions about the order of the URLs returned. No matter what
  301.    the particular media type, the result should be a list of the URLs
  302.    that may be used to obtain an instance of the resource identified by
  303.    the URI. All URIs shall be encoded according to the URL [7] and URN
  304.    [3] specifications.
  305.  
  306. 4.3 I2R (URI to Resource)
  307.  
  308.       * Name: URI to Resource
  309.       * Mnemonic: I2R
  310.       * Number of Operands: 1
  311.       * Type of Each Operand: First operand is a URI.
  312.       * Format of Each Operand: First operand is encoded as a URI.
  313.       * Algorithm: Opaque
  314.       * Output: An instance of the resource named by the URI.
  315.       * Errors:
  316.            o Malformed URI
  317.            o URI is syntactically valid but does not exist in any form.
  318.            o URI exists but there is no available output from this
  319.              operation.
  320.            o URI existed in the past but nothing is currently known
  321.              about it.
  322.            o Access denied
  323.       * Security Considerations:
  324.            o Malicious Redirection (see I2L)
  325.            o Denial of Service (see I2L)
  326.  
  327.    This operation is used to return a single instance of the resource
  328.    that is named by the URI. The format of the output is dependent on
  329.    the resource itself.
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338. Mealling & Daniel             Experimental                      [Page 6]
  339.  
  340. RFC 2483                URI Resolution Services             January 1999
  341.  
  342.  
  343. 4.4 I2Rs (URI to Resources)
  344.  
  345.       * Name: URI to Resources
  346.       * Mnemonic: I2Rs
  347.       * Number of Operands: 1
  348.       * Type of Each Operand: First operand is a URI.
  349.       * Format of Each Operand: First operand is encoded as a URI.
  350.       * Algorithm: Opaque
  351.       * Output: Zero or more instances of the resource named by the URI.
  352.       * Errors:
  353.            o Malformed URI
  354.            o URI is syntactically valid but does not exist in any form.
  355.            o URI exists but there is no available output from this
  356.              operation.
  357.            o URI existed in the past but nothing is currently known
  358.              about it.
  359.            o Access denied
  360.       * Security Considerations:
  361.            o Malicious Redirection (see I2L)
  362.            o Denial of Service (see I2L)
  363.  
  364.    This operation is used to return multiple instances of a resource,
  365.    for example, GIF and JPEG versions of an image. The judgment about
  366.    the resources being "the same" resides with the naming authority that
  367.    issued the URI.
  368.  
  369.    The output shall be a MIME multipart/alternative [4] message with the
  370.    alternative versions of the resource in separate body parts. If there
  371.    is only one version of the resource identified by the URN, it MAY be
  372.    returned without the multipart/alternative wrapper.
  373.  
  374. 4.5 I2C (URI to URC)
  375.  
  376.       * Name: URI to URC * Mnemonic: I2C * Number of Operands: 1 * Type
  377.       of Each Operand: First operand is a URI.  * Format of Each
  378.       Operand: First operand is encoded as a URI.  * Algorithm: Opaque *
  379.       Output: A URC * Errors:
  380.            o Malformed URI
  381.            o URI is syntactically valid but does not exist in any form.
  382.            o URI exists but there is no available output from this
  383.              operation.
  384.            o URI existed in the past but nothing is currently known
  385.              about it.
  386.            o Access denied * Security Considerations:
  387.            o Malicious Redirection (see I2L)
  388.            o Denial of Service (see I2L)
  389.  
  390.  
  391.  
  392.  
  393.  
  394. Mealling & Daniel             Experimental                      [Page 7]
  395.  
  396. RFC 2483                URI Resolution Services             January 1999
  397.  
  398.  
  399.    Uniform Resource Characteristics are descriptions of resources. This
  400.    request allows the client to obtain a description of the resource
  401.    identified by a URI, as opposed to the resource itself or simply the
  402.    resource's URLs. The description might be a bibliographic citation, a
  403.    digital signature, or a revision history. This memo does not specify
  404.    the content of any response to a URC request. That content is
  405.    expected to vary from one server to another.
  406.  
  407. 4.6 I2CS (URI to URCs)
  408.  
  409.       * Name: URI to URCs
  410.       * Mnemonic: I2CS
  411.       * Number of Operands: 1
  412.       * Type of Each Operand: First operand is a URI.
  413.       * Format of Each Operand: First operand is encoded as a URI.
  414.       * Algorithm: Opaque
  415.       * Output: Zero or more URCs
  416.       * Errors:
  417.            o Malformed URI
  418.            o URI is syntactically valid but does not exist in any form.
  419.            o URI exists but there is no available output from this
  420.              operation.
  421.            o URI existed in the past but nothing is currently known
  422.              about it.
  423.            o Access denied
  424.       * Security Considerations:
  425.            o Malicious Redirection (see I2L)
  426.            o Denial of Service (see I2L)
  427.  
  428.    URCs can come in different formats and types. This operation returns
  429.    zero or more URCs that are appropriate for the given URI.
  430.  
  431. 4.7 I2N (URI to URN)
  432.  
  433.       * Name: URI to URN
  434.       * Mnemonic: I2N
  435.       * Number of Operands: 1
  436.       * Type of Each Operand: First operand is a URN.
  437.       * Format of Each Operand: First operand is encoded as a URI.
  438.       * Algorithm: Opaque
  439.       * Output: One and only one URN
  440.       * Errors:
  441.            o Malformed URI
  442.            o URI is syntactically valid but does not exist in any form.
  443.            o URI exists but there is no available output from this
  444.              operation.
  445.            o URI existed in the past but nothing is currently known
  446.              about it.
  447.  
  448.  
  449.  
  450. Mealling & Daniel             Experimental                      [Page 8]
  451.  
  452. RFC 2483                URI Resolution Services             January 1999
  453.  
  454.  
  455.            o Access denied
  456.       * Security Considerations:
  457.            o Malicious Redirection (see I2L)
  458.            o Denial of Service (see I2L)
  459.  
  460.    While URNs are supposed to identify one and only one resource, that
  461.    does not mean that a resource may have one and only one URN. For
  462.    example, consider a resource that one organization wishes to name
  463.    'foo'; another organization, in agreement with the first, wants to
  464.    call the resource 'bar'. Both organizations can agree that both names
  465.    'name' the same resource and that the URNs 'foo' and 'bar' are
  466.    equivalent.
  467.  
  468.    The result is a URN, known to the server, that identifies the same
  469.    resource as the input URN.
  470.  
  471.    Extreme care should be taken with this service as it toys with the
  472.    idea of equality with respect to URNs. As mentioned in several URN
  473.    documents, the idea of equality is very domain specific. For example,
  474.    a URN pointing to a weather map for a particular day and a URN
  475.    pointing to the map as it changes from day to day would NOT be
  476.    returned in this example because they point to do different
  477.    resources. Some other concept of temporary equivalence is at work.
  478.    This service instead deals with resources that have two different
  479.    names where there is a binding between the names that is agreed by
  480.    both name assigners. I.e., both namespaces MUST have agreed that the
  481.    each name can be used in place of the other and the meaning does not
  482.    change.
  483.  
  484. 4.8 I2Ns (URI to URNs)
  485.  
  486.       * Name: URI to URNs
  487.       * Mnemonic: I2NS
  488.       * Number of Operands: 1
  489.       * Type of Each Operand: First operand is a URI.
  490.       * Format of Each Operand: First operand is encoded as a URI.
  491.       * Algorithm: Opaque
  492.       * Output: A list of URNs
  493.       * Errors:
  494.            o Malformed URI
  495.            o URI is syntactically valid but does not exist in any form.
  496.            o URI exists but there is no available output from this
  497.              operation.
  498.            o URI existed in the past but nothing is currently known
  499.              about it.
  500.            o Access denied
  501.       * Security Considerations:
  502.            o Malicious Redirection (see I2L)
  503.  
  504.  
  505.  
  506. Mealling & Daniel             Experimental                      [Page 9]
  507.  
  508. RFC 2483                URI Resolution Services             January 1999
  509.  
  510.  
  511.            o Denial of Service (see I2L)
  512.  
  513.    This operation simply returns zero or more URNs following the same
  514.    criteria and cautions as the I2N operation.
  515.  
  516. 4.9 I=I (Is URI equal to URI):
  517.  
  518.       * Name: URI = URI
  519.       * Mnemonic: I=I
  520.       * Number of Operands: 2
  521.       * Type of Each Operand: Both operands are URIs.
  522.       * Format of Each Operand: Both operands are encoded as a URIs.
  523.       * Algorithm: Opaque
  524.       * Output: TRUE or FALSE
  525.       * Errors:
  526.            o Malformed URIs
  527.            o URIs are syntactically valid but do not exist in any form.
  528.            o URIs exist but there is no available output from this
  529.              operation.
  530.            o URIs existed in the past but nothing is currently known
  531.              about them.
  532.            o Access denied
  533.       * Security Considerations:
  534.            o Malicious Redirection (see I2L)
  535.            o Denial of Service (see I2L)
  536.  
  537.    This operation is used to determine whether two given URIs are
  538.    considered to be equal by the server being asked the question. The
  539.    algorithm used to determine equality is opaque. No assertions are
  540.    made about whether or not the URIs exhibits characteristics of URNs
  541.    or URLs.
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562. Mealling & Daniel             Experimental                     [Page 10]
  563.  
  564. RFC 2483                URI Resolution Services             January 1999
  565.  
  566.  
  567. 5. The text/uri-list Internet Media Type
  568.  
  569.    Several of the resolution service requests, such as I2Ls, I2Ns,
  570.    result in a list of URIs being returned to the client. The text/uri-
  571.    list Internet Media Type is defined to provide a simple format for
  572.    the automatic processing of such lists of URIs.
  573.  
  574.    This is a copy of the IANA registration of the text/uri-list Media
  575.    Type.
  576.  
  577.     Date: Fri, 18 Apr 97 08:36:07 PDT
  578.     From: Ron Daniel Jr. <rdaniel@lanl.gov>
  579.     To: iana@iana.org, rdaniel@lanl.gov
  580.     Subject: Request for MIME media type Text/IETF Tree - uri-list
  581.  
  582.     Name : Ron Daniel Jr.
  583.  
  584.     E-mail : rdaniel@lanl.gov
  585.  
  586.     MIME media type name : Text
  587.  
  588.     MIME subtype name : IETF Tree -uri-list
  589.  
  590.     Required parameters : none
  591.  
  592.     Optional parameters : charset
  593.  
  594.     Currently, URIs can be represented using US-ASCII. However, there
  595.     are many non-standard URIs which use special character sets.
  596.     Discussion of how to best achieve internationalization of URIs is
  597.     underway. This registration will be updated with a discussion of the
  598.     URI charsets once that discussion has concluded.
  599.  
  600.     Encoding considerations : Some transfer protocols, such as SMTP,
  601.     place limits on the length of lines. Very long URIs might exceed
  602.     those limits. Systems must therefore be prepared to use a suitable
  603.     content transfer encoding. This is anticipated to be a rare
  604.     occurance.
  605.  
  606.     Security considerations : Client software should be aware of the
  607.     security considerations of URIs.  For example, accessing some URIs
  608.     can result in sending a death threat to a head of state, frequently
  609.     prompting a visit from the relevant protective service.  Accessing
  610.     other URIs may result in financial obligations, or access to
  611.     resources considered inappropriate by one's employer.
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618. Mealling & Daniel             Experimental                     [Page 11]
  619.  
  620. RFC 2483                URI Resolution Services             January 1999
  621.  
  622.  
  623.     While the legitimate provider of a uri-list could exploit these
  624.     properties for good or ill, it is more likely that uri-lists will be
  625.     falsified in order to exploit such characteristics of URIs.
  626.  
  627.     Additionally, the lookup and reverse lookup potential of the uri-
  628.     list may be attractive to traffic analysts. URI lists may also
  629.     reveal confidential information, such as the location of sensitive
  630.     information.
  631.  
  632.     Because of these considerations, external confidentiality measures
  633.     should be available to protect uri-list responses when appropriate.
  634.  
  635.     Interoperability considerations : none known
  636.  
  637.     Published specification : Uniform Resource Locators (URLs) and
  638.     Uniform Resource Names (URNs) are two instances of the more general
  639.     class of identifiers known as Uniform Resource Identifiers (URIs).
  640.     URN resolution methods frequently wish to return lists of URLs for a
  641.     resource so that fault-tolerance and load balancing can be achieved.
  642.     The text/uri-list format is intended to be a very simple format for
  643.     communicating such lists of URLs (and URNs) in a form suitable for
  644.     automatic processing.
  645.  
  646.     The format of text/uri-list resources is:
  647.  
  648.     1) Any lines beginning with the '#' character are comment lines
  649.         and are ignored during processing. (Note that URIs may contain
  650.         the '#' character, so it is only a comment character when it is
  651.         the first character on a line.)
  652.  
  653.     2) The remaining non-comment lines shall be URIs (URNs or URLs),
  654.         encoded according to the URL or URN specifications (RFC2141,
  655.         RFC1738 and RFC2396). Each URI shall appear on one and only one
  656.         line. Very long URIs are not broken in the text/uri-list format.
  657.         Content-transfer-encodings may be used to enforce line length
  658.         limitations.
  659.  
  660.     3) As for all text/* formats, lines are terminated with a CRLF pair.
  661.  
  662.     In applications where one URI has been mapped to a list of URIs, the
  663.     first line of the text/uri-list response SHOULD be a comment giving
  664.     the original URI.
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674. Mealling & Daniel             Experimental                     [Page 12]
  675.  
  676. RFC 2483                URI Resolution Services             January 1999
  677.  
  678.  
  679.     An example of the format is given below:
  680.  
  681.       # urn:isbn:0-201-08372-8
  682.       http://www.huh.org/books/foo.html
  683.       http://www.huh.org/books/foo.pdf
  684.       ftp://ftp.foo.org/books/foo.txt
  685.  
  686.     Applications which use this media : URN resolvers are the initial
  687.     applications. Web clients and proxies are applications that are
  688.     likely to support this format in the future.
  689.  
  690.     Additional information :
  691.  
  692.     1. Magic number(s) : none at this time
  693.     2. File extension(s) : .uris or .uri recommended
  694.     3. Macintosh file type code : URIs recommended
  695.  
  696.     This media type is the product of the URN working group of the IETF.
  697.  
  698.     Person to contact for further information :
  699.  
  700.     1. Name : Ron Daniel Jr.
  701.     2. E-mail : rdaniel@lanl.gov
  702.  
  703.     Intended usage : Limited Use
  704.     The text/uri-list media type is intended for use in applications
  705.     which utilize URIs for replicated resources.
  706.  
  707.     Author/Change controller : Ron Daniel Jr.
  708.     Los Alamos National Laboratory
  709.     rdaniel@lanl.gov
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730. Mealling & Daniel             Experimental                     [Page 13]
  731.  
  732. RFC 2483                URI Resolution Services             January 1999
  733.  
  734.  
  735.    In applications where one URI has been mapped to a list of URIs, such
  736.    as in response to the I2Ls request, the first line of the text/uri-
  737.    list response SHOULD be a comment giving the original URI. An example
  738.    of such a result for the I2L request is shown below in Figure 1.
  739.  
  740. 6. Security Considerations
  741.  
  742.    Communications with a server may be of a sensitive nature. Some
  743.    servers will hold information that should only be released to
  744.    authorized users. The results from servers may be the target of
  745.    spoofing, especially once electronic commerce transactions are common
  746.    and there is money to be made by directing users to pirate
  747.    repositories rather than repositories that pay royalties to rights-
  748.    holders. Server requests may be of interest to traffic analysts. The
  749.    requests may also be subject to spoofing.
  750.  
  751.    The "Access denied" error message assumes a system within which the
  752.    operation is being performed that can convey an authenticated concept
  753.    of access control. Thus, the "Access denied" message should only be
  754.    returned by systems that have an appropriate method of determining
  755.    access control.
  756.  
  757. 7. References
  758.  
  759.    [1] Berners-Lee, T., "Universal Resource Identifiers in WWW: A
  760.        Unifying Syntax for the Expression of Names and Addresses of
  761.        Objects on the Network as Used in the World-Wide Web", RFC 1630,
  762.        June 1994.
  763.  
  764.    [2] Daniel, R., and Mealling, M., "Resolution of Uniform Resource
  765.        Identifiers using the Domain Name System", RFC 2168, February
  766.        1997.
  767.  
  768.    [3] Moats, R., "URN Syntax", RFC 2141, January 1997.
  769.  
  770.    [4] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
  771.        Extensions (MIME) Part One: Format of Internet Message Bodies",
  772.        RFC 2045, November 1996.
  773.  
  774.    [5] Sollins, K., "Architectural Principles of Uniform Resource Name
  775.        Resolution", RFC 2276, January 1998.
  776.  
  777.    [6] Kunze, J., "Functional Recommendations for Internet Resource
  778.        Locators", RFC 1736, February 1995.
  779.  
  780.    [7] Berners-Lee, T., Masinter, L. and M. McCahill, "Uniform Resource
  781.        Locators (URL)", RFC 1738, December 1994.
  782.  
  783.  
  784.  
  785.  
  786. Mealling & Daniel             Experimental                     [Page 14]
  787.  
  788. RFC 2483                URI Resolution Services             January 1999
  789.  
  790.  
  791. 8. Authors' Addresses
  792.  
  793.    Michael Mealling
  794.    Network Solutions
  795.    505 Huntmar Park Drive
  796.    Herndon, VA 22070
  797.  
  798.    Phone: (703) 742-0400
  799.    Fax:   (703) 742-9552
  800.    EMail: michaelm@rwhois.net
  801.  
  802.  
  803.    Ron Daniel
  804.    Advanced Computing Lab, MS B287
  805.    Los Alamos National Laboratory
  806.    Los Alamos, NM, USA, 87545
  807.  
  808.    Phone: (505) 665-0597
  809.    Fax:   (505) 665-4939
  810.    EMail: rdaniel@lanl.gov
  811.  
  812.  
  813.  
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842. Mealling & Daniel             Experimental                     [Page 15]
  843.  
  844. RFC 2483                URI Resolution Services             January 1999
  845.  
  846.  
  847. 9.  Full Copyright Statement
  848.  
  849.    Copyright (C) The Internet Society (1999).  All Rights Reserved.
  850.  
  851.    This document and translations of it may be copied and furnished to
  852.    others, and derivative works that comment on or otherwise explain it
  853.    or assist in its implementation may be prepared, copied, published
  854.    and distributed, in whole or in part, without restriction of any
  855.    kind, provided that the above copyright notice and this paragraph are
  856.    included on all such copies and derivative works.  However, this
  857.    document itself may not be modified in any way, such as by removing
  858.    the copyright notice or references to the Internet Society or other
  859.    Internet organizations, except as needed for the purpose of
  860.    developing Internet standards in which case the procedures for
  861.    copyrights defined in the Internet Standards process must be
  862.    followed, or as required to translate it into languages other than
  863.    English.
  864.  
  865.    The limited permissions granted above are perpetual and will not be
  866.    revoked by the Internet Society or its successors or assigns.
  867.  
  868.    This document and the information contained herein is provided on an
  869.    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
  870.    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
  871.    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
  872.    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
  873.    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898. Mealling & Daniel             Experimental                     [Page 16]
  899.  
  900.