Changeset 245 for draft-ietf-httpbis
- Timestamp:
- 15/05/08 11:38:23 (14 years ago)
- Location:
- draft-ietf-httpbis/latest
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p4-conditional.html
r244 r245 444 444 <tr> 445 445 <td class="header left"></td> 446 <td class="header right">May 1 , 2008</td>446 <td class="header right">May 15, 2008</td> 447 447 </tr> 448 448 </table> … … 634 634 is usable for a sub-range retrieval, since otherwise the client might end up with an internally inconsistent entity. 635 635 </p> 636 <p id="rfc.section.5.p.6">Clients <em class="bcp14">M AY</em> issue simple (non-subrange) GET requests with either weak validators or strong validators. Clients <em class="bcp14">MUST NOT</em> use weak validators in other forms of request.636 <p id="rfc.section.5.p.6">Clients <em class="bcp14">MUST NOT</em> use weak validators in range requests (<a href="#Part5" id="rfc.xref.Part5.2"><cite title="HTTP/1.1, part 5: Range Requests and Partial Responses">[Part5]</cite></a>). 637 637 </p> 638 638 <p id="rfc.section.5.p.7">The only function that HTTP/1.1 defines on validators is comparison. There are two validator comparison functions, depending … … 678 678 it <em class="bcp14">MAY</em> do this only if the Last-Modified time is strong in the sense described here. 679 679 </p> 680 <p id="rfc.section.5.p.14">A cache or origin server receiving a conditional r equest, other than a full-body GET request,<em class="bcp14">MUST</em> use the strong comparison function to evaluate the condition.680 <p id="rfc.section.5.p.14">A cache or origin server receiving a conditional range request (<a href="#Part5" id="rfc.xref.Part5.3"><cite title="HTTP/1.1, part 5: Range Requests and Partial Responses">[Part5]</cite></a>) <em class="bcp14">MUST</em> use the strong comparison function to evaluate the condition. 681 681 </p> 682 682 <p id="rfc.section.5.p.15">These rules allow HTTP/1.1 caches and clients to safely perform sub-range retrievals on values that have been obtained from … … 750 750 <h2 id="rfc.section.7.1"><a href="#rfc.section.7.1">7.1</a> <a id="header.etag" href="#header.etag">ETag</a></h2> 751 751 <p id="rfc.section.7.1.p.1">The ETag response-header field provides the current value of the entity tag for the requested variant. The headers used with 752 entity tags are described in Sections <a href="#header.if-match" id="rfc.xref.header.if-match.2" title="If-Match">7.2</a> and <a href="#header.if-none-match" id="rfc.xref.header.if-none-match.2" title="If-None-Match">7.4</a> of this document, and in <a href="p5-range.html#header.if-range" title="If-Range">Section 6.3</a> of <a href="#Part5" id="rfc.xref.Part5. 2"><cite title="HTTP/1.1, part 5: Range Requests and Partial Responses">[Part5]</cite></a>. The entity tag <em class="bcp14">MAY</em> be used for comparison with other entities from the same resource (see <a href="#weak.and.strong.validators" title="Weak and Strong Validators">Section 5</a>).752 entity tags are described in Sections <a href="#header.if-match" id="rfc.xref.header.if-match.2" title="If-Match">7.2</a> and <a href="#header.if-none-match" id="rfc.xref.header.if-none-match.2" title="If-None-Match">7.4</a> of this document, and in <a href="p5-range.html#header.if-range" title="If-Range">Section 6.3</a> of <a href="#Part5" id="rfc.xref.Part5.4"><cite title="HTTP/1.1, part 5: Range Requests and Partial Responses">[Part5]</cite></a>. The entity tag <em class="bcp14">MAY</em> be used for comparison with other entities from the same resource (see <a href="#weak.and.strong.validators" title="Weak and Strong Validators">Section 5</a>). 753 753 </p> 754 754 <div id="rfc.figure.u.4"></div><pre class="inline"><span id="rfc.iref.g.4"></span> <a href="#header.etag" class="smpl">ETag</a> = "ETag" ":" <a href="#entity.tags" class="smpl">entity-tag</a> … … 825 825 <p id="rfc.section.7.3.p.6">The purpose of this feature is to allow efficient updates of cached information with a minimum amount of transaction overhead. </p> 826 826 <dl class="empty"> 827 <dd> <b>Note:</b> The Range request-header field modifies the meaning of If-Modified-Since; see <a href="p5-range.html#header.range" title="Range">Section 6.4</a> of <a href="#Part5" id="rfc.xref.Part5. 3"><cite title="HTTP/1.1, part 5: Range Requests and Partial Responses">[Part5]</cite></a> for full details.827 <dd> <b>Note:</b> The Range request-header field modifies the meaning of If-Modified-Since; see <a href="p5-range.html#header.range" title="Range">Section 6.4</a> of <a href="#Part5" id="rfc.xref.Part5.5"><cite title="HTTP/1.1, part 5: Range Requests and Partial Responses">[Part5]</cite></a> for full details. 828 828 </dd> 829 829 <dd> <b>Note:</b> If-Modified-Since times are interpreted by the server, whose clock might not be synchronized with the client. … … 863 863 that matched. For all other request methods, the server <em class="bcp14">MUST</em> respond with a status of 412 (Precondition Failed). 864 864 </p> 865 <p id="rfc.section.7.4.p.5">See <a href="#weak.and.strong.validators" title="Weak and Strong Validators">Section 5</a> for rules on how to determine if two entit ies tags match. The weak comparison function can only be used with GET or HEAD requests.865 <p id="rfc.section.7.4.p.5">See <a href="#weak.and.strong.validators" title="Weak and Strong Validators">Section 5</a> for rules on how to determine if two entity tags match. 866 866 </p> 867 867 <p id="rfc.section.7.4.p.6">If none of the entity tags match, then the server <em class="bcp14">MAY</em> perform the requested method as if the If-None-Match header field did not exist, but <em class="bcp14">MUST</em> also ignore any If-Modified-Since header field(s) in the request. That is, if no entity tags match, then the server <em class="bcp14">MUST NOT</em> return a 304 (Not Modified) response. … … 990 990 <h1 id="rfc.section.A"><a href="#rfc.section.A">A.</a> <a id="compatibility" href="#compatibility">Compatibility with Previous Versions</a></h1> 991 991 <h2 id="rfc.section.A.1"><a href="#rfc.section.A.1">A.1</a> <a id="changes.from.rfc.2616" href="#changes.from.rfc.2616">Changes from RFC 2616</a></h2> 992 <p id="rfc.section.A.1.p.1">Allow weak entity tags in all requests except range requests (Sections <a href="#weak.and.strong.validators" title="Weak and Strong Validators">5</a> and <a href="#header.if-none-match" id="rfc.xref.header.if-none-match.3" title="If-None-Match">7.4</a>). 993 </p> 992 994 <h1 id="rfc.section.B"><a href="#rfc.section.B">B.</a> Change Log (to be removed by RFC Editor before publication) 993 995 </h1> … … 1016 1018 <h2 id="rfc.section.B.4"><a href="#rfc.section.B.4">B.4</a> Since draft-ietf-httpbis-p4-conditional-02 1017 1019 </h2> 1020 <p id="rfc.section.B.4.p.1">Closed issues: </p> 1021 <ul> 1022 <li> <<a href="http://www3.tools.ietf.org/wg/httpbis/trac/ticket/116">http://www3.tools.ietf.org/wg/httpbis/trac/ticket/116</a>>: "Weak ETags on non-GET requests" 1023 </li> 1024 </ul> 1018 1025 <h1><a id="rfc.copyright" href="#rfc.copyright">Full Copyright Statement</a></h1> 1019 1026 <p>This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the … … 1079 1086 <li class="indline1">If-Match <a class="iref" href="#rfc.xref.header.if-match.1">3</a>, <a class="iref" href="#rfc.xref.header.if-match.2">7.1</a>, <a class="iref" href="#rfc.iref.h.2"><b>7.2</b></a></li> 1080 1087 <li class="indline1">If-Modified-Since <a class="iref" href="#rfc.iref.h.3"><b>7.3</b></a></li> 1081 <li class="indline1">If-None-Match <a class="iref" href="#rfc.xref.header.if-none-match.1">3</a>, <a class="iref" href="#rfc.xref.header.if-none-match.2">7.1</a>, <a class="iref" href="#rfc.iref.h.4"><b>7.4</b></a> </li>1088 <li class="indline1">If-None-Match <a class="iref" href="#rfc.xref.header.if-none-match.1">3</a>, <a class="iref" href="#rfc.xref.header.if-none-match.2">7.1</a>, <a class="iref" href="#rfc.iref.h.4"><b>7.4</b></a>, <a class="iref" href="#rfc.xref.header.if-none-match.3">A.1</a></li> 1082 1089 <li class="indline1">If-Unmodified-Since <a class="iref" href="#rfc.iref.h.5"><b>7.5</b></a></li> 1083 1090 <li class="indline1">Last-Modified <a class="iref" href="#rfc.iref.h.6"><b>7.6</b></a></li> … … 1089 1096 <li class="indline1">If-Match header <a class="iref" href="#rfc.xref.header.if-match.1">3</a>, <a class="iref" href="#rfc.xref.header.if-match.2">7.1</a>, <a class="iref" href="#rfc.iref.i.1"><b>7.2</b></a></li> 1090 1097 <li class="indline1">If-Modified-Since header <a class="iref" href="#rfc.iref.i.2"><b>7.3</b></a></li> 1091 <li class="indline1">If-None-Match header <a class="iref" href="#rfc.xref.header.if-none-match.1">3</a>, <a class="iref" href="#rfc.xref.header.if-none-match.2">7.1</a>, <a class="iref" href="#rfc.iref.i.3"><b>7.4</b></a> </li>1098 <li class="indline1">If-None-Match header <a class="iref" href="#rfc.xref.header.if-none-match.1">3</a>, <a class="iref" href="#rfc.xref.header.if-none-match.2">7.1</a>, <a class="iref" href="#rfc.iref.i.3"><b>7.4</b></a>, <a class="iref" href="#rfc.xref.header.if-none-match.3">A.1</a></li> 1092 1099 <li class="indline1">If-Unmodified-Since header <a class="iref" href="#rfc.iref.i.4"><b>7.5</b></a></li> 1093 1100 </ul> … … 1105 1112 </ul> 1106 1113 </li> 1107 <li class="indline1"><em>Part5</em> <a class="iref" href="#rfc.xref.Part5.1">3</a>, <a class="iref" href="#rfc.xref.Part5.2"> 7.1</a>, <a class="iref" href="#rfc.xref.Part5.3">7.3</a>, <a class="iref" href="#Part5"><b>11.1</b></a><ul class="ind">1108 <li class="indline1"><em>Section 6.3</em> <a class="iref" href="#rfc.xref.Part5.1">3</a>, <a class="iref" href="#rfc.xref.Part5. 2">7.1</a></li>1109 <li class="indline1"><em>Section 6.4</em> <a class="iref" href="#rfc.xref.Part5. 3">7.3</a></li>1114 <li class="indline1"><em>Part5</em> <a class="iref" href="#rfc.xref.Part5.1">3</a>, <a class="iref" href="#rfc.xref.Part5.2">5</a>, <a class="iref" href="#rfc.xref.Part5.3">5</a>, <a class="iref" href="#rfc.xref.Part5.4">7.1</a>, <a class="iref" href="#rfc.xref.Part5.5">7.3</a>, <a class="iref" href="#Part5"><b>11.1</b></a><ul class="ind"> 1115 <li class="indline1"><em>Section 6.3</em> <a class="iref" href="#rfc.xref.Part5.1">3</a>, <a class="iref" href="#rfc.xref.Part5.4">7.1</a></li> 1116 <li class="indline1"><em>Section 6.4</em> <a class="iref" href="#rfc.xref.Part5.5">7.3</a></li> 1110 1117 </ul> 1111 1118 </li> -
draft-ietf-httpbis/latest/p4-conditional.xml
r244 r245 425 425 </t> 426 426 <t> 427 Clients &MAY; issue simple (non-subrange) GET requests with either weak 428 validators or strong validators. Clients &MUST-NOT; use weak validators 429 in other forms of request. 427 Clients &MUST-NOT; use weak validators in range requests (<xref target="Part5"/>). 430 428 </t> 431 429 <t> … … 501 499 </t> 502 500 <t> 503 A cache or origin server receiving a conditional r equest, other than504 a full-body GET request,&MUST; use the strong comparison function to501 A cache or origin server receiving a conditional range request 502 (<xref target="Part5"/>) &MUST; use the strong comparison function to 505 503 evaluate the condition. 506 504 </t> … … 852 850 </t> 853 851 <t> 854 See <xref target="weak.and.strong.validators"/> for rules on how to determine if two entities tags 855 match. The weak comparison function can only be used with GET or HEAD 856 requests. 852 See <xref target="weak.and.strong.validators"/> for rules on how to 853 determine if two entity tags match. 857 854 </t> 858 855 <t> … … 1228 1225 1229 1226 <section title="Changes from RFC 2616" anchor="changes.from.rfc.2616"> 1227 <t> 1228 Allow weak entity tags in all requests except range requests (Sections 1229 <xref target="weak.and.strong.validators" format="counter"/> and 1230 <xref target="header.if-none-match" format="counter"/>). 1231 </t> 1230 1232 </section> 1231 1233 … … 1273 1275 <section title="Since draft-ietf-httpbis-p4-conditional-02"> 1274 1276 <t> 1277 Closed issues: 1278 <list style="symbols"> 1279 <t> 1280 <eref target="http://www3.tools.ietf.org/wg/httpbis/trac/ticket/116"/>: 1281 "Weak ETags on non-GET requests" 1282 </t> 1283 </list> 1275 1284 </t> 1276 1285 </section>
Note: See TracChangeset
for help on using the changeset viewer.