Ignore:
Timestamp:
Jul 30, 2009, 4:30:31 AM (10 years ago)
Author:
fielding@…
Message:

editorial: move remaining terminology to part 3 for later edit.
update HTML

File:
1 edited

Legend:

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

    r653 r660  
    467467         <tr>
    468468            <td class="header left"></td>
    469             <td class="header right">July 29, 2009</td>
     469            <td class="header right">July 30, 2009</td>
    470470         </tr>
    471471      </table>
     
    877877         then the server <em class="bcp14">MAY</em> perform the requested method as if the If-Match header field did not exist.
    878878      </p>
    879       <p id="rfc.section.6.2.p.4">A server <em class="bcp14">MUST</em> use the strong comparison function (see <a href="#weak.and.strong.validators" title="Weak and Strong Validators">Section&nbsp;4</a>) to compare the entity tags in If-Match.
    880       </p>
    881       <p id="rfc.section.6.2.p.5">If none of the entity tags match, or if "*" is given and no current entity exists, the server <em class="bcp14">MUST NOT</em> perform the requested method, and <em class="bcp14">MUST</em> return a 412 (Precondition Failed) response. This behavior is most useful when the client wants to prevent an updating method,
     879      <p id="rfc.section.6.2.p.4">If none of the entity tags match, or if "*" is given and no current entity exists, the server <em class="bcp14">MUST NOT</em> perform the requested method, and <em class="bcp14">MUST</em> return a 412 (Precondition Failed) response. This behavior is most useful when the client wants to prevent an updating method,
    882880         such as PUT, from modifying a resource that has changed since the client last retrieved it.
    883881      </p>
    884       <p id="rfc.section.6.2.p.6">If the request would, without the If-Match header field, result in anything other than a 2xx or 412 status, then the If-Match
     882      <p id="rfc.section.6.2.p.5">If the request would, without the If-Match header field, result in anything other than a 2xx or 412 status, then the If-Match
    885883         header <em class="bcp14">MUST</em> be ignored.
    886884      </p>
    887       <p id="rfc.section.6.2.p.7">The meaning of "If-Match: *" is that the method <em class="bcp14">SHOULD</em> be performed if the representation selected by the origin server (or by a cache, possibly using the Vary mechanism, see <a href="p6-cache.html#header.vary" title="Vary">Section 3.5</a> of <a href="#Part6" id="rfc.xref.Part6.2"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>) exists, and <em class="bcp14">MUST NOT</em> be performed if the representation does not exist.
    888       </p>
    889       <p id="rfc.section.6.2.p.8">A request intended to update a resource (e.g., a PUT) <em class="bcp14">MAY</em> include an If-Match header field to signal that the request method <em class="bcp14">MUST NOT</em> be applied if the entity corresponding to the If-Match value (a single entity tag) is no longer a representation of that resource.
     885      <p id="rfc.section.6.2.p.6">The meaning of "If-Match: *" is that the method <em class="bcp14">SHOULD</em> be performed if the representation selected by the origin server (or by a cache, possibly using the Vary mechanism, see <a href="p6-cache.html#header.vary" title="Vary">Section 3.5</a> of <a href="#Part6" id="rfc.xref.Part6.2"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>) exists, and <em class="bcp14">MUST NOT</em> be performed if the representation does not exist.
     886      </p>
     887      <p id="rfc.section.6.2.p.7">A request intended to update a resource (e.g., a PUT) <em class="bcp14">MAY</em> include an If-Match header field to signal that the request method <em class="bcp14">MUST NOT</em> be applied if the entity corresponding to the If-Match value (a single entity tag) is no longer a representation of that resource.
    890888         This allows the user to indicate that they do not wish the request to be successful if the resource has been changed without
    891889         their knowledge. Examples:
     
    894892  If-Match: "xyzzy", "r2d2xxxx", "c3piozzzz"
    895893  If-Match: *
    896 </pre><p id="rfc.section.6.2.p.10">The result of a request having both an If-Match header field and either an If-None-Match or an If-Modified-Since header fields
     894</pre><p id="rfc.section.6.2.p.9">The result of a request having both an If-Match header field and either an If-None-Match or an If-Modified-Since header fields
    897895         is undefined by this specification.
    898896      </p>
     
    962960         that matched. For all other request methods, the server <em class="bcp14">MUST</em> respond with a status of 412 (Precondition Failed).
    963961      </p>
    964       <p id="rfc.section.6.4.p.5">See <a href="#weak.and.strong.validators" title="Weak and Strong Validators">Section&nbsp;4</a> for rules on how to determine if two entity tags match.
    965       </p>
    966       <p id="rfc.section.6.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.
    967       </p>
    968       <p id="rfc.section.6.4.p.7">If the request would, without the If-None-Match header field, result in anything other than a 2xx or 304 status, then the
     962      <p id="rfc.section.6.4.p.5">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.
     963      </p>
     964      <p id="rfc.section.6.4.p.6">If the request would, without the If-None-Match header field, result in anything other than a 2xx or 304 status, then the
    969965         If-None-Match header <em class="bcp14">MUST</em> be ignored. (See <a href="#rules.for.when.to.use.entity.tags.and.last-modified.dates" title="Rules for When to Use Entity Tags and Last-Modified Dates">Section&nbsp;5</a> for a discussion of server behavior when both If-Modified-Since and If-None-Match appear in the same request.)
    970966      </p>
    971       <p id="rfc.section.6.4.p.8">The meaning of "If-None-Match: *" is that the method <em class="bcp14">MUST NOT</em> be performed if the representation selected by the origin server (or by a cache, possibly using the Vary mechanism, see <a href="p6-cache.html#header.vary" title="Vary">Section 3.5</a> of <a href="#Part6" id="rfc.xref.Part6.3"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>) exists, and <em class="bcp14">SHOULD</em> be performed if the representation does not exist. This feature is intended to be useful in preventing races between PUT operations.
    972       </p>
    973       <p id="rfc.section.6.4.p.9">Examples:</p>
     967      <p id="rfc.section.6.4.p.7">The meaning of "If-None-Match: *" is that the method <em class="bcp14">MUST NOT</em> be performed if the representation selected by the origin server (or by a cache, possibly using the Vary mechanism, see <a href="p6-cache.html#header.vary" title="Vary">Section 3.5</a> of <a href="#Part6" id="rfc.xref.Part6.3"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>) exists, and <em class="bcp14">SHOULD</em> be performed if the representation does not exist. This feature is intended to be useful in preventing races between PUT operations.
     968      </p>
     969      <p id="rfc.section.6.4.p.8">Examples:</p>
    974970      <div id="rfc.figure.u.11"></div><pre class="text">  If-None-Match: "xyzzy"
    975971  If-None-Match: W/"xyzzy"
     
    977973  If-None-Match: W/"xyzzy", W/"r2d2xxxx", W/"c3piozzzz"
    978974  If-None-Match: *
    979 </pre><p id="rfc.section.6.4.p.11">The result of a request having both an If-None-Match header field and either an If-Match or an If-Unmodified-Since header
     975</pre><p id="rfc.section.6.4.p.10">The result of a request having both an If-None-Match header field and either an If-Match or an If-Unmodified-Since header
    980976         fields is undefined by this specification.
    981977      </p>
     
    12601256      </ul>
    12611257      <h2 id="rfc.section.C.9"><a href="#rfc.section.C.9">C.9</a>&nbsp;<a id="changes.since.07" href="#changes.since.07">Since draft-ietf-httpbis-p4-conditional-07</a></h2>
    1262       <p id="rfc.section.C.9.p.1">None.</p>
     1258      <p id="rfc.section.C.9.p.1">Closed issues: </p>
     1259      <ul>
     1260         <li> &lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/116">http://tools.ietf.org/wg/httpbis/trac/ticket/116</a>&gt;: "Weak ETags on non-GET requests" (If-Match still was defined to require strong matching)
     1261         </li>
     1262      </ul>
    12631263      <h1 id="rfc.index"><a href="#rfc.index">Index</a></h1>
    12641264      <p class="noprint"><a href="#rfc.index.3">3</a> <a href="#rfc.index.4">4</a> <a href="#rfc.index.E">E</a> <a href="#rfc.index.G">G</a> <a href="#rfc.index.H">H</a> <a href="#rfc.index.I">I</a> <a href="#rfc.index.L">L</a> <a href="#rfc.index.P">P</a> <a href="#rfc.index.R">R</a> <a href="#rfc.index.S">S</a>
Note: See TracChangeset for help on using the changeset viewer.