Ignore:
Timestamp:
Jan 19, 2013, 1:52:42 PM (7 years ago)
Author:
fielding@…
Message:

Just noticed that p5 requires If-Range be ignored if other preconditions win, so move it to end of precedence

File:
1 edited

Legend:

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

    r2131 r2133  
    10191019         selected representation's <a href="#header.last-modified" class="smpl">Last-Modified</a> field will not be able to help the user agent limit its data transfers to only those changed during the specified window.
    10201020      </p>
    1021       <p id="rfc.section.3.3.p.9">The <a href="p5-range.html#range.retrieval.requests" class="smpl">Range</a> header field modifies the interpretation of If-Modified-Since, as defined in <a href="p5-range.html#header.range" title="Range">Section 5.4</a> of <a href="#Part5" id="rfc.xref.Part5.1"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[Part5]</cite></a>.
    1022       </p>
    1023       <div class="note" id="rfc.section.3.3.p.10">
     1021      <div class="note" id="rfc.section.3.3.p.9">
    10241022         <p> <b>Note:</b> If a client uses an arbitrary date in the If-Modified-Since header field instead of a date taken from a <a href="#header.last-modified" class="smpl">Last-Modified</a> or <a href="p2-semantics.html#header.date" class="smpl">Date</a> header field from the origin server, the client ought to be aware that its date will be interpreted according to the server's
    10251023            understanding of time.
     
    10371035      </p>
    10381036      <h2 id="rfc.section.3.5"><a href="#rfc.section.3.5">3.5</a>&nbsp;<a id="header.if-range" href="#header.if-range">If-Range</a></h2>
    1039       <p id="rfc.section.3.5.p.1">The "If-Range" header field provides a special conditional request mechanism that is similar to <a href="#header.if-match" class="smpl">If-Match</a> and <a href="#header.if-unmodified-since" class="smpl">If-Unmodified-Since</a> but specific to HTTP range requests. If-Range is defined in <a href="p5-range.html#header.if-range" title="If-Range">Section 5.3</a> of <a href="#Part5" id="rfc.xref.Part5.2"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[Part5]</cite></a>.
     1037      <p id="rfc.section.3.5.p.1">The "If-Range" header field provides a special conditional request mechanism that is similar to <a href="#header.if-match" class="smpl">If-Match</a> and <a href="#header.if-unmodified-since" class="smpl">If-Unmodified-Since</a> but specific to range requests. If-Range is defined in <a href="p5-range.html#header.if-range" title="If-Range">Section 5.3</a> of <a href="#Part5" id="rfc.xref.Part5.1"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[Part5]</cite></a>.
    10401038      </p>
    10411039      <h1 id="rfc.section.4"><a href="#rfc.section.4">4.</a>&nbsp;<a id="status.code.definitions" href="#status.code.definitions">Status Code Definitions</a></h1>
     
    10901088            </ul>
    10911089         </li>
    1092          <li>When the method is GET and both <a href="p5-range.html#range.retrieval.requests" class="smpl">Range</a> and <a href="p5-range.html#header.if-range" class="smpl">If-Range</a> are present, evaluate it:
    1093             <ul>
    1094                <li>if the validator matches, respond 206 (Partial Content)</li>
    1095                <li>if the validator does not match, respond <a href="p2-semantics.html#status.200" class="smpl">200 (OK)</a></li>
    1096             </ul>
    1097          </li>
    10981090         <li>When <a href="#header.if-none-match" class="smpl">If-None-Match</a> is present, evaluate it:
    10991091            <ul>
    1100                <li>if true, all conditions are met</li>
     1092               <li>if true, continue to step 5</li>
    11011093               <li>if false for GET/HEAD, respond <a href="#status.304" class="smpl">304 (Not Modified)</a></li>
    11021094               <li>if false for other methods, respond <a href="#status.412" class="smpl">412 (Precondition Failed)</a></li>
     
    11051097         <li>When the method is GET or HEAD, <a href="#header.if-none-match" class="smpl">If-None-Match</a> is not present, and <a href="#header.if-modified-since" class="smpl">If-Modified-Since</a> is present, evaluate it:
    11061098            <ul>
    1107                <li>if true, all conditions are met</li>
     1099               <li>if true, continue to step 5</li>
    11081100               <li>if false, respond <a href="#status.304" class="smpl">304 (Not Modified)</a></li>
     1101            </ul>
     1102         </li>
     1103         <li>When the method is GET and both <a href="p5-range.html#range.retrieval.requests" class="smpl">Range</a> and <a href="p5-range.html#header.if-range" class="smpl">If-Range</a> are present, evaluate If-Range:
     1104            <ul>
     1105               <li>if the validator matches and the Range specification is applicable to the selected representation, respond <a href="p5-range.html#status.206" class="smpl">206 (Partial Content)</a>  <a href="#Part5" id="rfc.xref.Part5.2"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[Part5]</cite></a></li>
     1106            </ul>
     1107         </li>
     1108         <li>Otherwise,
     1109            <ul>
     1110               <li>respond <a href="p2-semantics.html#status.200" class="smpl">200 (OK)</a></li>
    11091111            </ul>
    11101112         </li>
     
    14421444                     </ul>
    14431445                  </li>
    1444                   <li><em>Part5</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.1">3.3</a>, <a href="#rfc.xref.Part5.2">3.5</a>, <a href="#Part5"><b>9.1</b></a><ul>
    1445                         <li><em>Section 5.3</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.2">3.5</a></li>
    1446                         <li><em>Section 5.4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.1">3.3</a></li>
     1446                  <li><em>Part5</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.1">3.5</a>, <a href="#rfc.xref.Part5.2">5</a>, <a href="#Part5"><b>9.1</b></a><ul>
     1447                        <li><em>Section 5.3</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.1">3.5</a></li>
    14471448                     </ul>
    14481449                  </li>
Note: See TracChangeset for help on using the changeset viewer.