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

Changeset 800


Ignore:
Timestamp:
2010-04-01 06:37:58 (4 years ago)
Author:
julian.reschke@gmx.de
Message:

Add an example for an ETag varying based on the Accept-Encoding (related to #39)

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

Legend:

Unmodified
Added
Removed
  • draft-ietf-httpbis/latest/p4-conditional.html

    r799 r800  
    536536            </ul> 
    537537         </li> 
    538          <li class="tocline0">2.&nbsp;&nbsp;&nbsp;<a href="#entity.tags">Entity Tags</a></li> 
     538         <li class="tocline0">2.&nbsp;&nbsp;&nbsp;<a href="#entity.tags">Entity Tags</a><ul class="toc"> 
     539               <li class="tocline1">2.1&nbsp;&nbsp;&nbsp;<a href="#example.entity.tag.vs.conneg">Example: Entity Tags varying on Content-Negotiated Resources</a></li> 
     540            </ul> 
     541         </li> 
    539542         <li class="tocline0">3.&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3">Status Code Definitions</a><ul class="toc"> 
    540543               <li class="tocline1">3.1&nbsp;&nbsp;&nbsp;<a href="#status.304">304 Not Modified</a></li> 
     
    637640         obtained by requests on different URIs does not imply the equivalence of those entities. 
    638641      </p> 
     642      <h2 id="rfc.section.2.1"><a href="#rfc.section.2.1">2.1</a>&nbsp;<a id="example.entity.tag.vs.conneg" href="#example.entity.tag.vs.conneg">Example: Entity Tags varying on Content-Negotiated Resources</a></h2> 
     643      <p id="rfc.section.2.1.p.1">Consider a resource that is subject to content negotiation (<a href="p3-payload.html#content.negotiation" title="Content Negotiation">Section 4</a> of <a href="#Part3" id="rfc.xref.Part3.1"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>), and where the representations returned upon a GET request vary based on the Accept-Encoding request header field (<a href="p3-payload.html#header.accept-encoding" title="Accept-Encoding">Section 5.3</a> of <a href="#Part3" id="rfc.xref.Part3.2"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>): 
     644      </p> 
     645      <div id="rfc.figure.u.4"></div> 
     646      <p>&gt;&gt; Request:</p><pre class="text2">GET /index HTTP/1.1 
     647Host: www.example.com 
     648Accept-Encoding: gzip 
     649 
     650</pre><p id="rfc.section.2.1.p.3">In this case, the response may use the gzip Content Coding or not. If it does, it might look like that:</p> 
     651      <div id="rfc.figure.u.5"></div> 
     652      <p>&gt;&gt; Response:</p><pre class="text">HTTP/1.1 200 OK 
     653Date: Thu, 26 Mar 2010 00:05:00 GMT 
     654ETag: "123-a" 
     655Content-Length: 70 
     656Vary: Accept-Encoding 
     657Content-Type: text/plain 
     658 
     659<span id="exbody">Hello World! 
     660Hello World! 
     661Hello World! 
     662Hello World! 
     663Hello World! 
     664</span></pre><p id="rfc.section.2.1.p.5">A variant that does use gzip Content Coding would be:</p> 
     665      <div id="rfc.figure.u.6"></div> 
     666      <p>&gt;&gt; Response:</p><pre class="text">HTTP/1.1 200 OK 
     667Date: Thu, 26 Mar 2010 00:05:00 GMT 
     668ETag: "123-b" 
     669Content-Length: 43 
     670Vary: Accept-Encoding 
     671Content-Type: text/plain 
     672Content-Encoding: gzip 
     673 
     674<em>...binary data...</em></pre><div class="note" id="rfc.section.2.1.p.7">  
     675         <p> <b>Note:</b> Content Codings are a property of the response entity, thus affect the Entity Tag. An alternative are Transfer Codings (<a href="p1-messaging.html#transfer.codings" title="Transfer Codings">Section 6.2</a> of <a href="#Part1" id="rfc.xref.Part1.6"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>) which apply only to the transfer of the message, and thus do not require assigning distinct entity tags. 
     676         </p>  
     677      </div> 
    639678      <h1 id="rfc.section.3"><a href="#rfc.section.3">3.</a>&nbsp;Status Code Definitions 
    640679      </h1> 
     
    648687      <ul> 
    649688         <li> 
    650             <p>Date, unless its omission is required by <a href="p1-messaging.html#clockless.origin.server.operation" title="Clockless Origin Server Operation">Section 9.3.1</a> of <a href="#Part1" id="rfc.xref.Part1.6"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. 
     689            <p>Date, unless its omission is required by <a href="p1-messaging.html#clockless.origin.server.operation" title="Clockless Origin Server Operation">Section 9.3.1</a> of <a href="#Part1" id="rfc.xref.Part1.7"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. 
    651690            </p> 
    652691            <p>If a clockless origin server obeys these rules, and proxies and clients add their own Date to any response received without 
    653                one (as already specified by <a href="p1-messaging.html#header.date" title="Date">Section 9.3</a> of <a href="#Part1" id="rfc.xref.Part1.7"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, caches will operate correctly. 
     692               one (as already specified by <a href="p1-messaging.html#header.date" title="Date">Section 9.3</a> of <a href="#Part1" id="rfc.xref.Part1.8"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, caches will operate correctly. 
    654693            </p> 
    655694         </li> 
     
    868907      <p id="rfc.section.6.1.p.1">The "ETag" response-header field provides the current value of the entity tag (see <a href="#entity.tags" title="Entity Tags">Section&nbsp;2</a>) for the requested variant, which may be used for comparison with other entities from the same resource (see <a href="#weak.and.strong.validators" title="Weak and Strong Validators">Section&nbsp;4</a>). 
    869908      </p> 
    870       <div id="rfc.figure.u.4"></div><pre class="inline"><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span>  <a href="#header.etag" class="smpl">ETag</a>   = "ETag" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.etag" class="smpl">ETag-v</a> 
     909      <div id="rfc.figure.u.7"></div><pre class="inline"><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span>  <a href="#header.etag" class="smpl">ETag</a>   = "ETag" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.etag" class="smpl">ETag-v</a> 
    871910  <a href="#header.etag" class="smpl">ETag-v</a> = <a href="#entity.tags" class="smpl">entity-tag</a> 
    872 </pre><div id="rfc.figure.u.5"></div> 
     911</pre><div id="rfc.figure.u.8"></div> 
    873912      <p>Examples:</p>  <pre class="text">  ETag: "xyzzy" 
    874913  ETag: W/"xyzzy" 
     
    895934         any current entity of the resource. 
    896935      </p> 
    897       <div id="rfc.figure.u.6"></div><pre class="inline"><span id="rfc.iref.g.6"></span><span id="rfc.iref.g.7"></span>  <a href="#header.if-match" class="smpl">If-Match</a>   = "If-Match" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.if-match" class="smpl">If-Match-v</a> 
     936      <div id="rfc.figure.u.9"></div><pre class="inline"><span id="rfc.iref.g.6"></span><span id="rfc.iref.g.7"></span>  <a href="#header.if-match" class="smpl">If-Match</a>   = "If-Match" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.if-match" class="smpl">If-Match-v</a> 
    898937  <a href="#header.if-match" class="smpl">If-Match-v</a> = "*" / 1#<a href="#entity.tags" class="smpl">entity-tag</a> 
    899938</pre><p id="rfc.section.6.2.p.4">If any of the entity tags match the entity tag of the entity that would have been returned in the response to a similar GET 
     
    913952         their knowledge. Examples: 
    914953      </p> 
    915       <div id="rfc.figure.u.7"></div><pre class="text">  If-Match: "xyzzy" 
     954      <div id="rfc.figure.u.10"></div><pre class="text">  If-Match: "xyzzy" 
    916955  If-Match: "xyzzy", "r2d2xxxx", "c3piozzzz" 
    917956  If-Match: * 
     
    926965         response will be returned. 
    927966      </p> 
    928       <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g.8"></span><span id="rfc.iref.g.9"></span>  <a href="#header.if-modified-since" class="smpl">If-Modified-Since</a>   = "If-Modified-Since" ":" <a href="#core.rules" class="smpl">OWS</a> 
     967      <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.8"></span><span id="rfc.iref.g.9"></span>  <a href="#header.if-modified-since" class="smpl">If-Modified-Since</a>   = "If-Modified-Since" ":" <a href="#core.rules" class="smpl">OWS</a> 
    929968                        <a href="#header.if-modified-since" class="smpl">If-Modified-Since-v</a> 
    930969  <a href="#header.if-modified-since" class="smpl">If-Modified-Since-v</a> = <a href="#abnf.dependencies" class="smpl">HTTP-date</a> 
    931970</pre><p id="rfc.section.6.3.p.3">An example of the field is:</p> 
    932       <div id="rfc.figure.u.9"></div><pre class="text">  If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT 
     971      <div id="rfc.figure.u.12"></div><pre class="text">  If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT 
    933972</pre><p id="rfc.section.6.3.p.5">A GET method with an If-Modified-Since header and no Range header requests that the identified entity be transferred only 
    934973         if it has been modified since the date given by the If-Modified-Since header. The algorithm for determining this includes 
     
    9781017      </p> 
    9791018      <p id="rfc.section.6.4.p.3">As a special case, the value "*" matches any current entity of the resource.</p> 
    980       <div id="rfc.figure.u.10"></div><pre class="inline"><span id="rfc.iref.g.10"></span><span id="rfc.iref.g.11"></span>  <a href="#header.if-none-match" class="smpl">If-None-Match</a>   = "If-None-Match" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.if-none-match" class="smpl">If-None-Match-v</a> 
     1019      <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.10"></span><span id="rfc.iref.g.11"></span>  <a href="#header.if-none-match" class="smpl">If-None-Match</a>   = "If-None-Match" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.if-none-match" class="smpl">If-None-Match-v</a> 
    9811020  <a href="#header.if-none-match" class="smpl">If-None-Match-v</a> = "*" / 1#<a href="#entity.tags" class="smpl">entity-tag</a> 
    9821021</pre><p id="rfc.section.6.4.p.5">If any of the entity tags match the entity tag of the entity that would have been returned in the response to a similar GET 
     
    9941033      </p> 
    9951034      <p id="rfc.section.6.4.p.9">Examples:</p> 
    996       <div id="rfc.figure.u.11"></div><pre class="text">  If-None-Match: "xyzzy" 
     1035      <div id="rfc.figure.u.14"></div><pre class="text">  If-None-Match: "xyzzy" 
    9971036  If-None-Match: W/"xyzzy" 
    9981037  If-None-Match: "xyzzy", "r2d2xxxx", "c3piozzzz" 
     
    10101049      <p id="rfc.section.6.5.p.2">If the requested variant has been modified since the specified time, the server <em class="bcp14">MUST NOT</em> perform the requested operation, and <em class="bcp14">MUST</em> return a 412 (Precondition Failed). 
    10111050      </p> 
    1012       <div id="rfc.figure.u.12"></div><pre class="inline"><span id="rfc.iref.g.12"></span><span id="rfc.iref.g.13"></span>  <a href="#header.if-unmodified-since" class="smpl">If-Unmodified-Since</a>   = "If-Unmodified-Since" ":" <a href="#core.rules" class="smpl">OWS</a> 
     1051      <div id="rfc.figure.u.15"></div><pre class="inline"><span id="rfc.iref.g.12"></span><span id="rfc.iref.g.13"></span>  <a href="#header.if-unmodified-since" class="smpl">If-Unmodified-Since</a>   = "If-Unmodified-Since" ":" <a href="#core.rules" class="smpl">OWS</a> 
    10131052                          <a href="#header.if-unmodified-since" class="smpl">If-Unmodified-Since-v</a> 
    10141053  <a href="#header.if-unmodified-since" class="smpl">If-Unmodified-Since-v</a> = <a href="#abnf.dependencies" class="smpl">HTTP-date</a> 
    10151054</pre><p id="rfc.section.6.5.p.4">An example of the field is:</p> 
    1016       <div id="rfc.figure.u.13"></div><pre class="text">  If-Unmodified-Since: Sat, 29 Oct 1994 19:43:31 GMT 
     1055      <div id="rfc.figure.u.16"></div><pre class="text">  If-Unmodified-Since: Sat, 29 Oct 1994 19:43:31 GMT 
    10171056</pre><p id="rfc.section.6.5.p.6">If the request normally (i.e., without the If-Unmodified-Since header) would result in anything other than a 2xx or 412 status, 
    10181057         the If-Unmodified-Since header <em class="bcp14">SHOULD</em> be ignored. 
     
    10281067         modified. 
    10291068      </p> 
    1030       <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span>  <a href="#header.last-modified" class="smpl">Last-Modified</a>   = "Last-Modified" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.last-modified" class="smpl">Last-Modified-v</a> 
     1069      <div id="rfc.figure.u.17"></div><pre class="inline"><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span>  <a href="#header.last-modified" class="smpl">Last-Modified</a>   = "Last-Modified" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.last-modified" class="smpl">Last-Modified-v</a> 
    10311070  <a href="#header.last-modified" class="smpl">Last-Modified-v</a> = <a href="#abnf.dependencies" class="smpl">HTTP-date</a> 
    10321071</pre><p id="rfc.section.6.6.p.3">An example of its use is</p> 
    1033       <div id="rfc.figure.u.15"></div><pre class="text">  Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT 
     1072      <div id="rfc.figure.u.18"></div><pre class="text">  Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT 
    10341073</pre><p id="rfc.section.6.6.p.5">The exact meaning of this header field depends on the implementation of the origin server and the nature of the original resource. 
    10351074         For files, it may be just the file system last-modified time. For entities with dynamically included parts, it may be the 
     
    11411180      <p id="rfc.section.7.2.p.2">The change controller is: "IETF (iesg@ietf.org) - Internet Engineering Task Force".</p> 
    11421181      <h1 id="rfc.section.8"><a href="#rfc.section.8">8.</a>&nbsp;<a id="security.considerations" href="#security.considerations">Security Considerations</a></h1> 
    1143       <p id="rfc.section.8.p.1">No additional security considerations have been identified beyond those applicable to HTTP in general <a href="#Part1" id="rfc.xref.Part1.8"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. 
     1182      <p id="rfc.section.8.p.1">No additional security considerations have been identified beyond those applicable to HTTP in general <a href="#Part1" id="rfc.xref.Part1.9"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. 
    11441183      </p> 
    11451184      <h1 id="rfc.section.9"><a href="#rfc.section.9">9.</a>&nbsp;<a id="ack" href="#ack">Acknowledgments</a></h1> 
     
    11481187      <h2 id="rfc.references.1"><a href="#rfc.section.10.1" id="rfc.section.10.1">10.1</a> Normative References 
    11491188      </h2> 
    1150       <table>           
     1189      <table>             
    11511190         <tr> 
    11521191            <td class="reference"><b id="Part1">[Part1]</b></td> 
    11531192            <td class="top"><a href="mailto:fielding@gbiv.com" title="Day Software">Fielding, R., Ed.</a>, <a href="mailto:jg@laptop.org" title="One Laptop per Child">Gettys, J.</a>, <a href="mailto:JeffMogul@acm.org" title="Hewlett-Packard Company">Mogul, J.</a>, <a href="mailto:henrikn@microsoft.com" title="Microsoft Corporation">Frystyk, H.</a>, <a href="mailto:LMM@acm.org" title="Adobe Systems, Incorporated">Masinter, L.</a>, <a href="mailto:paulle@microsoft.com" title="Microsoft Corporation">Leach, P.</a>, <a href="mailto:timbl@w3.org" title="World Wide Web Consortium">Berners-Lee, T.</a>, <a href="mailto:ylafon@w3.org" title="World Wide Web Consortium">Lafon, Y., Ed.</a>, and <a href="mailto:julian.reschke@greenbytes.de" title="greenbytes GmbH">J. F. Reschke, Ed.</a>, “<a href="http://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging-latest">HTTP/1.1, part 1: URIs, Connections, and Message Parsing</a>”, Internet-Draft&nbsp;draft-ietf-httpbis-p1-messaging-latest (work in progress), April&nbsp;2010. 
     1193            </td> 
     1194         </tr> 
     1195         <tr> 
     1196            <td class="reference"><b id="Part3">[Part3]</b></td> 
     1197            <td class="top"><a href="mailto:fielding@gbiv.com" title="Day Software">Fielding, R., Ed.</a>, <a href="mailto:jg@laptop.org" title="One Laptop per Child">Gettys, J.</a>, <a href="mailto:JeffMogul@acm.org" title="Hewlett-Packard Company">Mogul, J.</a>, <a href="mailto:henrikn@microsoft.com" title="Microsoft Corporation">Frystyk, H.</a>, <a href="mailto:LMM@acm.org" title="Adobe Systems, Incorporated">Masinter, L.</a>, <a href="mailto:paulle@microsoft.com" title="Microsoft Corporation">Leach, P.</a>, <a href="mailto:timbl@w3.org" title="World Wide Web Consortium">Berners-Lee, T.</a>, <a href="mailto:ylafon@w3.org" title="World Wide Web Consortium">Lafon, Y., Ed.</a>, and <a href="mailto:julian.reschke@greenbytes.de" title="greenbytes GmbH">J. F. Reschke, Ed.</a>, “<a href="http://tools.ietf.org/html/draft-ietf-httpbis-p3-payload-latest">HTTP/1.1, part 3: Message Payload and Content Negotiation</a>”, Internet-Draft&nbsp;draft-ietf-httpbis-p3-payload-latest (work in progress), April&nbsp;2010. 
    11541198            </td> 
    11551199         </tr> 
     
    12121256      </p> 
    12131257      <h1 id="rfc.section.B"><a href="#rfc.section.B">B.</a>&nbsp;<a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1> 
    1214       <div id="rfc.figure.u.16"></div> <pre class="inline"><a href="#header.etag" class="smpl">ETag</a> = "ETag:" OWS ETag-v 
     1258      <div id="rfc.figure.u.19"></div> <pre class="inline"><a href="#header.etag" class="smpl">ETag</a> = "ETag:" OWS ETag-v 
    12151259<a href="#header.etag" class="smpl">ETag-v</a> = entity-tag 
    12161260 
     
    12411285 
    12421286<a href="#entity.tags" class="smpl">weak</a> = %x57.2F ; W/ 
    1243 </pre> <div id="rfc.figure.u.17"></div> 
     1287</pre> <div id="rfc.figure.u.20"></div> 
    12441288      <p>ABNF diagnostics:</p><pre class="inline">; ETag defined but not used 
    12451289; If-Match defined but not used 
     
    13881432            </li> 
    13891433            <li class="indline0"><a id="rfc.index.P" href="#rfc.index.P"><b>P</b></a><ul class="ind"> 
    1390                   <li class="indline1"><em>Part1</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.Part1.1">1.2</a>, <a class="iref" href="#rfc.xref.Part1.2">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.3">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.4">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.5">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.6">3.1</a>, <a class="iref" href="#rfc.xref.Part1.7">3.1</a>, <a class="iref" href="#rfc.xref.Part1.8">8</a>, <a class="iref" href="#Part1"><b>10.1</b></a><ul class="ind"> 
     1434                  <li class="indline1"><em>Part1</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.Part1.1">1.2</a>, <a class="iref" href="#rfc.xref.Part1.2">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.3">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.4">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.5">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.6">2.1</a>, <a class="iref" href="#rfc.xref.Part1.7">3.1</a>, <a class="iref" href="#rfc.xref.Part1.8">3.1</a>, <a class="iref" href="#rfc.xref.Part1.9">8</a>, <a class="iref" href="#Part1"><b>10.1</b></a><ul class="ind"> 
    13911435                        <li class="indline1"><em>Section 1.2</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.Part1.1">1.2</a></li> 
    13921436                        <li class="indline1"><em>Section 1.2.2</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.Part1.2">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.3">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.4">1.2.1</a></li> 
    13931437                        <li class="indline1"><em>Section 6.1</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.Part1.5">1.2.2</a></li> 
    1394                         <li class="indline1"><em>Section 9.3.1</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.Part1.6">3.1</a></li> 
    1395                         <li class="indline1"><em>Section 9.3</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.Part1.7">3.1</a></li> 
     1438                        <li class="indline1"><em>Section 6.2</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.Part1.6">2.1</a></li> 
     1439                        <li class="indline1"><em>Section 9.3.1</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.Part1.7">3.1</a></li> 
     1440                        <li class="indline1"><em>Section 9.3</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.Part1.8">3.1</a></li> 
     1441                     </ul> 
     1442                  </li> 
     1443                  <li class="indline1"><em>Part3</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.Part3.1">2.1</a>, <a class="iref" href="#rfc.xref.Part3.2">2.1</a>, <a class="iref" href="#Part3"><b>10.1</b></a><ul class="ind"> 
     1444                        <li class="indline1"><em>Section 4</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.Part3.1">2.1</a></li> 
     1445                        <li class="indline1"><em>Section 5.3</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.Part3.2">2.1</a></li> 
    13961446                     </ul> 
    13971447                  </li> 
  • draft-ietf-httpbis/latest/p4-conditional.xml

    r799 r800  
    2121  <!ENTITY messaging                  "<xref target='Part1' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 
    2222  <!ENTITY caching                    "<xref target='Part6' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 
     23  <!ENTITY header-accept-encoding     "<xref target='Part3' x:rel='#header.accept-encoding' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 
    2324  <!ENTITY header-if-range            "<xref target='Part5' x:rel='#header.if-range' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 
    2425  <!ENTITY header-range               "<xref target='Part5' x:rel='#header.range' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 
     
    2627  <!ENTITY clockless                  "<xref target='Part1' x:rel='#clockless.origin.server.operation' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 
    2728  <!ENTITY full-date                  "<xref target='Part1' x:rel='#date.time.formats.full.date' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 
     29  <!ENTITY transfer-codings           "<xref target='Part1' x:rel='#transfer.codings' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 
     30  <!ENTITY content-negotiation        "<xref target='Part3' x:rel='#content.negotiation' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 
    2831]> 
    2932<?rfc toc="yes" ?> 
     
    340343   entities. 
    341344</t> 
     345 
     346<section title="Example: Entity Tags varying on Content-Negotiated Resources" anchor="example.entity.tag.vs.conneg"> 
     347<t> 
     348   Consider a resource that is subject to content negotiation (&content-negotiation;), 
     349   and where the representations returned upon a GET request vary based on 
     350   the Accept-Encoding request header field (&header-accept-encoding;): 
     351</t> 
     352<figure><preamble>>> Request:</preamble><artwork type="message/http; msgtype=&#34;request&#34;"  x:indent-with="  "> 
     353GET /index HTTP/1.1 
     354Host: www.example.com 
     355Accept-Encoding: gzip 
     356 
     357</artwork></figure> 
     358<t> 
     359   In this case, the response may use the gzip Content Coding or not. 
     360   If it does, it might look like that: 
     361</t> 
     362<figure><preamble>>> Response:</preamble><artwork type="message/http; msgtype=&#34;response&#34;"  x:indent-with="  "> 
     363HTTP/1.1 200 OK 
     364Date: Thu, 26 Mar 2010 00:05:00 GMT 
     365ETag: "123-a" 
     366Content-Length: <x:length-of target="exbody"/> 
     367Vary: Accept-Encoding 
     368Content-Type: text/plain 
     369 
     370<x:span anchor="exbody">Hello World! 
     371Hello World! 
     372Hello World! 
     373Hello World! 
     374Hello World! 
     375</x:span></artwork></figure> 
     376<t> 
     377   A variant that does use gzip Content Coding would be: 
     378</t> 
     379<figure><preamble>>> Response:</preamble><artwork type="message/http; msgtype=&#34;response&#34;"  x:indent-with="  "> 
     380HTTP/1.1 200 OK 
     381Date: Thu, 26 Mar 2010 00:05:00 GMT 
     382ETag: "123-b" 
     383Content-Length: 43 
     384Vary: Accept-Encoding 
     385Content-Type: text/plain 
     386Content-Encoding: gzip 
     387 
     388<spanx>...binary data...</spanx></artwork></figure> 
     389<x:note> 
     390  <t> 
     391    <x:h>Note:</x:h> Content Codings are a property of the response 
     392    entity, thus affect the Entity Tag. An alternative are Transfer 
     393    Codings (&transfer-codings;) which apply only to the transfer of 
     394    the message, and thus do not require assigning distinct entity tags. 
     395  </t> 
     396</x:note> 
     397</section> 
    342398</section> 
    343399 
     
    12001256</reference> 
    12011257 
     1258<reference anchor="Part3"> 
     1259  <front> 
     1260    <title abbrev="HTTP/1.1">HTTP/1.1, part 3: Message Payload and Content Negotiation</title> 
     1261    <author initials="R." surname="Fielding" fullname="Roy T. Fielding" role="editor"> 
     1262      <organization abbrev="Day Software">Day Software</organization> 
     1263      <address><email>fielding@gbiv.com</email></address> 
     1264    </author> 
     1265    <author initials="J." surname="Gettys" fullname="Jim Gettys"> 
     1266      <organization>One Laptop per Child</organization> 
     1267      <address><email>jg@laptop.org</email></address> 
     1268    </author> 
     1269    <author initials="J." surname="Mogul" fullname="Jeffrey C. Mogul"> 
     1270      <organization abbrev="HP">Hewlett-Packard Company</organization> 
     1271      <address><email>JeffMogul@acm.org</email></address> 
     1272    </author> 
     1273    <author initials="H." surname="Frystyk" fullname="Henrik Frystyk Nielsen"> 
     1274      <organization abbrev="Microsoft">Microsoft Corporation</organization> 
     1275      <address><email>henrikn@microsoft.com</email></address> 
     1276    </author> 
     1277    <author initials="L." surname="Masinter" fullname="Larry Masinter"> 
     1278      <organization abbrev="Adobe Systems">Adobe Systems, Incorporated</organization> 
     1279      <address><email>LMM@acm.org</email></address> 
     1280    </author> 
     1281    <author initials="P." surname="Leach" fullname="Paul J. Leach"> 
     1282      <organization abbrev="Microsoft">Microsoft Corporation</organization> 
     1283      <address><email>paulle@microsoft.com</email></address> 
     1284    </author> 
     1285    <author initials="T." surname="Berners-Lee" fullname="Tim Berners-Lee"> 
     1286      <organization abbrev="W3C/MIT">World Wide Web Consortium</organization> 
     1287      <address><email>timbl@w3.org</email></address> 
     1288    </author> 
     1289    <author initials="Y." surname="Lafon" fullname="Yves Lafon" role="editor"> 
     1290      <organization abbrev="W3C">World Wide Web Consortium</organization> 
     1291      <address><email>ylafon@w3.org</email></address> 
     1292    </author> 
     1293    <author initials="J. F." surname="Reschke" fullname="Julian F. Reschke" role="editor"> 
     1294      <organization abbrev="greenbytes">greenbytes GmbH</organization> 
     1295      <address><email>julian.reschke@greenbytes.de</email></address> 
     1296    </author> 
     1297    <date month="&ID-MONTH;" year="&ID-YEAR;"/> 
     1298  </front> 
     1299  <seriesInfo name="Internet-Draft" value="draft-ietf-httpbis-p3-payload-&ID-VERSION;"/> 
     1300  <x:source href="p3-payload.xml" basename="p3-payload"/> 
     1301</reference> 
     1302 
    12021303<reference anchor="Part5"> 
    12031304  <front> 
Note: See TracChangeset for help on using the changeset viewer.