* WGs marked with an * asterisk has had at least one new draft made available during the last 5 days

Changeset 695


Ignore:
Timestamp:
2009-09-16 05:09:34 (5 years ago)
Author:
julian.reschke@gmx.de
Message:

Clarify rules for determining what entities a response carries (see #110 #196)

Location:
draft-ietf-httpbis/latest
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • draft-ietf-httpbis/latest/p2-semantics.html

    r689 r695  
    399399      <meta name="DC.Creator" content="Reschke, J. F."> 
    400400      <meta name="DC.Identifier" content="urn:ietf:id:draft-ietf-httpbis-p2-semantics-latest"> 
    401       <meta name="DC.Date.Issued" scheme="ISO8601" content="2009-09-01"> 
     401      <meta name="DC.Date.Issued" scheme="ISO8601" content="2009-09-16"> 
    402402      <meta name="DC.Relation.Replaces" content="urn:ietf:rfc:2616"> 
    403403      <meta name="DC.Description.Abstract" content="The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information systems. HTTP has been in use by the World Wide Web global information initiative since 1990. This document is Part 2 of the seven-part specification that defines the protocol referred to as &#34;HTTP/1.1&#34; and, taken together, obsoletes RFC 2616. Part 2 defines the semantics of HTTP messages as expressed by request methods, request-header fields, response status codes, and response-header fields."> 
     
    436436         </tr> 
    437437         <tr> 
    438             <td class="header left">Expires: March 5, 2010</td> 
     438            <td class="header left">Expires: March 20, 2010</td> 
    439439            <td class="header right">H. Frystyk</td> 
    440440         </tr> 
     
    485485         <tr> 
    486486            <td class="header left"></td> 
    487             <td class="header right">September 1, 2009</td> 
     487            <td class="header right">September 16, 2009</td> 
    488488         </tr> 
    489489      </table> 
     
    509509      <p>The list of Internet-Draft Shadow Directories can be accessed at &lt;<a href="http://www.ietf.org/shadow.html">http://www.ietf.org/shadow.html</a>&gt;. 
    510510      </p> 
    511       <p>This Internet-Draft will expire in March 5, 2010.</p> 
     511      <p>This Internet-Draft will expire in March 20, 2010.</p> 
    512512      <h1><a id="rfc.copyrightnotice" href="#rfc.copyrightnotice">Copyright Notice</a></h1> 
    513513      <p>Copyright © 2009 IETF Trust and the persons identified as the document authors. All rights reserved.</p> 
     
    550550         </li> 
    551551         <li class="tocline0">5.&nbsp;&nbsp;&nbsp;<a href="#response.header.fields">Response Header Fields</a></li> 
    552          <li class="tocline0">6.&nbsp;&nbsp;&nbsp;<a href="#entity">Entity</a></li> 
     552         <li class="tocline0">6.&nbsp;&nbsp;&nbsp;<a href="#entity">Entity</a><ul class="toc"> 
     553               <li class="tocline1">6.1&nbsp;&nbsp;&nbsp;<a href="#identifying.response.associated.with.representation">Identifying the Resource Associated with a Representation</a></li> 
     554            </ul> 
     555         </li> 
    553556         <li class="tocline0">7.&nbsp;&nbsp;&nbsp;<a href="#method.definitions">Method Definitions</a><ul class="toc"> 
    554557               <li class="tocline1">7.1&nbsp;&nbsp;&nbsp;<a href="#safe.and.idempotent">Safe and Idempotent Methods</a><ul class="toc"> 
     
    898901         safe and proper transfer of the message. 
    899902      </p> 
     903      <h2 id="rfc.section.6.1"><a href="#rfc.section.6.1">6.1</a>&nbsp;<a id="identifying.response.associated.with.representation" href="#identifying.response.associated.with.representation">Identifying the Resource Associated with a Representation</a></h2> 
     904      <p id="rfc.section.6.1.p.1">It is sometimes necessary to determine the identity of the resource associated with a representation.</p> 
     905      <p id="rfc.section.6.1.p.2">An HTTP request representation, when present, is always associated with an anonymous (i.e., unidentified) resource.</p> 
     906      <p id="rfc.section.6.1.p.3">In the common case, an HTTP response is a representation of the resource located at the request-URI. However, this is not 
     907         always the case. To determine the URI of the resource a response is associated with, the following rules are used (first match 
     908         winning): 
     909      </p> 
     910      <ol> 
     911         <li>If the response status code is 200 or 203 and the request method was GET, the response is a representation of the resource 
     912            at the request-URI. 
     913         </li> 
     914         <li>If the response status is 204, 206, or 304 and the request method was GET or HEAD, the response is a partial representation 
     915            of the resource at the request-URI (see <a href="p6-cache.html#combining.headers" title="Combining Responses">Section 2.7</a> of <a href="#Part6" id="rfc.xref.Part6.5"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>). 
     916         </li> 
     917         <li>If the response has a Content-Location header, and that URI is the same as the request-URI <span class="comment" id="rfc.comment.1">[<a href="#rfc.comment.1" class="smpl">rfc.comment.1</a>: (see [ref])]</span>, the response is a representation of the resource at the request-URI. 
     918         </li> 
     919         <li>If the response has a Content-Location header, and that URI is not the same as the request-URI, the response asserts that 
     920            it is a representation of the resource at the Content-Location URI (but it may not be). 
     921         </li> 
     922         <li>Otherwise, the response is a representation of an anonymous (i.e., unidentified) resource.</li> 
     923      </ol> 
     924      <p id="rfc.section.6.1.p.5"> <span class="comment" id="TODO-req-uri">[<a href="#TODO-req-uri" class="smpl">TODO-req-uri</a>: Note that 'request-URI' is used here; however, we need to come up with a term to denote "the URI that can be inferred from 
     925            examining the request-target and the Host header." (see &lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/196">http://tools.ietf.org/wg/httpbis/trac/ticket/196</a>&gt;). Also, the comparison function is going to have to be defined somewhere, because we already need to compare URIs for things 
     926            like cache invalidation.]</span>  
     927      </p> 
    900928      <h1 id="rfc.section.7"><a href="#rfc.section.7">7.</a>&nbsp;<a id="method.definitions" href="#method.definitions">Method Definitions</a></h1> 
    901929      <p id="rfc.section.7.p.1">The set of common methods for HTTP/1.1 is defined below. Although this set can be expanded, additional methods cannot be assumed 
     
    968996         without transferring data already held by the client. 
    969997      </p> 
    970       <p id="rfc.section.7.3.p.4">The response to a GET request is cacheable if and only if it meets the requirements for HTTP caching described in <a href="#Part6" id="rfc.xref.Part6.5"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>. 
     998      <p id="rfc.section.7.3.p.4">The response to a GET request is cacheable if and only if it meets the requirements for HTTP caching described in <a href="#Part6" id="rfc.xref.Part6.6"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>. 
    971999      </p> 
    9721000      <p id="rfc.section.7.3.p.5">See <a href="#encoding.sensitive.information.in.uris" title="Encoding Sensitive Information in URIs">Section&nbsp;11.2</a> for security considerations when used for forms. 
     
    25112539         </li> 
    25122540         <li> &lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/33">http://tools.ietf.org/wg/httpbis/trac/ticket/33</a>&gt;: "TRACE security considerations" 
     2541         </li> 
     2542         <li> &lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/110">http://tools.ietf.org/wg/httpbis/trac/ticket/110</a>&gt;: "Clarify rules for determining what entities a response carries" 
    25132543         </li> 
    25142544         <li> &lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/140">http://tools.ietf.org/wg/httpbis/trac/ticket/140</a>&gt;: "update note citing RFC 1945 and 2068" 
     
    27282758                     </ul> 
    27292759                  </li> 
    2730                   <li class="indline1"><em>Part6</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.Part6.1">1.2.2</a>, <a class="iref" href="#rfc.xref.Part6.2">1.2.2</a>, <a class="iref" href="#rfc.xref.Part6.3">5</a>, <a class="iref" href="#rfc.xref.Part6.4">5</a>, <a class="iref" href="#rfc.xref.Part6.5">7.3</a>, <a class="iref" href="#Part6"><b>13.1</b></a><ul class="ind"> 
     2760                  <li class="indline1"><em>Part6</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.Part6.1">1.2.2</a>, <a class="iref" href="#rfc.xref.Part6.2">1.2.2</a>, <a class="iref" href="#rfc.xref.Part6.3">5</a>, <a class="iref" href="#rfc.xref.Part6.4">5</a>, <a class="iref" href="#rfc.xref.Part6.5">6.1</a>, <a class="iref" href="#rfc.xref.Part6.6">7.3</a>, <a class="iref" href="#Part6"><b>13.1</b></a><ul class="ind"> 
     2761                        <li class="indline1"><em>Section 2.7</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.Part6.5">6.1</a></li> 
    27312762                        <li class="indline1"><em>Section 3.1</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.Part6.1">1.2.2</a>, <a class="iref" href="#rfc.xref.Part6.3">5</a></li> 
    27322763                        <li class="indline1"><em>Section 3.5</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.Part6.2">1.2.2</a>, <a class="iref" href="#rfc.xref.Part6.4">5</a></li> 
  • draft-ietf-httpbis/latest/p2-semantics.xml

    r689 r695  
    2222  <!ENTITY caching                    "<xref target='Part6' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 
    2323  <!ENTITY auth                       "<xref target='Part7' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 
     24  <!ENTITY caching-combining-headers  "<xref target='Part6' x:rel='#combining.headers' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 
    2425  <!ENTITY content-negotiation        "<xref target='Part3' x:rel='#content.negotiation' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 
    2526  <!ENTITY notation-abnf              "<xref target='Part1' x:rel='#notation.abnf' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 
     
    651652   have been applied to ensure safe and proper transfer of the message. 
    652653</t> 
     654 
     655<section title="Identifying the Resource Associated with a Representation" anchor="identifying.response.associated.with.representation"> 
     656<t> 
     657   It is sometimes necessary to determine the identity of the resource 
     658   associated with a representation. 
     659</t> 
     660<t> 
     661   An HTTP request representation, when present, is always associated with an 
     662   anonymous (i.e., unidentified) resource. 
     663</t> 
     664<t> 
     665   In the common case, an HTTP response is a representation of the resource 
     666   located at the request-URI. However, this is not always the case. To 
     667   determine the URI of the resource a response is associated with, the 
     668   following rules are used (first match winning): 
     669</t> 
     670<t><list style="numbers"> 
     671   <t>If the response status code is 200 or 203 and the request method was GET, 
     672   the response is a representation of the resource at the request-URI.</t> 
     673   <t>If the response status is 204, 206, or 304 and the request method was GET 
     674   or HEAD, the response is a partial representation of the resource at the 
     675   request-URI (see &caching-combining-headers;).</t> 
     676   <t>If the response has a Content-Location header, and that URI is the same 
     677   as the request-URI <cref>(see [ref])</cref>, the response is a representation of the 
     678   resource at the request-URI.</t> 
     679   <t>If the response has a Content-Location header, and that URI is not the 
     680   same as the request-URI, the response asserts that it is a representation of 
     681   the resource at the Content-Location URI (but it may not be).</t> 
     682   <t>Otherwise, the response is a representation of an anonymous (i.e., 
     683   unidentified) resource.</t> 
     684</list></t> 
     685<t> 
     686  <cref anchor="TODO-req-uri"> 
     687   Note that 'request-URI' is used here; however, we need to come up with a 
     688   term to denote "the URI that can be inferred from examining the 
     689   request-target and the Host header." (see <eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/196" />). 
     690   Also, the comparison function is going to have to be defined somewhere, 
     691   because we already need to compare URIs for things like cache invalidation.</cref> 
     692</t> 
     693</section> 
     694 
    653695</section> 
    654696 
     
    36313673    </t> 
    36323674    <t> 
     3675      <eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/110"/>: 
     3676      "Clarify rules for determining what entities a response carries" 
     3677    </t> 
     3678    <t> 
    36333679      <eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/140"/>: 
    36343680      "update note citing RFC 1945 and 2068" 
Note: See TracChangeset for help on using the changeset viewer.