Changeset 2161


Ignore:
Timestamp:
Jan 25, 2013, 3:25:21 AM (7 years ago)
Author:
fielding@…
Message:

Refer to conditional requests as being applicable to most methods,
with details added to p4 for when conditionals are not applicable.
Addresses #96

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

Legend:

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

    r2156 r2161  
    449449  }
    450450  @bottom-center {
    451        content: "Expires July 28, 2013";
     451       content: "Expires July 29, 2013";
    452452  }
    453453  @bottom-right {
     
    494494      <meta name="dct.creator" content="Reschke, J. F.">
    495495      <meta name="dct.identifier" content="urn:ietf:id:draft-ietf-httpbis-p2-semantics-latest">
    496       <meta name="dct.issued" scheme="ISO8601" content="2013-01-24">
     496      <meta name="dct.issued" scheme="ISO8601" content="2013-01-25">
    497497      <meta name="dct.replaces" content="urn:ietf:rfc:2616">
    498498      <meta name="dct.abstract" content="The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypertext information systems. This document defines the semantics of HTTP/1.1 messages, as expressed by request methods, request header fields, response status codes, and response header fields, along with the payload of messages (metadata and body content) and mechanisms for content negotiation.">
     
    522522            <tr>
    523523               <td class="left">Intended status: Standards Track</td>
    524                <td class="right">January 24, 2013</td>
     524               <td class="right">January 25, 2013</td>
    525525            </tr>
    526526            <tr>
    527                <td class="left">Expires: July 28, 2013</td>
     527               <td class="left">Expires: July 29, 2013</td>
    528528               <td class="right"></td>
    529529            </tr>
     
    553553         in progress”.
    554554      </p>
    555       <p>This Internet-Draft will expire on July 28, 2013.</p>
     555      <p>This Internet-Draft will expire on July 29, 2013.</p>
    556556      <h1><a id="rfc.copyrightnotice" href="#rfc.copyrightnotice">Copyright Notice</a></h1>
    557557      <p>Copyright © 2013 IETF Trust and the persons identified as the document authors. All rights reserved.</p>
     
    948948      <h4 id="rfc.section.3.1.1.5"><a href="#rfc.section.3.1.1.5">3.1.1.5</a>&nbsp;<a id="header.content-type" href="#header.content-type">Content-Type</a></h4>
    949949      <p id="rfc.section.3.1.1.5.p.1">The "Content-Type" header field indicates the media type of the associated representation: either the representation enclosed
    950          in the message payload or the selected representation, as determined by the message semantics. The indicated media type defines
    951          both the data format and how that data is intended to be processed by a recipient, within the scope of the received message
    952          semantics, after any content codings indicated by <a href="#header.content-encoding" class="smpl">Content-Encoding</a> are decoded.
     950         in the message payload or the <a href="#representations" class="smpl">selected representation</a>, as determined by the message semantics. The indicated media type defines both the data format and how that data is intended
     951         to be processed by a recipient, within the scope of the received message semantics, after any content codings indicated by <a href="#header.content-encoding" class="smpl">Content-Encoding</a> are decoded.
    953952      </p>
    954953      <div id="rfc.figure.u.5"></div><pre class="inline"><span id="rfc.iref.g.8"></span>  <a href="#header.content-type" class="smpl">Content-Type</a> = <a href="#media.type" class="smpl">media-type</a>
     
    11051104      <ul>
    11061105         <li>For a response to a GET or HEAD request, this is an indication that the effective request URI refers to a resource that is
    1107             subject to content negotiation and the Content-Location field-value is a more specific identifier for the selected representation.
     1106            subject to content negotiation and the Content-Location field-value is a more specific identifier for the <a href="#representations" class="smpl">selected representation</a>.
    11081107         </li>
    11091108         <li>For a <a href="#status.201" class="smpl">201 (Created)</a> response to a state-changing method, a Content-Location field-value that is identical to the <a href="#header.location" class="smpl">Location</a> field-value indicates that this payload is a current representation of the newly created resource.
     
    13251324         the origin server <em class="bcp14">SHOULD</em> respond with the <a href="#status.405" class="smpl">405 (Method Not Allowed)</a> status code.
    13261325      </p>
     1326      <p id="rfc.section.4.1.p.9">A client can send conditional request header fields (<a href="#request.conditionals" title="Conditionals">Section&nbsp;5.2</a>) to make the requested action conditional on the current state of the target resource (<a href="#Part4" id="rfc.xref.Part4.2"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a>).
     1327      </p>
    13271328      <h2 id="rfc.section.4.2"><a href="#rfc.section.4.2">4.2</a>&nbsp;<a id="method.properties" href="#method.properties">Common Method Properties</a></h2>
    13281329      <div id="rfc.iref.s.2"></div>
     
    13791380      <h3 id="rfc.section.4.3.1"><a href="#rfc.section.4.3.1">4.3.1</a>&nbsp;<a id="GET" href="#GET">GET</a></h3>
    13801381      <div id="rfc.iref.g.16"></div>
    1381       <p id="rfc.section.4.3.1.p.1">The GET method requests transfer of a current representation of the <a href="#resources" class="smpl">target resource</a>. GET is the primary mechanism of information retrieval and the focus of almost all performance optimizations. Hence, when
     1382      <p id="rfc.section.4.3.1.p.1">The GET method requests transfer of the selected representation for the <a href="#resources" class="smpl">target resource</a>. GET is the primary mechanism of information retrieval and the focus of almost all performance optimizations. Hence, when
    13821383         people speak of retrieving some identifiable information via HTTP, they are generally referring to making a GET request.
    13831384      </p>
     
    13851386         of the process, unless that text happens to be the output of the process.
    13861387      </p>
    1387       <p id="rfc.section.4.3.1.p.3">The semantics of the GET method change to a "conditional GET" if the request message includes an <a href="p4-conditional.html#header.if-modified-since" class="smpl">If-Modified-Since</a>, <a href="p4-conditional.html#header.if-unmodified-since" class="smpl">If-Unmodified-Since</a>, <a href="p4-conditional.html#header.if-match" class="smpl">If-Match</a>, <a href="p4-conditional.html#header.if-none-match" class="smpl">If-None-Match</a>, or <a href="p5-range.html#header.if-range" class="smpl">If-Range</a> header field (<a href="#Part4" id="rfc.xref.Part4.2"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a>). A conditional GET requests that the representation be transferred only under the circumstances described by the conditional
    1388          header field(s). The conditional GET request is intended to reduce unnecessary network usage by allowing cached representations
    1389          to be refreshed without requiring multiple requests or transferring data already held by the client.
    1390       </p>
    1391       <p id="rfc.section.4.3.1.p.4">The semantics of the GET method change to a "partial GET" if the request message includes a <a href="p5-range.html#header.range" class="smpl">Range</a> header field (<a href="#Part5" id="rfc.xref.Part5.3"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[Part5]</cite></a>). A partial GET requests that only part of the representation be transferred, as described in <a href="p5-range.html#header.range" title="Range">Section 3.1</a> of <a href="#Part5" id="rfc.xref.Part5.4"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[Part5]</cite></a>. The partial GET request is intended to reduce unnecessary network usage by allowing partially-retrieved representations
    1392          to be completed without transferring data already held by the client.
    1393       </p>
    1394       <p id="rfc.section.4.3.1.p.5">A payload within a GET request message has no defined semantics; sending a payload body on a GET request might cause some
     1388      <p id="rfc.section.4.3.1.p.3">A client can alter the semantics of GET to be a "range request", requesting transfer of only some part(s) of the selected
     1389         representation, by sending a <a href="p5-range.html#header.range" class="smpl">Range</a> header field in the request (<a href="#Part5" id="rfc.xref.Part5.3"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[Part5]</cite></a>).
     1390      </p>
     1391      <p id="rfc.section.4.3.1.p.4">A payload within a GET request message has no defined semantics; sending a payload body on a GET request might cause some
    13951392         existing implementations to reject the request.
    13961393      </p>
    1397       <p id="rfc.section.4.3.1.p.6">The response to a GET request is cacheable; a cache <em class="bcp14">MAY</em> use it to satisfy subsequent GET and HEAD requests unless otherwise indicated by the Cache-Control header field (<a href="p6-cache.html#header.cache-control" title="Cache-Control">Section 7.2</a> of <a href="#Part6" id="rfc.xref.Part6.2"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a>).
     1394      <p id="rfc.section.4.3.1.p.5">The response to a GET request is cacheable; a cache <em class="bcp14">MAY</em> use it to satisfy subsequent GET and HEAD requests unless otherwise indicated by the Cache-Control header field (<a href="p6-cache.html#header.cache-control" title="Cache-Control">Section 7.2</a> of <a href="#Part6" id="rfc.xref.Part6.2"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a>).
    13981395      </p>
    13991396      <h3 id="rfc.section.4.3.2"><a href="#rfc.section.4.3.2">4.3.2</a>&nbsp;<a id="HEAD" href="#HEAD">HEAD</a></h3>
     
    14771474         body it has in memory remains current as a result of the PUT, thus not in need of retrieving again from the origin server,
    14781475         and that the new validator(s) received in the response can be used for future conditional requests in order to prevent accidental
    1479          overwrites.
     1476         overwrites (<a href="#request.conditionals" title="Conditionals">Section&nbsp;5.2</a>).
    14801477      </p>
    14811478      <p id="rfc.section.4.3.4.p.8">The fundamental difference between the POST and PUT methods is highlighted by the different intent for the enclosed representation.
     
    14951492         the related resources.
    14961493      </p>
    1497       <p id="rfc.section.4.3.4.p.11">An origin server <em class="bcp14">SHOULD</em> reject any PUT request that contains a <a href="p5-range.html#header.content-range" class="smpl">Content-Range</a> header field (<a href="p5-range.html#header.content-range" title="Content-Range">Section 4.2</a> of <a href="#Part5" id="rfc.xref.Part5.5"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[Part5]</cite></a>), since it might be misinterpreted as partial content (or might be partial content that is being mistakenly PUT as a full
     1494      <p id="rfc.section.4.3.4.p.11">An origin server <em class="bcp14">SHOULD</em> reject any PUT request that contains a <a href="p5-range.html#header.content-range" class="smpl">Content-Range</a> header field (<a href="p5-range.html#header.content-range" title="Content-Range">Section 4.2</a> of <a href="#Part5" id="rfc.xref.Part5.4"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[Part5]</cite></a>), since it might be misinterpreted as partial content (or might be partial content that is being mistakenly PUT as a full
    14981495         representation). Partial content updates are possible by targeting a separately identified resource with state that overlaps
    14991496         a portion of the larger resource, or by using a different method that has been specifically defined for partial updates (for
     
    16471644               <tr>
    16481645                  <td class="left">Range</td>
    1649                   <td class="left"><a href="p5-range.html#header.range" title="Range">Section 3.1</a> of <a href="#Part5" id="rfc.xref.Part5.6"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[Part5]</cite></a></td>
     1646                  <td class="left"><a href="p5-range.html#header.range" title="Range">Section 3.1</a> of <a href="#Part5" id="rfc.xref.Part5.5"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[Part5]</cite></a></td>
    16501647               </tr>
    16511648               <tr>
     
    17441741      <p id="rfc.section.5.1.2.p.5">The Max-Forwards header field <em class="bcp14">MAY</em> be ignored for all other request methods.
    17451742      </p>
     1743      <div id="rfc.iref.c.10"></div>
    17461744      <h2 id="rfc.section.5.2"><a href="#rfc.section.5.2">5.2</a>&nbsp;<a id="request.conditionals" href="#request.conditionals">Conditionals</a></h2>
    1747       <p id="rfc.section.5.2.p.1">Conditionals are request header fields that indicate a precondition to be tested before applying the method semantics to the <a href="#resources" class="smpl">target resource</a>. Each precondition is based on metadata that is expected to change if the <a href="#representations" class="smpl">selected representation</a> is changed. The HTTP/1.1 conditional request mechanisms are defined in <a href="#Part4" id="rfc.xref.Part4.3"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a>.
     1745      <p id="rfc.section.5.2.p.1">The HTTP conditional request header fields <a href="#Part4" id="rfc.xref.Part4.3"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a> allow a client to place a precondition on the state of the target resource, so that the action corresponding to the method
     1746         semantics will not be applied if the precondition evaluates to false. Each precondition defined by this specification consists
     1747         of a comparison between a set of validators obtained from prior representations of the target resource to the current state
     1748         of validators for the <a href="#representations" class="smpl">selected representation</a> (<a href="#response.validator" title="Validator Header Fields">Section&nbsp;7.2</a>). Hence, these preconditions evaluate whether the state of the target resource has changed since a given state known by the
     1749         client. The effect of such an evaluation depends on the method semantics and choice of conditional, as defined in <a href="p4-conditional.html#precedence" title="Evaluation and Precedence">Section 5</a> of <a href="#Part4" id="rfc.xref.Part4.4"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a>.
    17481750      </p>
    17491751      <div id="rfc.table.u.4">
     
    17581760               <tr>
    17591761                  <td class="left">If-Match</td>
    1760                   <td class="left"><a href="p4-conditional.html#header.if-match" title="If-Match">Section 3.1</a> of <a href="#Part4" id="rfc.xref.Part4.4"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a></td>
     1762                  <td class="left"><a href="p4-conditional.html#header.if-match" title="If-Match">Section 3.1</a> of <a href="#Part4" id="rfc.xref.Part4.5"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a></td>
    17611763               </tr>
    17621764               <tr>
    17631765                  <td class="left">If-None-Match</td>
    1764                   <td class="left"><a href="p4-conditional.html#header.if-none-match" title="If-None-Match">Section 3.2</a> of <a href="#Part4" id="rfc.xref.Part4.5"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a></td>
     1766                  <td class="left"><a href="p4-conditional.html#header.if-none-match" title="If-None-Match">Section 3.2</a> of <a href="#Part4" id="rfc.xref.Part4.6"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a></td>
    17651767               </tr>
    17661768               <tr>
    17671769                  <td class="left">If-Modified-Since</td>
    1768                   <td class="left"><a href="p4-conditional.html#header.if-modified-since" title="If-Modified-Since">Section 3.3</a> of <a href="#Part4" id="rfc.xref.Part4.6"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a></td>
     1770                  <td class="left"><a href="p4-conditional.html#header.if-modified-since" title="If-Modified-Since">Section 3.3</a> of <a href="#Part4" id="rfc.xref.Part4.7"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a></td>
    17691771               </tr>
    17701772               <tr>
    17711773                  <td class="left">If-Unmodified-Since</td>
    1772                   <td class="left"><a href="p4-conditional.html#header.if-unmodified-since" title="If-Unmodified-Since">Section 3.4</a> of <a href="#Part4" id="rfc.xref.Part4.7"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a></td>
     1774                  <td class="left"><a href="p4-conditional.html#header.if-unmodified-since" title="If-Unmodified-Since">Section 3.4</a> of <a href="#Part4" id="rfc.xref.Part4.8"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a></td>
    17731775               </tr>
    17741776               <tr>
    17751777                  <td class="left">If-Range</td>
    1776                   <td class="left"><a href="p5-range.html#header.if-range" title="If-Range">Section 3.2</a> of <a href="#Part5" id="rfc.xref.Part5.7"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[Part5]</cite></a></td>
     1778                  <td class="left"><a href="p5-range.html#header.if-range" title="If-Range">Section 3.2</a> of <a href="#Part5" id="rfc.xref.Part5.6"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[Part5]</cite></a></td>
    17771779               </tr>
    17781780            </tbody>
     
    21662168      </ul>
    21672169      <h2 id="rfc.section.6.1"><a href="#rfc.section.6.1">6.1</a>&nbsp;<a id="overview.of.status.codes" href="#overview.of.status.codes">Overview of Status Codes</a></h2>
    2168       <p id="rfc.section.6.1.p.1">The status codes listed below are defined in this specification, <a href="p4-conditional.html#status.code.definitions" title="Status Code Definitions">Section 4</a> of <a href="#Part4" id="rfc.xref.Part4.8"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a>, <a href="p5-range.html#range.response" title="Responses to a Range Request">Section 4</a> of <a href="#Part5" id="rfc.xref.Part5.8"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[Part5]</cite></a>, and <a href="p7-auth.html#status.code.definitions" title="Status Code Definitions">Section 3</a> of <a href="#Part7" id="rfc.xref.Part7.5"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Authentication">[Part7]</cite></a>. The reason phrases listed here are only recommendations — they can be replaced by local equivalents without affecting the
     2170      <p id="rfc.section.6.1.p.1">The status codes listed below are defined in this specification, <a href="p4-conditional.html#status.code.definitions" title="Status Code Definitions">Section 4</a> of <a href="#Part4" id="rfc.xref.Part4.9"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a>, <a href="p5-range.html#range.response" title="Responses to a Range Request">Section 4</a> of <a href="#Part5" id="rfc.xref.Part5.7"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[Part5]</cite></a>, and <a href="p7-auth.html#status.code.definitions" title="Status Code Definitions">Section 3</a> of <a href="#Part7" id="rfc.xref.Part7.5"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Authentication">[Part7]</cite></a>. The reason phrases listed here are only recommendations — they can be replaced by local equivalents without affecting the
    21692171         protocol.
    21702172      </p>
     
    22222224                  <td class="left">206</td>
    22232225                  <td class="left">Partial Content</td>
    2224                   <td id="status.206" class="left"><a href="p5-range.html#status.206" title="206 Partial Content">Section 4.1</a> of <a href="#Part5" id="rfc.xref.Part5.9"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[Part5]</cite></a></td>
     2226                  <td id="status.206" class="left"><a href="p5-range.html#status.206" title="206 Partial Content">Section 4.1</a> of <a href="#Part5" id="rfc.xref.Part5.8"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[Part5]</cite></a></td>
    22252227               </tr>
    22262228               <tr>
     
    22472249                  <td class="left">304</td>
    22482250                  <td class="left">Not Modified</td>
    2249                   <td id="status.304" class="left"><a href="p4-conditional.html#status.304" title="304 Not Modified">Section 4.1</a> of <a href="#Part4" id="rfc.xref.Part4.9"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a></td>
     2251                  <td id="status.304" class="left"><a href="p4-conditional.html#status.304" title="304 Not Modified">Section 4.1</a> of <a href="#Part4" id="rfc.xref.Part4.10"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a></td>
    22502252               </tr>
    22512253               <tr>
     
    23222324                  <td class="left">412</td>
    23232325                  <td class="left">Precondition Failed</td>
    2324                   <td id="status.412" class="left"><a href="p4-conditional.html#status.412" title="412 Precondition Failed">Section 4.2</a> of <a href="#Part4" id="rfc.xref.Part4.10"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a></td>
     2326                  <td id="status.412" class="left"><a href="p4-conditional.html#status.412" title="412 Precondition Failed">Section 4.2</a> of <a href="#Part4" id="rfc.xref.Part4.11"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a></td>
    23252327               </tr>
    23262328               <tr>
     
    23422344                  <td class="left">416</td>
    23432345                  <td class="left">Range Not Satisfiable</td>
    2344                   <td id="status.416" class="left"><a href="p5-range.html#status.416" title="416 Range Not Satisfiable">Section 4.4</a> of <a href="#Part5" id="rfc.xref.Part5.10"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[Part5]</cite></a></td>
     2346                  <td id="status.416" class="left"><a href="p5-range.html#status.416" title="416 Range Not Satisfiable">Section 4.4</a> of <a href="#Part5" id="rfc.xref.Part5.9"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[Part5]</cite></a></td>
    23452347               </tr>
    23462348               <tr>
     
    23892391      <p id="rfc.section.6.1.p.2">Note that this list is not exhaustive — it does not include extension status codes defined in other specifications.</p>
    23902392      <h2 id="rfc.section.6.2"><a href="#rfc.section.6.2">6.2</a>&nbsp;<a id="status.1xx" href="#status.1xx">Informational 1xx</a></h2>
    2391       <div id="rfc.iref.71"></div>
     2393      <div id="rfc.iref.72"></div>
    23922394      <div id="rfc.iref.s.3"></div>
    23932395      <p id="rfc.section.6.2.p.1">The <dfn>1xx (Informational)</dfn> class of status code indicates an interim response for communicating connection status or request progress prior to completing
     
    24032405         a request, then it need not forward the corresponding <a href="#status.100" class="smpl">100 (Continue)</a> response(s).
    24042406      </p>
    2405       <div id="rfc.iref.72"></div>
     2407      <div id="rfc.iref.73"></div>
    24062408      <h3 id="rfc.section.6.2.1"><a href="#rfc.section.6.2.1">6.2.1</a>&nbsp;<a id="status.100" href="#status.100">100 Continue</a></h3>
    24072409      <p id="rfc.section.6.2.1.p.1">The <dfn>100 (Continue)</dfn> status code indicates that the initial part of a request has been received and has not yet been rejected by the server. The
     
    24122414      <p id="rfc.section.6.2.1.p.3">If the request did not contain an <a href="#header.expect" class="smpl">Expect</a> header field containing the <a href="#use.of.the.100.status" class="smpl">100-continue</a> expectation, the client can simply discard this interim response.
    24132415      </p>
    2414       <div id="rfc.iref.72"></div>
     2416      <div id="rfc.iref.73"></div>
    24152417      <h3 id="rfc.section.6.2.2"><a href="#rfc.section.6.2.2">6.2.2</a>&nbsp;<a id="status.101" href="#status.101">101 Switching Protocols</a></h3>
    24162418      <p id="rfc.section.6.2.2.p.1">The <dfn>101 (Switching Protocols)</dfn> status code indicates that the server understands and is willing to comply with the client's request, via the <a href="p1-messaging.html#header.upgrade" class="smpl">Upgrade</a> header field (<a href="p1-messaging.html#header.upgrade" title="Upgrade">Section 6.7</a> of <a href="#Part1" id="rfc.xref.Part1.22"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a>), for a change in the application protocol being used on this connection. The server <em class="bcp14">MUST</em> generate an Upgrade header field in the response that indicates which protocol(s) will be switched to immediately after the
     
    24222424      </p>
    24232425      <h2 id="rfc.section.6.3"><a href="#rfc.section.6.3">6.3</a>&nbsp;<a id="status.2xx" href="#status.2xx">Successful 2xx</a></h2>
    2424       <div id="rfc.iref.72"></div>
     2426      <div id="rfc.iref.73"></div>
    24252427      <div id="rfc.iref.s.4"></div>
    24262428      <p id="rfc.section.6.3.p.1">The <dfn>2xx (Successful)</dfn> class of status code indicates that the client's request was successfully received, understood, and accepted.
    24272429      </p>
    2428       <div id="rfc.iref.73"></div>
     2430      <div id="rfc.iref.74"></div>
    24292431      <h3 id="rfc.section.6.3.1"><a href="#rfc.section.6.3.1">6.3.1</a>&nbsp;<a id="status.200" href="#status.200">200 OK</a></h3>
    24302432      <p id="rfc.section.6.3.1.p.1">The <dfn>200 (OK)</dfn> status code indicates that the request has succeeded. The payload sent in a 200 response depends on the request method. For
     
    24512453      <p id="rfc.section.6.3.1.p.3">Caches <em class="bcp14">MAY</em> use a heuristic (see <a href="p6-cache.html#heuristic.freshness" title="Calculating Heuristic Freshness">Section 4.1.2</a> of <a href="#Part6" id="rfc.xref.Part6.10"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a>) to determine freshness for 200 responses.
    24522454      </p>
    2453       <div id="rfc.iref.73"></div>
     2455      <div id="rfc.iref.74"></div>
    24542456      <h3 id="rfc.section.6.3.2"><a href="#rfc.section.6.3.2">6.3.2</a>&nbsp;<a id="status.201" href="#status.201">201 Created</a></h3>
    24552457      <p id="rfc.section.6.3.2.p.1">The <dfn>201 (Created)</dfn> status code indicates that the request has been fulfilled and has resulted in one or more new resources being created. The
     
    24582460      <p id="rfc.section.6.3.2.p.2">The 201 response payload typically describes and links to the resource(s) created. See <a href="#response.validator" title="Validator Header Fields">Section&nbsp;7.2</a> for a discussion of the meaning and purpose of validator header fields, such as <a href="p4-conditional.html#header.etag" class="smpl">ETag</a> and <a href="p4-conditional.html#header.last-modified" class="smpl">Last-Modified</a>, in a 201 response.
    24592461      </p>
    2460       <div id="rfc.iref.73"></div>
     2462      <div id="rfc.iref.74"></div>
    24612463      <h3 id="rfc.section.6.3.3"><a href="#rfc.section.6.3.3">6.3.3</a>&nbsp;<a id="status.202" href="#status.202">202 Accepted</a></h3>
    24622464      <p id="rfc.section.6.3.3.p.1">The <dfn>202 (Accepted)</dfn> status code indicates that the request has been accepted for processing, but the processing has not been completed. The request
     
    24702472         be fulfilled.
    24712473      </p>
    2472       <div id="rfc.iref.73"></div>
     2474      <div id="rfc.iref.74"></div>
    24732475      <h3 id="rfc.section.6.3.4"><a href="#rfc.section.6.3.4">6.3.4</a>&nbsp;<a id="status.203" href="#status.203">203 Non-Authoritative Information</a></h3>
    24742476      <p id="rfc.section.6.3.4.p.1">The <dfn>203 (Non-Authoritative Information)</dfn> status code indicates that the request was successful but the enclosed payload has been modified from that of the origin server's <a href="#status.200" class="smpl">200 (OK)</a> response by a transforming proxy (<a href="p1-messaging.html#message.transformations" title="Transformations">Section 5.7.2</a> of <a href="#Part1" id="rfc.xref.Part1.23"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a>). This status code allows the proxy to notify recipients when a transformation has been applied, since that knowledge might
     
    24782480      <p id="rfc.section.6.3.4.p.2">The 203 response is similar to the Warning code of 214 Transformation Applied (<a href="p6-cache.html#header.warning" title="Warning">Section 7.5</a> of <a href="#Part6" id="rfc.xref.Part6.11"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a>), which has the advantage of being applicable to responses with any status code.
    24792481      </p>
    2480       <div id="rfc.iref.73"></div>
     2482      <div id="rfc.iref.74"></div>
    24812483      <h3 id="rfc.section.6.3.5"><a href="#rfc.section.6.3.5">6.3.5</a>&nbsp;<a id="status.204" href="#status.204">204 No Content</a></h3>
    24822484      <p id="rfc.section.6.3.5.p.1">The <dfn>204 (No Content)</dfn> status code indicates that the server has successfully fulfilled the request and that there is no additional content to send
    2483          in the response payload body. Metadata in the response header fields refer to the <a href="#resources" class="smpl">target resource</a> and its selected representation after the requested action was applied.
     2485         in the response payload body. Metadata in the response header fields refer to the <a href="#resources" class="smpl">target resource</a> and its <a href="#representations" class="smpl">selected representation</a> after the requested action was applied.
    24842486      </p>
    24852487      <p id="rfc.section.6.3.5.p.2">For example, if a 204 status code is received in response to a PUT request and the response contains an <a href="p4-conditional.html#header.etag" class="smpl">ETag</a> header field, then the PUT was successful and the ETag field-value contains the entity-tag for the new representation of that
     
    24962498      </p>
    24972499      <p id="rfc.section.6.3.5.p.5">A 204 response is terminated by the first empty line after the header fields because it cannot contain a message body.</p>
    2498       <div id="rfc.iref.73"></div>
     2500      <div id="rfc.iref.74"></div>
    24992501      <h3 id="rfc.section.6.3.6"><a href="#rfc.section.6.3.6">6.3.6</a>&nbsp;<a id="status.205" href="#status.205">205 Reset Content</a></h3>
    25002502      <p id="rfc.section.6.3.6.p.1">The <dfn>205 (Reset Content)</dfn> status code indicates that the server has fulfilled the request and desires that the user agent reset the "document view",
     
    25092511      </p>
    25102512      <h2 id="rfc.section.6.4"><a href="#rfc.section.6.4">6.4</a>&nbsp;<a id="status.3xx" href="#status.3xx">Redirection 3xx</a></h2>
    2511       <div id="rfc.iref.73"></div>
     2513      <div id="rfc.iref.74"></div>
    25122514      <div id="rfc.iref.s.5"></div>
    25132515      <p id="rfc.section.6.4.p.1">The <dfn>3xx (Redirection)</dfn> class of status code indicates that further action needs to be taken by the user agent in order to fulfill the request. If
     
    25462548         </p>
    25472549      </div>
    2548       <div id="rfc.iref.74"></div>
     2550      <div id="rfc.iref.75"></div>
    25492551      <h3 id="rfc.section.6.4.1"><a href="#rfc.section.6.4.1">6.4.1</a>&nbsp;<a id="status.300" href="#status.300">300 Multiple Choices</a></h3>
    25502552      <p id="rfc.section.6.4.1.p.1">The <dfn>300 (Multiple Choices)</dfn> status code indicates that the <a href="#resources" class="smpl">target resource</a> has more than one representation, each with its own more specific identifier, and information about the alternatives is being
     
    25682570         </p>
    25692571      </div>
    2570       <div id="rfc.iref.74"></div>
     2572      <div id="rfc.iref.75"></div>
    25712573      <h3 id="rfc.section.6.4.2"><a href="#rfc.section.6.4.2">6.4.2</a>&nbsp;<a id="status.301" href="#status.301">301 Moved Permanently</a></h3>
    25722574      <p id="rfc.section.6.4.2.p.1">The <dfn>301 (Moved Permanently)</dfn> status code indicates that the <a href="#resources" class="smpl">target resource</a> has been assigned a new permanent URI and any future references to this resource ought to use one of the enclosed URIs. Clients
     
    25832585      <p id="rfc.section.6.4.2.p.4">Caches <em class="bcp14">MAY</em> use a heuristic (see <a href="p6-cache.html#heuristic.freshness" title="Calculating Heuristic Freshness">Section 4.1.2</a> of <a href="#Part6" id="rfc.xref.Part6.13"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a>) to determine freshness for 301 responses.
    25842586      </p>
    2585       <div id="rfc.iref.74"></div>
     2587      <div id="rfc.iref.75"></div>
    25862588      <h3 id="rfc.section.6.4.3"><a href="#rfc.section.6.4.3">6.4.3</a>&nbsp;<a id="status.302" href="#status.302">302 Found</a></h3>
    25872589      <p id="rfc.section.6.4.3.p.1">The <dfn>302 (Found)</dfn> status code indicates that the target resource resides temporarily under a different URI. Since the redirection might be altered
     
    25952597         </p>
    25962598      </div>
    2597       <div id="rfc.iref.74"></div>
     2599      <div id="rfc.iref.75"></div>
    25982600      <h3 id="rfc.section.6.4.4"><a href="#rfc.section.6.4.4">6.4.4</a>&nbsp;<a id="status.303" href="#status.303">303 See Other</a></h3>
    25992601      <p id="rfc.section.6.4.4.p.1">The <dfn>303 (See Other)</dfn> status code indicates that the server is redirecting the user agent to a different resource, as indicated by a URI in the <a href="#header.location" class="smpl">Location</a> header field, that is intended to provide an indirect response to the original request. In order to satisfy the original request,
     
    26142616         a hyperlink to the same URI reference provided in the <a href="#header.location" class="smpl">Location</a> header field.
    26152617      </p>
    2616       <div id="rfc.iref.74"></div>
     2618      <div id="rfc.iref.75"></div>
    26172619      <h3 id="rfc.section.6.4.5"><a href="#rfc.section.6.4.5">6.4.5</a>&nbsp;<a id="status.305" href="#status.305">305 Use Proxy</a></h3>
    26182620      <p id="rfc.section.6.4.5.p.1">The <dfn>305 (Use Proxy)</dfn> status code was defined in a previous version of this specification and is now deprecated (<a href="#changes.from.rfc.2616" title="Significant changes from RFC 2616">Appendix&nbsp;B</a>).
    26192621      </p>
    2620       <div id="rfc.iref.74"></div>
     2622      <div id="rfc.iref.75"></div>
    26212623      <h3 id="rfc.section.6.4.6"><a href="#rfc.section.6.4.6">6.4.6</a>&nbsp;<a id="status.306" href="#status.306">306 (Unused)</a></h3>
    26222624      <p id="rfc.section.6.4.6.p.1">The 306 status code was defined in a previous version of this specification, is no longer used, and the code is reserved.</p>
    2623       <div id="rfc.iref.74"></div>
     2625      <div id="rfc.iref.75"></div>
    26242626      <h3 id="rfc.section.6.4.7"><a href="#rfc.section.6.4.7">6.4.7</a>&nbsp;<a id="status.307" href="#status.307">307 Temporary Redirect</a></h3>
    26252627      <p id="rfc.section.6.4.7.p.1">The <dfn>307 (Temporary Redirect)</dfn> status code indicates that the <a href="#resources" class="smpl">target resource</a> resides temporarily under a different URI and the user agent <em class="bcp14">MUST NOT</em> change the request method if it performs an automatic redirection to that URI. Since the redirection can change over time,
     
    26362638      </div>
    26372639      <h2 id="rfc.section.6.5"><a href="#rfc.section.6.5">6.5</a>&nbsp;<a id="status.4xx" href="#status.4xx">Client Error 4xx</a></h2>
    2638       <div id="rfc.iref.74"></div>
     2640      <div id="rfc.iref.75"></div>
    26392641      <div id="rfc.iref.s.6"></div>
    26402642      <p id="rfc.section.6.5.p.1">The <dfn>4xx (Client Error)</dfn> class of status code indicates that the client seems to have erred. Except when responding to a HEAD request, the server <em class="bcp14">SHOULD</em> send a representation containing an explanation of the error situation, and whether it is a temporary or permanent condition.
    26412643         These status codes are applicable to any request method. User agents <em class="bcp14">SHOULD</em> display any included representation to the user.
    26422644      </p>
    2643       <div id="rfc.iref.75"></div>
     2645      <div id="rfc.iref.76"></div>
    26442646      <h3 id="rfc.section.6.5.1"><a href="#rfc.section.6.5.1">6.5.1</a>&nbsp;<a id="status.400" href="#status.400">400 Bad Request</a></h3>
    26452647      <p id="rfc.section.6.5.1.p.1">The <dfn>400 (Bad Request)</dfn> status code indicates that the server cannot or will not process the request because the received syntax is invalid, nonsensical,
    26462648         or exceeds some limitation on what the server is willing to process.
    26472649      </p>
    2648       <div id="rfc.iref.75"></div>
     2650      <div id="rfc.iref.76"></div>
    26492651      <h3 id="rfc.section.6.5.2"><a href="#rfc.section.6.5.2">6.5.2</a>&nbsp;<a id="status.402" href="#status.402">402 Payment Required</a></h3>
    26502652      <p id="rfc.section.6.5.2.p.1">The <dfn>402 (Payment Required)</dfn> status code is reserved for future use.
    26512653      </p>
    2652       <div id="rfc.iref.75"></div>
     2654      <div id="rfc.iref.76"></div>
    26532655      <h3 id="rfc.section.6.5.3"><a href="#rfc.section.6.5.3">6.5.3</a>&nbsp;<a id="status.403" href="#status.403">403 Forbidden</a></h3>
    26542656      <p id="rfc.section.6.5.3.p.1">The <dfn>403 (Forbidden)</dfn> status code indicates that the server understood the request but refuses to authorize it. A server that wishes to make public
     
    26592661      <p id="rfc.section.6.5.3.p.3">An origin server that wishes to "hide" the current existence of a forbidden <a href="#resources" class="smpl">target resource</a>  <em class="bcp14">MAY</em> instead respond with a status code of <a href="#status.404" class="smpl">404 (Not Found)</a>.
    26602662      </p>
    2661       <div id="rfc.iref.75"></div>
     2663      <div id="rfc.iref.76"></div>
    26622664      <h3 id="rfc.section.6.5.4"><a href="#rfc.section.6.5.4">6.5.4</a>&nbsp;<a id="status.404" href="#status.404">404 Not Found</a></h3>
    26632665      <p id="rfc.section.6.5.4.p.1">The <dfn>404 (Not Found)</dfn> status code indicates that the origin server did not find a current representation for the <a href="#resources" class="smpl">target resource</a> or is not willing to disclose that one exists. A 404 status does not indicate whether this lack of representation is temporary
     
    26652667         is likely to be permanent.
    26662668      </p>
    2667       <div id="rfc.iref.75"></div>
     2669      <div id="rfc.iref.76"></div>
    26682670      <h3 id="rfc.section.6.5.5"><a href="#rfc.section.6.5.5">6.5.5</a>&nbsp;<a id="status.405" href="#status.405">405 Method Not Allowed</a></h3>
    26692671      <p id="rfc.section.6.5.5.p.1">The <dfn>405 (Method Not Allowed)</dfn> status code indicates that the method specified in the request-line is known by the origin server but not supported by the <a href="#resources" class="smpl">target resource</a>. The origin server <em class="bcp14">MUST</em> generate an <a href="#header.allow" class="smpl">Allow</a> header field in a 405 response containing a list of the target resource's currently supported methods.
    26702672      </p>
    2671       <div id="rfc.iref.75"></div>
     2673      <div id="rfc.iref.76"></div>
    26722674      <h3 id="rfc.section.6.5.6"><a href="#rfc.section.6.5.6">6.5.6</a>&nbsp;<a id="status.406" href="#status.406">406 Not Acceptable</a></h3>
    26732675      <p id="rfc.section.6.5.6.p.1">The <dfn>406 (Not Acceptable)</dfn> status code indicates that the <a href="#resources" class="smpl">target resource</a> does not have a current representation that would be acceptable to the user agent, according to the <a href="#proactive.negotiation" class="smpl">proactive negotiation</a> header fields received in the request (<a href="#request.conneg" title="Content Negotiation">Section&nbsp;5.3</a>), and the server is unwilling to supply a default representation.
     
    26772679         for such automatic selection, as described in <a href="#status.300" id="rfc.xref.status.300.2" title="300 Multiple Choices">Section&nbsp;6.4.1</a>.
    26782680      </p>
    2679       <div id="rfc.iref.75"></div>
     2681      <div id="rfc.iref.76"></div>
    26802682      <h3 id="rfc.section.6.5.7"><a href="#rfc.section.6.5.7">6.5.7</a>&nbsp;<a id="status.408" href="#status.408">408 Request Timeout</a></h3>
    26812683      <p id="rfc.section.6.5.7.p.1">The <dfn>408 (Request Timeout)</dfn> status code indicates that the server did not receive a complete request message within the time that it was prepared to wait.
     
    26832685         the client has an outstanding request in transit, the client <em class="bcp14">MAY</em> repeat that request on a new connection.
    26842686      </p>
    2685       <div id="rfc.iref.75"></div>
     2687      <div id="rfc.iref.76"></div>
    26862688      <h3 id="rfc.section.6.5.8"><a href="#rfc.section.6.5.8">6.5.8</a>&nbsp;<a id="status.409" href="#status.409">409 Conflict</a></h3>
    26872689      <p id="rfc.section.6.5.8.p.1">The <dfn>409 (Conflict)</dfn> status code indicates that the request could not be completed due to a conflict with the current state of the resource. This
     
    26932695         contain information useful for merging the differences based on the revision history.
    26942696      </p>
    2695       <div id="rfc.iref.75"></div>
     2697      <div id="rfc.iref.76"></div>
    26962698      <h3 id="rfc.section.6.5.9"><a href="#rfc.section.6.5.9">6.5.9</a>&nbsp;<a id="status.410" href="#status.410">410 Gone</a></h3>
    26972699      <p id="rfc.section.6.5.9.p.1">The <dfn>410 (Gone)</dfn> status code indicates that access to the <a href="#resources" class="smpl">target resource</a> is no longer available at the origin server and that this condition is likely to be permanent. If the origin server does not
     
    27062708      <p id="rfc.section.6.5.9.p.3">Caches <em class="bcp14">MAY</em> use a heuristic (see <a href="p6-cache.html#heuristic.freshness" title="Calculating Heuristic Freshness">Section 4.1.2</a> of <a href="#Part6" id="rfc.xref.Part6.14"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a>) to determine freshness for 410 responses.
    27072709      </p>
    2708       <div id="rfc.iref.75"></div>
     2710      <div id="rfc.iref.76"></div>
    27092711      <h3 id="rfc.section.6.5.10"><a href="#rfc.section.6.5.10">6.5.10</a>&nbsp;<a id="status.411" href="#status.411">411 Length Required</a></h3>
    27102712      <p id="rfc.section.6.5.10.p.1">The <dfn>411 (Length Required)</dfn> status code indicates that the server refuses to accept the request without a defined <a href="p1-messaging.html#header.content-length" class="smpl">Content-Length</a> (<a href="p1-messaging.html#header.content-length" title="Content-Length">Section 3.3.2</a> of <a href="#Part1" id="rfc.xref.Part1.25"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a>). The client <em class="bcp14">MAY</em> repeat the request if it adds a valid Content-Length header field containing the length of the message body in the request
    27112713         message.
    27122714      </p>
    2713       <div id="rfc.iref.75"></div>
     2715      <div id="rfc.iref.76"></div>
    27142716      <h3 id="rfc.section.6.5.11"><a href="#rfc.section.6.5.11">6.5.11</a>&nbsp;<a id="status.413" href="#status.413">413 Payload Too Large</a></h3>
    27152717      <p id="rfc.section.6.5.11.p.1">The <dfn>413 (Payload Too Large)</dfn> status code indicates that the server is refusing to process a request because the request payload is larger than the server
     
    27182720      <p id="rfc.section.6.5.11.p.2">If the condition is temporary, the server <em class="bcp14">SHOULD</em> generate a <a href="#header.retry-after" class="smpl">Retry-After</a> header field to indicate that it is temporary and after what time the client <em class="bcp14">MAY</em> try again.
    27192721      </p>
    2720       <div id="rfc.iref.75"></div>
     2722      <div id="rfc.iref.76"></div>
    27212723      <h3 id="rfc.section.6.5.12"><a href="#rfc.section.6.5.12">6.5.12</a>&nbsp;<a id="status.414" href="#status.414">414 URI Too Long</a></h3>
    27222724      <p id="rfc.section.6.5.12.p.1">The <dfn>414 (URI Too Long)</dfn> status code indicates that the server is refusing to service the request because the request-target (<a href="p1-messaging.html#request-target" title="Request Target">Section 5.3</a> of <a href="#Part1" id="rfc.xref.Part1.26"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a>) is longer than the server is willing to interpret. This rare condition is only likely to occur when a client has improperly
     
    27252727         attempting to exploit potential security holes.
    27262728      </p>
    2727       <div id="rfc.iref.75"></div>
     2729      <div id="rfc.iref.76"></div>
    27282730      <h3 id="rfc.section.6.5.13"><a href="#rfc.section.6.5.13">6.5.13</a>&nbsp;<a id="status.415" href="#status.415">415 Unsupported Media Type</a></h3>
    27292731      <p id="rfc.section.6.5.13.p.1">The <dfn>415 (Unsupported Media Type)</dfn> status code indicates that the origin server is refusing to service the request because the payload is in a format not supported
    27302732         by the <a href="#resources" class="smpl">target resource</a> for this method. The format problem might be due to the request's indicated <a href="#header.content-type" class="smpl">Content-Type</a> or <a href="#header.content-encoding" class="smpl">Content-Encoding</a>, or as a result of inspecting the data directly.
    27312733      </p>
    2732       <div id="rfc.iref.75"></div>
     2734      <div id="rfc.iref.76"></div>
    27332735      <h3 id="rfc.section.6.5.14"><a href="#rfc.section.6.5.14">6.5.14</a>&nbsp;<a id="status.417" href="#status.417">417 Expectation Failed</a></h3>
    27342736      <p id="rfc.section.6.5.14.p.1">The <dfn>417 (Expectation Failed)</dfn> status code indicates that the expectation given in the request's <a href="#header.expect" class="smpl">Expect</a> header field (<a href="#header.expect" id="rfc.xref.header.expect.2" title="Expect">Section&nbsp;5.1.1</a>) could not be met by at least one of the inbound servers.
    27352737      </p>
    2736       <div id="rfc.iref.75"></div>
     2738      <div id="rfc.iref.76"></div>
    27372739      <h3 id="rfc.section.6.5.15"><a href="#rfc.section.6.5.15">6.5.15</a>&nbsp;<a id="status.426" href="#status.426">426 Upgrade Required</a></h3>
    27382740      <p id="rfc.section.6.5.15.p.1">The <dfn>426 (Upgrade Required)</dfn> status code indicates that the server refuses to perform the request using the current protocol but might be willing to do
     
    27482750<span id="s426body">This service requires use of the HTTP/3.0 protocol.
    27492751</span></pre><h2 id="rfc.section.6.6"><a href="#rfc.section.6.6">6.6</a>&nbsp;<a id="status.5xx" href="#status.5xx">Server Error 5xx</a></h2>
    2750       <div id="rfc.iref.75"></div>
     2752      <div id="rfc.iref.76"></div>
    27512753      <div id="rfc.iref.s.7"></div>
    27522754      <p id="rfc.section.6.6.p.1">The <dfn>5xx (Server Error)</dfn> class of status code indicates that the server is aware that it has erred or is incapable of performing the requested method.
     
    27542756         User agents <em class="bcp14">SHOULD</em> display any included representation to the user. These response codes are applicable to any request method.
    27552757      </p>
    2756       <div id="rfc.iref.76"></div>
     2758      <div id="rfc.iref.77"></div>
    27572759      <h3 id="rfc.section.6.6.1"><a href="#rfc.section.6.6.1">6.6.1</a>&nbsp;<a id="status.500" href="#status.500">500 Internal Server Error</a></h3>
    27582760      <p id="rfc.section.6.6.1.p.1">The <dfn>500 (Internal Server Error)</dfn> status code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request.
    27592761      </p>
    2760       <div id="rfc.iref.76"></div>
     2762      <div id="rfc.iref.77"></div>
    27612763      <h3 id="rfc.section.6.6.2"><a href="#rfc.section.6.6.2">6.6.2</a>&nbsp;<a id="status.501" href="#status.501">501 Not Implemented</a></h3>
    27622764      <p id="rfc.section.6.6.2.p.1">The <dfn>501 (Not Implemented)</dfn> status code indicates that the server does not support the functionality required to fulfill the request. This is the appropriate
    27632765         response when the server does not recognize the request method and is not capable of supporting it for any resource.
    27642766      </p>
    2765       <div id="rfc.iref.76"></div>
     2767      <div id="rfc.iref.77"></div>
    27662768      <h3 id="rfc.section.6.6.3"><a href="#rfc.section.6.6.3">6.6.3</a>&nbsp;<a id="status.502" href="#status.502">502 Bad Gateway</a></h3>
    27672769      <p id="rfc.section.6.6.3.p.1">The <dfn>502 (Bad Gateway)</dfn> status code indicates that the server, while acting as a gateway or proxy, received an invalid response from an inbound server
    27682770         it accessed while attempting to fulfill the request.
    27692771      </p>
    2770       <div id="rfc.iref.76"></div>
     2772      <div id="rfc.iref.77"></div>
    27712773      <h3 id="rfc.section.6.6.4"><a href="#rfc.section.6.6.4">6.6.4</a>&nbsp;<a id="status.503" href="#status.503">503 Service Unavailable</a></h3>
    27722774      <p id="rfc.section.6.6.4.p.1">The <dfn>503 (Service Unavailable)</dfn> status code indicates that the server is currently unable to handle the request due to a temporary overload or scheduled maintenance,
     
    27782780         </p>
    27792781      </div>
    2780       <div id="rfc.iref.76"></div>
     2782      <div id="rfc.iref.77"></div>
    27812783      <h3 id="rfc.section.6.6.5"><a href="#rfc.section.6.6.5">6.6.5</a>&nbsp;<a id="status.504" href="#status.504">504 Gateway Timeout</a></h3>
    27822784      <p id="rfc.section.6.6.5.p.1">The <dfn>504 (Gateway Timeout)</dfn> status code indicates that the server, while acting as a gateway or proxy, did not receive a timely response from an upstream
    27832785         server it needed to access in order to complete the request.
    27842786      </p>
    2785       <div id="rfc.iref.76"></div>
     2787      <div id="rfc.iref.77"></div>
    27862788      <h3 id="rfc.section.6.6.6"><a href="#rfc.section.6.6.6">6.6.6</a>&nbsp;<a id="status.505" href="#status.505">505 HTTP Version Not Supported</a></h3>
    27872789      <p id="rfc.section.6.6.6.p.1">The <dfn>505 (HTTP Version Not Supported)</dfn> status code indicates that the server does not support, or refuses to support, the protocol version that was used in the request
     
    30573059      </p>
    30583060      <p id="rfc.section.7.2.p.3">For example, an ETag header field in a 201 response communicates the entity-tag of the newly created resource's representation,
    3059          so that it can be used in later conditional requests to prevent the "lost update" problem <a href="#Part4" id="rfc.xref.Part4.11"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a>.
     3061         so that it can be used in later conditional requests to prevent the "lost update" problem <a href="#Part4" id="rfc.xref.Part4.12"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a>.
    30603062      </p>
    30613063      <div id="rfc.table.u.11">
     
    30703072               <tr>
    30713073                  <td class="left">ETag</td>
    3072                   <td class="left"><a href="p4-conditional.html#header.etag" title="ETag">Section 2.3</a> of <a href="#Part4" id="rfc.xref.Part4.12"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a></td>
     3074                  <td class="left"><a href="p4-conditional.html#header.etag" title="ETag">Section 2.3</a> of <a href="#Part4" id="rfc.xref.Part4.13"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a></td>
    30733075               </tr>
    30743076               <tr>
    30753077                  <td class="left">Last-Modified</td>
    3076                   <td class="left"><a href="p4-conditional.html#header.last-modified" title="Last-Modified">Section 2.2</a> of <a href="#Part4" id="rfc.xref.Part4.13"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a></td>
     3078                  <td class="left"><a href="p4-conditional.html#header.last-modified" title="Last-Modified">Section 2.2</a> of <a href="#Part4" id="rfc.xref.Part4.14"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a></td>
    30773079               </tr>
    30783080            </tbody>
     
    31173119               <tr>
    31183120                  <td class="left">Accept-Ranges</td>
    3119                   <td class="left"><a href="p5-range.html#header.accept-ranges" title="Accept-Ranges">Section 2.3</a> of <a href="#Part5" id="rfc.xref.Part5.11"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[Part5]</cite></a></td>
     3121                  <td class="left"><a href="p5-range.html#header.accept-ranges" title="Accept-Ranges">Section 2.3</a> of <a href="#Part5" id="rfc.xref.Part5.10"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[Part5]</cite></a></td>
    31203122               </tr>
    31213123               <tr>
     
    31903192      <p id="rfc.section.8.1.2.p.3">A new method definition needs to indicate whether it is safe (<a href="#safe.methods" title="Safe Methods">Section&nbsp;4.2.1</a>), idempotent (<a href="#idempotent.methods" title="Idempotent Methods">Section&nbsp;4.2.2</a>), cacheable (<a href="#cacheable.methods" title="Cacheable Methods">Section&nbsp;4.2.3</a>), what semantics are to be associated with the payload body if any is present in the request, and what refinements the method
    31913193         makes to header field or status code semantics. If the new method is cacheable, its definition ought to describe how, and
    3192          under what conditions, a cache can store a response and use it to satisfy a subsequent request. If the new method can be made
    3193          conditional (<a href="#Part4" id="rfc.xref.Part4.14"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a>), the definition ought to describe how to respond when the condition is false. Likewise, if the new method might have some
    3194          use for partial response semantics (<a href="#Part5" id="rfc.xref.Part5.12"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[Part5]</cite></a>), it ought to document this too.
     3194         under what conditions, a cache can store a response and use it to satisfy a subsequent request. The new method ought to describe
     3195         whether it can be made conditional (<a href="#request.conditionals" title="Conditionals">Section&nbsp;5.2</a>) and, if so, how a server responds when the condition is false. Likewise, if the new method might have some use for partial
     3196         response semantics (<a href="#Part5" id="rfc.xref.Part5.11"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[Part5]</cite></a>), it ought to document this too.
    31953197      </p>
    31963198      <h3 id="rfc.section.8.1.3"><a href="#rfc.section.8.1.3">8.1.3</a>&nbsp;<a id="method.registration" href="#method.registration">Registrations</a></h3>
     
    41384140         However, this parameter is not part of the MIME standards).
    41394141      </p>
    4140       <div id="rfc.iref.c.10"></div>
     4142      <div id="rfc.iref.c.11"></div>
    41414143      <h2 id="rfc.section.A.5"><a href="#rfc.section.A.5">A.5</a>&nbsp;<a id="conversion.content-transfer-encoding" href="#conversion.content-transfer-encoding">Conversion of Content-Transfer-Encoding</a></h2>
    41424144      <p id="rfc.section.A.5.p.1">HTTP does not use the Content-Transfer-Encoding field of MIME. Proxies and gateways from MIME-compliant protocols to HTTP
     
    41524154         fold long lines. MHTML messages being transported by HTTP follow all conventions of MHTML, including line length limitations
    41534155         and folding, canonicalization, etc., since HTTP transfers message-bodies as payload and, aside from the "multipart/byteranges"
    4154          type (<a href="p5-range.html#internet.media.type.multipart.byteranges" title="Internet Media Type multipart/byteranges">Appendix A</a> of <a href="#Part5" id="rfc.xref.Part5.13"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[Part5]</cite></a>), does not interpret the content or any MIME header lines that might be contained therein.
     4156         type (<a href="p5-range.html#internet.media.type.multipart.byteranges" title="Internet Media Type multipart/byteranges">Appendix A</a> of <a href="#Part5" id="rfc.xref.Part5.12"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[Part5]</cite></a>), does not interpret the content or any MIME header lines that might be contained therein.
    41554157      </p>
    41564158      <h1 id="rfc.section.B"><a href="#rfc.section.B">B.</a>&nbsp;<a id="changes.from.rfc.2616" href="#changes.from.rfc.2616">Significant changes from RFC 2616</a></h1>
     
    44114413         <ul class="ind">
    44124414            <li><a id="rfc.index.1" href="#rfc.index.1"><b>1</b></a><ul>
    4413                   <li>100 Continue (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.100.1">5.1.1.1</a>, <a href="#rfc.xref.status.100.2">5.1.1.1</a>, <a href="#rfc.xref.status.100.3">6.1</a>, <a href="#rfc.iref.72"><b>6.2.1</b></a>, <a href="#rfc.xref.status.100.4">8.2.3</a></li>
     4415                  <li>100 Continue (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.100.1">5.1.1.1</a>, <a href="#rfc.xref.status.100.2">5.1.1.1</a>, <a href="#rfc.xref.status.100.3">6.1</a>, <a href="#rfc.iref.73"><b>6.2.1</b></a>, <a href="#rfc.xref.status.100.4">8.2.3</a></li>
    44144416                  <li>100-continue (expect value)&nbsp;&nbsp;<a href="#rfc.iref.45"><b>5.1.1.1</b></a></li>
    4415                   <li>101 Switching Protocols (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.101.1">6.1</a>, <a href="#rfc.iref.72"><b>6.2.2</b></a>, <a href="#rfc.xref.status.101.2">8.2.3</a></li>
    4416                   <li>1xx Informational (status code class)&nbsp;&nbsp;<a href="#rfc.iref.71"><b>6.2</b></a></li>
     4417                  <li>101 Switching Protocols (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.101.1">6.1</a>, <a href="#rfc.iref.73"><b>6.2.2</b></a>, <a href="#rfc.xref.status.101.2">8.2.3</a></li>
     4418                  <li>1xx Informational (status code class)&nbsp;&nbsp;<a href="#rfc.iref.72"><b>6.2</b></a></li>
    44174419               </ul>
    44184420            </li>
    44194421            <li><a id="rfc.index.2" href="#rfc.index.2"><b>2</b></a><ul>
    4420                   <li>200 OK (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.200.1">6.1</a>, <a href="#rfc.iref.73"><b>6.3.1</b></a>, <a href="#rfc.xref.status.200.2">8.2.3</a></li>
    4421                   <li>201 Created (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.201.1">6.1</a>, <a href="#rfc.iref.73"><b>6.3.2</b></a>, <a href="#rfc.xref.status.201.2">8.2.3</a>, <a href="#rfc.xref.status.201.3">B</a></li>
    4422                   <li>202 Accepted (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.202.1">6.1</a>, <a href="#rfc.iref.73"><b>6.3.3</b></a>, <a href="#rfc.xref.status.202.2">8.2.3</a></li>
    4423                   <li>203 Non-Authoritative Information (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.203.1">6.1</a>, <a href="#rfc.iref.73"><b>6.3.4</b></a>, <a href="#rfc.xref.status.203.2">8.2.3</a>, <a href="#rfc.xref.status.203.3">B</a></li>
    4424                   <li>204 No Content (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.204.1">6.1</a>, <a href="#rfc.iref.73"><b>6.3.5</b></a>, <a href="#rfc.xref.status.204.2">8.2.3</a></li>
    4425                   <li>205 Reset Content (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.205.1">6.1</a>, <a href="#rfc.iref.73"><b>6.3.6</b></a>, <a href="#rfc.xref.status.205.2">8.2.3</a></li>
    4426                   <li>2xx Successful (status code class)&nbsp;&nbsp;<a href="#rfc.iref.72"><b>6.3</b></a></li>
     4422                  <li>200 OK (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.200.1">6.1</a>, <a href="#rfc.iref.74"><b>6.3.1</b></a>, <a href="#rfc.xref.status.200.2">8.2.3</a></li>
     4423                  <li>201 Created (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.201.1">6.1</a>, <a href="#rfc.iref.74"><b>6.3.2</b></a>, <a href="#rfc.xref.status.201.2">8.2.3</a>, <a href="#rfc.xref.status.201.3">B</a></li>
     4424                  <li>202 Accepted (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.202.1">6.1</a>, <a href="#rfc.iref.74"><b>6.3.3</b></a>, <a href="#rfc.xref.status.202.2">8.2.3</a></li>
     4425                  <li>203 Non-Authoritative Information (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.203.1">6.1</a>, <a href="#rfc.iref.74"><b>6.3.4</b></a>, <a href="#rfc.xref.status.203.2">8.2.3</a>, <a href="#rfc.xref.status.203.3">B</a></li>
     4426                  <li>204 No Content (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.204.1">6.1</a>, <a href="#rfc.iref.74"><b>6.3.5</b></a>, <a href="#rfc.xref.status.204.2">8.2.3</a></li>
     4427                  <li>205 Reset Content (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.205.1">6.1</a>, <a href="#rfc.iref.74"><b>6.3.6</b></a>, <a href="#rfc.xref.status.205.2">8.2.3</a></li>
     4428                  <li>2xx Successful (status code class)&nbsp;&nbsp;<a href="#rfc.iref.73"><b>6.3</b></a></li>
    44274429               </ul>
    44284430            </li>
    44294431            <li><a id="rfc.index.3" href="#rfc.index.3"><b>3</b></a><ul>
    4430                   <li>300 Multiple Choices (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.300.1">6.1</a>, <a href="#rfc.iref.74"><b>6.4.1</b></a>, <a href="#rfc.xref.status.300.2">6.5.6</a>, <a href="#rfc.xref.status.300.3">8.2.3</a></li>
    4431                   <li>301 Moved Permanently (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.301.1">6.1</a>, <a href="#rfc.iref.74"><b>6.4.2</b></a>, <a href="#rfc.xref.status.301.2">8.2.3</a>, <a href="#rfc.xref.status.301.3">B</a></li>
    4432                   <li>302 Found (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.302.1">6.1</a>, <a href="#rfc.iref.74"><b>6.4.3</b></a>, <a href="#rfc.xref.status.302.2">8.2.3</a>, <a href="#rfc.xref.status.302.3">B</a></li>
    4433                   <li>303 See Other (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.303.1">6.1</a>, <a href="#rfc.iref.74"><b>6.4.4</b></a>, <a href="#rfc.xref.status.303.2">8.2.3</a>, <a href="#rfc.xref.status.303.3">B</a></li>
    4434                   <li>305 Use Proxy (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.305.1">6.1</a>, <a href="#rfc.iref.74"><b>6.4.5</b></a>, <a href="#rfc.xref.status.305.2">8.2.3</a>, <a href="#rfc.xref.status.305.3">B</a></li>
    4435                   <li>306 (Unused) (status code)&nbsp;&nbsp;<a href="#rfc.iref.74"><b>6.4.6</b></a>, <a href="#rfc.xref.status.306.1">8.2.3</a></li>
    4436                   <li>307 Temporary Redirect (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.307.1">6.1</a>, <a href="#rfc.iref.74"><b>6.4.7</b></a>, <a href="#rfc.xref.status.307.2">8.2.3</a></li>
    4437                   <li>3xx Redirection (status code class)&nbsp;&nbsp;<a href="#rfc.iref.73"><b>6.4</b></a>, <a href="#rfc.xref.status.3xx.1">B</a>, <a href="#rfc.xref.status.3xx.2">B</a></li>
     4432                  <li>300 Multiple Choices (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.300.1">6.1</a>, <a href="#rfc.iref.75"><b>6.4.1</b></a>, <a href="#rfc.xref.status.300.2">6.5.6</a>, <a href="#rfc.xref.status.300.3">8.2.3</a></li>
     4433                  <li>301 Moved Permanently (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.301.1">6.1</a>, <a href="#rfc.iref.75"><b>6.4.2</b></a>, <a href="#rfc.xref.status.301.2">8.2.3</a>, <a href="#rfc.xref.status.301.3">B</a></li>
     4434                  <li>302 Found (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.302.1">6.1</a>, <a href="#rfc.iref.75"><b>6.4.3</b></a>, <a href="#rfc.xref.status.302.2">8.2.3</a>, <a href="#rfc.xref.status.302.3">B</a></li>
     4435                  <li>303 See Other (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.303.1">6.1</a>, <a href="#rfc.iref.75"><b>6.4.4</b></a>, <a href="#rfc.xref.status.303.2">8.2.3</a>, <a href="#rfc.xref.status.303.3">B</a></li>
     4436                  <li>305 Use Proxy (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.305.1">6.1</a>, <a href="#rfc.iref.75"><b>6.4.5</b></a>, <a href="#rfc.xref.status.305.2">8.2.3</a>, <a href="#rfc.xref.status.305.3">B</a></li>
     4437                  <li>306 (Unused) (status code)&nbsp;&nbsp;<a href="#rfc.iref.75"><b>6.4.6</b></a>, <a href="#rfc.xref.status.306.1">8.2.3</a></li>
     4438                  <li>307 Temporary Redirect (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.307.1">6.1</a>, <a href="#rfc.iref.75"><b>6.4.7</b></a>, <a href="#rfc.xref.status.307.2">8.2.3</a></li>
     4439                  <li>3xx Redirection (status code class)&nbsp;&nbsp;<a href="#rfc.iref.74"><b>6.4</b></a>, <a href="#rfc.xref.status.3xx.1">B</a>, <a href="#rfc.xref.status.3xx.2">B</a></li>
    44384440               </ul>
    44394441            </li>
    44404442            <li><a id="rfc.index.4" href="#rfc.index.4"><b>4</b></a><ul>
    4441                   <li>400 Bad Request (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.400.1">6.1</a>, <a href="#rfc.iref.75"><b>6.5.1</b></a>, <a href="#rfc.xref.status.400.2">8.2.3</a>, <a href="#rfc.xref.status.400.3">B</a></li>
    4442                   <li>402 Payment Required (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.402.1">6.1</a>, <a href="#rfc.iref.75"><b>6.5.2</b></a>, <a href="#rfc.xref.status.402.2">8.2.3</a></li>
    4443                   <li>403 Forbidden (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.403.1">6.1</a>, <a href="#rfc.iref.75"><b>6.5.3</b></a>, <a href="#rfc.xref.status.403.2">8.2.3</a></li>
    4444                   <li>404 Not Found (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.404.1">6.1</a>, <a href="#rfc.iref.75"><b>6.5.4</b></a>, <a href="#rfc.xref.status.404.2">8.2.3</a></li>
    4445                   <li>405 Method Not Allowed (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.405.1">6.1</a>, <a href="#rfc.iref.75"><b>6.5.5</b></a>, <a href="#rfc.xref.status.405.2">8.2.3</a></li>
    4446                   <li>406 Not Acceptable (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.406.1">6.1</a>, <a href="#rfc.iref.75"><b>6.5.6</b></a>, <a href="#rfc.xref.status.406.2">8.2.3</a></li>
    4447                   <li>408 Request Timeout (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.408.1">6.1</a>, <a href="#rfc.iref.75"><b>6.5.7</b></a>, <a href="#rfc.xref.status.408.2">8.2.3</a></li>
    4448                   <li>409 Conflict (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.409.1">6.1</a>, <a href="#rfc.iref.75"><b>6.5.8</b></a>, <a href="#rfc.xref.status.409.2">8.2.3</a></li>
    4449                   <li>410 Gone (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.410.1">6.1</a>, <a href="#rfc.iref.75"><b>6.5.9</b></a>, <a href="#rfc.xref.status.410.2">8.2.3</a></li>
    4450                   <li>411 Length Required (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.411.1">6.1</a>, <a href="#rfc.iref.75"><b>6.5.10</b></a>, <a href="#rfc.xref.status.411.2">8.2.3</a></li>
    4451                   <li>413 Payload Too Large (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.413.1">6.1</a>, <a href="#rfc.iref.75"><b>6.5.11</b></a>, <a href="#rfc.xref.status.413.2">8.2.3</a></li>
    4452                   <li>414 URI Too Long (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.414.1">6.1</a>, <a href="#rfc.iref.75"><b>6.5.12</b></a>, <a href="#rfc.xref.status.414.2">8.2.3</a></li>
    4453                   <li>415 Unsupported Media Type (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.415.1">6.1</a>, <a href="#rfc.iref.75"><b>6.5.13</b></a>, <a href="#rfc.xref.status.415.2">8.2.3</a></li>
    4454                   <li>417 Expectation Failed (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.417.1">6.1</a>, <a href="#rfc.iref.75"><b>6.5.14</b></a>, <a href="#rfc.xref.status.417.2">8.2.3</a></li>
    4455                   <li>426 Upgrade Required (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.426.1">6.1</a>, <a href="#rfc.iref.75"><b>6.5.15</b></a>, <a href="#rfc.xref.status.426.2">8.2.3</a>, <a href="#rfc.xref.status.426.3">B</a></li>
    4456                   <li>4xx Client Error (status code class)&nbsp;&nbsp;<a href="#rfc.iref.74"><b>6.5</b></a></li>
     4443                  <li>400 Bad Request (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.400.1">6.1</a>, <a href="#rfc.iref.76"><b>6.5.1</b></a>, <a href="#rfc.xref.status.400.2">8.2.3</a>, <a href="#rfc.xref.status.400.3">B</a></li>
     4444                  <li>402 Payment Required (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.402.1">6.1</a>, <a href="#rfc.iref.76"><b>6.5.2</b></a>, <a href="#rfc.xref.status.402.2">8.2.3</a></li>
     4445                  <li>403 Forbidden (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.403.1">6.1</a>, <a href="#rfc.iref.76"><b>6.5.3</b></a>, <a href="#rfc.xref.status.403.2">8.2.3</a></li>
     4446                  <li>404 Not Found (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.404.1">6.1</a>, <a href="#rfc.iref.76"><b>6.5.4</b></a>, <a href="#rfc.xref.status.404.2">8.2.3</a></li>
     4447                  <li>405 Method Not Allowed (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.405.1">6.1</a>, <a href="#rfc.iref.76"><b>6.5.5</b></a>, <a href="#rfc.xref.status.405.2">8.2.3</a></li>
     4448                  <li>406 Not Acceptable (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.406.1">6.1</a>, <a href="#rfc.iref.76"><b>6.5.6</b></a>, <a href="#rfc.xref.status.406.2">8.2.3</a></li>
     4449                  <li>408 Request Timeout (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.408.1">6.1</a>, <a href="#rfc.iref.76"><b>6.5.7</b></a>, <a href="#rfc.xref.status.408.2">8.2.3</a></li>
     4450                  <li>409 Conflict (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.409.1">6.1</a>, <a href="#rfc.iref.76"><b>6.5.8</b></a>, <a href="#rfc.xref.status.409.2">8.2.3</a></li>
     4451                  <li>410 Gone (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.410.1">6.1</a>, <a href="#rfc.iref.76"><b>6.5.9</b></a>, <a href="#rfc.xref.status.410.2">8.2.3</a></li>
     4452                  <li>411 Length Required (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.411.1">6.1</a>, <a href="#rfc.iref.76"><b>6.5.10</b></a>, <a href="#rfc.xref.status.411.2">8.2.3</a></li>
     4453                  <li>413 Payload Too Large (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.413.1">6.1</a>, <a href="#rfc.iref.76"><b>6.5.11</b></a>, <a href="#rfc.xref.status.413.2">8.2.3</a></li>
     4454                  <li>414 URI Too Long (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.414.1">6.1</a>, <a href="#rfc.iref.76"><b>6.5.12</b></a>, <a href="#rfc.xref.status.414.2">8.2.3</a></li>
     4455                  <li>415 Unsupported Media Type (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.415.1">6.1</a>, <a href="#rfc.iref.76"><b>6.5.13</b></a>, <a href="#rfc.xref.status.415.2">8.2.3</a></li>
     4456                  <li>417 Expectation Failed (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.417.1">6.1</a>, <a href="#rfc.iref.76"><b>6.5.14</b></a>, <a href="#rfc.xref.status.417.2">8.2.3</a></li>
     4457                  <li>426 Upgrade Required (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.426.1">6.1</a>, <a href="#rfc.iref.76"><b>6.5.15</b></a>, <a href="#rfc.xref.status.426.2">8.2.3</a>, <a href="#rfc.xref.status.426.3">B</a></li>
     4458                  <li>4xx Client Error (status code class)&nbsp;&nbsp;<a href="#rfc.iref.75"><b>6.5</b></a></li>
    44574459               </ul>
    44584460            </li>
    44594461            <li><a id="rfc.index.5" href="#rfc.index.5"><b>5</b></a><ul>
    4460                   <li>500 Internal Server Error (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.500.1">6.1</a>, <a href="#rfc.iref.76"><b>6.6.1</b></a>, <a href="#rfc.xref.status.500.2">8.2.3</a></li>
    4461                   <li>501 Not Implemented (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.501.1">6.1</a>, <a href="#rfc.iref.76"><b>6.6.2</b></a>, <a href="#rfc.xref.status.501.2">8.2.3</a></li>
    4462                   <li>502 Bad Gateway (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.502.1">6.1</a>, <a href="#rfc.iref.76"><b>6.6.3</b></a>, <a href="#rfc.xref.status.502.2">8.2.3</a></li>
    4463                   <li>503 Service Unavailable (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.503.1">6.1</a>, <a href="#rfc.iref.76"><b>6.6.4</b></a>, <a href="#rfc.xref.status.503.2">8.2.3</a></li>
    4464                   <li>504 Gateway Timeout (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.504.1">6.1</a>, <a href="#rfc.iref.76"><b>6.6.5</b></a>, <a href="#rfc.xref.status.504.2">8.2.3</a></li>
    4465                   <li>505 HTTP Version Not Supported (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.505.1">6.1</a>, <a href="#rfc.iref.76"><b>6.6.6</b></a>, <a href="#rfc.xref.status.505.2">8.2.3</a></li>
    4466                   <li>5xx Server Error (status code class)&nbsp;&nbsp;<a href="#rfc.iref.75"><b>6.6</b></a></li>
     4462                  <li>500 Internal Server Error (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.500.1">6.1</a>, <a href="#rfc.iref.77"><b>6.6.1</b></a>, <a href="#rfc.xref.status.500.2">8.2.3</a></li>
     4463                  <li>501 Not Implemented (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.501.1">6.1</a>, <a href="#rfc.iref.77"><b>6.6.2</b></a>, <a href="#rfc.xref.status.501.2">8.2.3</a></li>
     4464                  <li>502 Bad Gateway (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.502.1">6.1</a>, <a href="#rfc.iref.77"><b>6.6.3</b></a>, <a href="#rfc.xref.status.502.2">8.2.3</a></li>
     4465                  <li>503 Service Unavailable (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.503.1">6.1</a>, <a href="#rfc.iref.77"><b>6.6.4</b></a>, <a href="#rfc.xref.status.503.2">8.2.3</a></li>
     4466                  <li>504 Gateway Timeout (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.504.1">6.1</a>, <a href="#rfc.iref.77"><b>6.6.5</b></a>, <a href="#rfc.xref.status.504.2">8.2.3</a></li>
     4467                  <li>505 HTTP Version Not Supported (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.505.1">6.1</a>, <a href="#rfc.iref.77"><b>6.6.6</b></a>, <a href="#rfc.xref.status.505.2">8.2.3</a></li>
     4468                  <li>5xx Server Error (status code class)&nbsp;&nbsp;<a href="#rfc.iref.76"><b>6.6</b></a></li>
    44674469               </ul>
    44684470            </li>
     
    44834485                  <li>cacheable&nbsp;&nbsp;<a href="#rfc.iref.c.8"><b>4.2.3</b></a></li>
    44844486                  <li>compress (content coding)&nbsp;&nbsp;<a href="#rfc.iref.c.4"><b>3.1.2.1</b></a></li>
     4487                  <li>conditional request&nbsp;&nbsp;<a href="#rfc.iref.c.10"><b>5.2</b></a></li>
    44854488                  <li>CONNECT method&nbsp;&nbsp;<a href="#rfc.xref.CONNECT.1">4.1</a>, <a href="#rfc.iref.c.9"><b>4.3.6</b></a>, <a href="#rfc.xref.CONNECT.2">8.1.3</a>, <a href="#rfc.xref.CONNECT.3">B</a></li>
    44864489                  <li>content coding&nbsp;&nbsp;<a href="#rfc.iref.c.3"><b>3.1.2.1</b></a></li>
     
    44894492                  <li>Content-Language header field&nbsp;&nbsp;<a href="#rfc.xref.header.content-language.1">3.1</a>, <a href="#rfc.iref.c.6"><b>3.1.3.2</b></a>, <a href="#rfc.xref.header.content-language.2">8.3.2</a></li>
    44904493                  <li>Content-Location header field&nbsp;&nbsp;<a href="#rfc.xref.header.content-location.1">3.1</a>, <a href="#rfc.iref.c.7"><b>3.1.4.2</b></a>, <a href="#rfc.xref.header.content-location.2">4.3.3</a>, <a href="#rfc.xref.header.content-location.3">7.1.2</a>, <a href="#rfc.xref.header.content-location.4">8.3.2</a>, <a href="#rfc.xref.header.content-location.5">B</a></li>
    4491                   <li>Content-Transfer-Encoding header field&nbsp;&nbsp;<a href="#rfc.iref.c.10">A.5</a></li>
     4494                  <li>Content-Transfer-Encoding header field&nbsp;&nbsp;<a href="#rfc.iref.c.11">A.5</a></li>
    44924495                  <li>Content-Type header field&nbsp;&nbsp;<a href="#rfc.xref.header.content-type.1">3.1</a>, <a href="#rfc.xref.header.content-type.2">3.1.1.1</a>, <a href="#rfc.iref.c.2"><b>3.1.1.5</b></a>, <a href="#rfc.xref.header.content-type.3">8.3.1</a>, <a href="#rfc.xref.header.content-type.4">8.3.2</a></li>
    44934496               </ul>
     
    46324635                     </ul>
    46334636                  </li>
    4634                   <li><em>Part4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.1">3</a>, <a href="#rfc.xref.Part4.2">4.3.1</a>, <a href="#rfc.xref.Part4.3">5.2</a>, <a href="#rfc.xref.Part4.4">5.2</a>, <a href="#rfc.xref.Part4.5">5.2</a>, <a href="#rfc.xref.Part4.6">5.2</a>, <a href="#rfc.xref.Part4.7">5.2</a>, <a href="#rfc.xref.Part4.8">6.1</a>, <a href="#rfc.xref.Part4.9">6.1</a>, <a href="#rfc.xref.Part4.10">6.1</a>, <a href="#rfc.xref.Part4.11">7.2</a>, <a href="#rfc.xref.Part4.12">7.2</a>, <a href="#rfc.xref.Part4.13">7.2</a>, <a href="#rfc.xref.Part4.14">8.1.2</a>, <a href="#Part4"><b>11.1</b></a><ul>
    4635                         <li><em>Section 2.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.13">7.2</a></li>
    4636                         <li><em>Section 2.3</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.12">7.2</a></li>
    4637                         <li><em>Section 3.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.4">5.2</a></li>
    4638                         <li><em>Section 3.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.5">5.2</a></li>
    4639                         <li><em>Section 3.3</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.6">5.2</a></li>
    4640                         <li><em>Section 3.4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.7">5.2</a></li>
    4641                         <li><em>Section 4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.8">6.1</a></li>
    4642                         <li><em>Section 4.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.9">6.1</a></li>
    4643                         <li><em>Section 4.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.10">6.1</a></li>
     4637                  <li><em>Part4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.1">3</a>, <a href="#rfc.xref.Part4.2">4.1</a>, <a href="#rfc.xref.Part4.3">5.2</a>, <a href="#rfc.xref.Part4.4">5.2</a>, <a href="#rfc.xref.Part4.5">5.2</a>, <a href="#rfc.xref.Part4.6">5.2</a>, <a href="#rfc.xref.Part4.7">5.2</a>, <a href="#rfc.xref.Part4.8">5.2</a>, <a href="#rfc.xref.Part4.9">6.1</a>, <a href="#rfc.xref.Part4.10">6.1</a>, <a href="#rfc.xref.Part4.11">6.1</a>, <a href="#rfc.xref.Part4.12">7.2</a>, <a href="#rfc.xref.Part4.13">7.2</a>, <a href="#rfc.xref.Part4.14">7.2</a>, <a href="#Part4"><b>11.1</b></a><ul>
     4638                        <li><em>Section 2.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.14">7.2</a></li>
     4639                        <li><em>Section 2.3</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.13">7.2</a></li>
     4640                        <li><em>Section 3.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.5">5.2</a></li>
     4641                        <li><em>Section 3.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.6">5.2</a></li>
     4642                        <li><em>Section 3.3</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.7">5.2</a></li>
     4643                        <li><em>Section 3.4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.8">5.2</a></li>
     4644                        <li><em>Section 4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.9">6.1</a></li>
     4645                        <li><em>Section 4.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.10">6.1</a></li>
     4646                        <li><em>Section 4.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.11">6.1</a></li>
     4647                        <li><em>Section 5</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.4">5.2</a></li>
    46444648                     </ul>
    46454649                  </li>
    4646                   <li><em>Part5</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.1">3.1.1.4</a>, <a href="#rfc.xref.Part5.2">3.3</a>, <a href="#rfc.xref.Part5.3">4.3.1</a>, <a href="#rfc.xref.Part5.4">4.3.1</a>, <a href="#rfc.xref.Part5.5">4.3.4</a>, <a href="#rfc.xref.Part5.6">5.1</a>, <a href="#rfc.xref.Part5.7">5.2</a>, <a href="#rfc.xref.Part5.8">6.1</a>, <a href="#rfc.xref.Part5.9">6.1</a>, <a href="#rfc.xref.Part5.10">6.1</a>, <a href="#rfc.xref.Part5.11">7.4</a>, <a href="#rfc.xref.Part5.12">8.1.2</a>, <a href="#Part5"><b>11.1</b></a>, <a href="#rfc.xref.Part5.13">A.6</a><ul>
    4647                         <li><em>Section 2.3</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.11">7.4</a></li>
    4648                         <li><em>Section 3.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.4">4.3.1</a>, <a href="#rfc.xref.Part5.6">5.1</a></li>
    4649                         <li><em>Section 3.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.7">5.2</a></li>
    4650                         <li><em>Section 4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.8">6.1</a></li>
    4651                         <li><em>Section 4.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.9">6.1</a></li>
    4652                         <li><em>Section 4.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.2">3.3</a>, <a href="#rfc.xref.Part5.5">4.3.4</a></li>
    4653                         <li><em>Section 4.4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.10">6.1</a></li>
    4654                         <li><em>Appendix A</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.13">A.6</a></li>
     4650                  <li><em>Part5</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.1">3.1.1.4</a>, <a href="#rfc.xref.Part5.2">3.3</a>, <a href="#rfc.xref.Part5.3">4.3.1</a>, <a href="#rfc.xref.Part5.4">4.3.4</a>, <a href="#rfc.xref.Part5.5">5.1</a>, <a href="#rfc.xref.Part5.6">5.2</a>, <a href="#rfc.xref.Part5.7">6.1</a>, <a href="#rfc.xref.Part5.8">6.1</a>, <a href="#rfc.xref.Part5.9">6.1</a>, <a href="#rfc.xref.Part5.10">7.4</a>, <a href="#rfc.xref.Part5.11">8.1.2</a>, <a href="#Part5"><b>11.1</b></a>, <a href="#rfc.xref.Part5.12">A.6</a><ul>
     4651                        <li><em>Section 2.3</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.10">7.4</a></li>
     4652                        <li><em>Section 3.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.5">5.1</a></li>
     4653                        <li><em>Section 3.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.6">5.2</a></li>
     4654                        <li><em>Section 4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.7">6.1</a></li>
     4655                        <li><em>Section 4.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.8">6.1</a></li>
     4656                        <li><em>Section 4.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.2">3.3</a>, <a href="#rfc.xref.Part5.4">4.3.4</a></li>
     4657                        <li><em>Section 4.4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.9">6.1</a></li>
     4658                        <li><em>Appendix A</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.12">A.6</a></li>
    46554659                     </ul>
    46564660                  </li>
     
    47814785            </li>
    47824786            <li><a id="rfc.index.T" href="#rfc.index.T"><b>T</b></a><ul>
    4783                   <li>TRACE method&nbsp;&nbsp;<a href="#rfc.xref.TRACE.1">4.1</a>, <a href="#rfc.iref.t.1"><b>4.3.8</b></a>, <a href="#rfc.xref.TRACE.2">5.1.2</a>, <a href="#rfc.xref.TRACE.3">8.1.3</a>, <a href="#rfc.extref.t.50">B</a>, <a href="#rfc.xref.TRACE.4">B</a>, <a href="#rfc.extref.t.51">B</a></li>
     4787                  <li>TRACE method&nbsp;&nbsp;<a href="#rfc.xref.TRACE.1">4.1</a>, <a href="#rfc.iref.t.1"><b>4.3.8</b></a>, <a href="#rfc.xref.TRACE.2">5.1.2</a>, <a href="#rfc.xref.TRACE.3">8.1.3</a>, <a href="#rfc.extref.t.49">B</a>, <a href="#rfc.xref.TRACE.4">B</a>, <a href="#rfc.extref.t.50">B</a></li>
    47844788               </ul>
    47854789            </li>
  • draft-ietf-httpbis/latest/p2-semantics.xml

    r2156 r2161  
    9999  <!ENTITY message-body               "<xref target='Part1' x:rel='#message.body' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    100100  <!ENTITY multipart-byteranges       "<xref target='Part5' x:rel='#internet.media.type.multipart.byteranges' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
     101  <!ENTITY evaluate-conditional       "<xref target='Part4' x:rel='#precedence' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    101102  <!ENTITY http-date                  "<xref target='http.date' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    102103  <!ENTITY uri                        "<xref target='Part1' x:rel='#uri' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
     
    477478   The "Content-Type" header field indicates the media type of the
    478479   associated representation: either the representation enclosed in
    479    the message payload or the selected representation, as determined by the
     480   the message payload or the <x:ref>selected representation</x:ref>, as determined by the
    480481   message semantics.  The indicated media type defines both the data format
    481482   and how that data is intended to be processed by a recipient, within the
     
    790791       effective request URI refers to a resource that is subject to content
    791792       negotiation and the Content-Location field-value is a more specific
    792        identifier for the selected representation.</t>
     793       identifier for the <x:ref>selected representation</x:ref>.</t>
    793794    <t>For a <x:ref>201 (Created)</x:ref> response to a state-changing method,
    794795       a Content-Location field-value that is identical to the
     
    11321133   with the <x:ref>405 (Method Not Allowed)</x:ref> status code.
    11331134</t>
     1135<t>
     1136   A client can send conditional request header fields
     1137   (<xref target="request.conditionals"/>) to make the requested
     1138   action conditional on the current state of the target resource
     1139   (<xref target="Part4"/>).
     1140</t>
    11341141</section>
    11351142
     
    12441251  <iref primary="true" item="GET method" x:for-anchor=""/>
    12451252<t>
    1246    The GET method requests transfer of a current representation of
     1253   The GET method requests transfer of the selected representation for
    12471254   the <x:ref>target resource</x:ref>. GET is the primary mechanism of
    12481255   information retrieval and the focus of almost all performance
     
    12561263</t>
    12571264<t>
    1258    The semantics of the GET method change to a "conditional GET" if the
    1259    request message includes an <x:ref>If-Modified-Since</x:ref>,
    1260    <x:ref>If-Unmodified-Since</x:ref>, <x:ref>If-Match</x:ref>,
    1261    <x:ref>If-None-Match</x:ref>, or <x:ref>If-Range</x:ref> header field
    1262    (<xref target="Part4"/>). A conditional GET requests that the representation
    1263    be transferred only under the circumstances described by the conditional
    1264    header field(s). The conditional GET request is intended to reduce
    1265    unnecessary network usage by allowing cached representations to be refreshed
    1266    without requiring multiple requests or transferring data already held by the
    1267    client.
    1268 </t>
    1269 <t>
    1270    The semantics of the GET method change to a "partial GET" if the request
    1271    message includes a <x:ref>Range</x:ref> header field (<xref target="Part5"/>).
    1272    A partial GET requests that only part of the representation be transferred,
    1273    as described in &header-range;. The partial GET request is intended to reduce
    1274    unnecessary network usage by allowing partially-retrieved representations to
    1275    be completed without transferring data already held by the client.
     1265   A client can alter the semantics of GET to be a "range request", requesting
     1266   transfer of only some part(s) of the selected representation, by sending a
     1267   <x:ref>Range</x:ref> header field in the request (<xref target="Part5"/>).
    12761268</t>
    12771269<t>
     
    14551447   of retrieving again from the origin server, and that the new validator(s)
    14561448   received in the response can be used for future conditional requests in
    1457    order to prevent accidental overwrites.
     1449   order to prevent accidental overwrites (<xref target="request.conditionals"/>).
    14581450</t>
    14591451<t>
     
    19811973
    19821974<section title="Conditionals" anchor="request.conditionals">
    1983 <t>
    1984    Conditionals are request header fields that indicate a precondition to be
    1985    tested before applying the method semantics to the
    1986    <x:ref>target resource</x:ref>. Each precondition is based on metadata that
    1987    is expected to change if the <x:ref>selected representation</x:ref> is
    1988    changed. The HTTP/1.1 conditional request mechanisms are defined in
    1989    <xref target="Part4"/>.
     1975  <iref item="conditional request" primary="true"/>
     1976<t>
     1977   The HTTP conditional request header fields <xref target="Part4"/> allow a
     1978   client to place a precondition on the state of the target resource, so that
     1979   the action corresponding to the method semantics will not be applied if the
     1980   precondition evaluates to false. Each precondition defined by this
     1981   specification consists of a comparison between a set of validators obtained
     1982   from prior representations of the target resource to the current state of
     1983   validators for the <x:ref>selected representation</x:ref>
     1984   (<xref target="response.validator"/>). Hence, these preconditions evaluate
     1985   whether the state of the target resource has changed since a given state
     1986   known by the client. The effect of such an evaluation depends on the method
     1987   semantics and choice of conditional, as defined in &evaluate-conditional;.
    19901988</t>
    19911989<texttable align="left">
     
    28622860   content to send in the response payload body. Metadata in the response
    28632861   header fields refer to the <x:ref>target resource</x:ref> and its
    2864    selected representation after the requested action was applied.
     2862   <x:ref>selected representation</x:ref> after the requested action was applied.
    28652863</t>
    28662864<t>
     
    41644162   under what conditions, a cache can store a response and use it to satisfy a
    41654163   subsequent request.
    4166    If the new method can be made conditional (<xref target="Part4"/>), the
    4167    definition ought to describe how to respond when the condition is false.
     4164   The new method ought to describe whether it can be made conditional
     4165   (<xref target="request.conditionals"/>) and, if so, how a server responds
     4166   when the condition is false.
    41684167   Likewise, if the new method might have some use for partial response
    41694168   semantics (<xref target="Part5"/>), it ought to document this too.
     
    50085007  <x:source basename="p4-conditional" href="p4-conditional.xml">
    50095008    <x:defines>304 (Not Modified)</x:defines>
     5009    <x:defines>412 (Precondition Failed)</x:defines>
    50105010    <x:defines>ETag</x:defines>
    50115011    <x:defines>If-Match</x:defines>
  • draft-ietf-httpbis/latest/p4-conditional.html

    r2159 r2161  
    449449  }
    450450  @bottom-center {
    451        content: "Expires July 28, 2013";
     451       content: "Expires July 29, 2013";
    452452  }
    453453  @bottom-right {
     
    491491      <meta name="dct.creator" content="Reschke, J. F.">
    492492      <meta name="dct.identifier" content="urn:ietf:id:draft-ietf-httpbis-p4-conditional-latest">
    493       <meta name="dct.issued" scheme="ISO8601" content="2013-01-24">
     493      <meta name="dct.issued" scheme="ISO8601" content="2013-01-25">
    494494      <meta name="dct.replaces" content="urn:ietf:rfc:2616">
    495495      <meta name="dct.abstract" content="The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypertext information systems. This document defines HTTP/1.1 conditional requests, including metadata header fields for indicating state changes, request header fields for making preconditions on such state, and rules for constructing the responses to a conditional request when one or more preconditions evaluate to false.">
     
    517517            </tr>
    518518            <tr>
    519                <td class="left">Expires: July 28, 2013</td>
    520                <td class="right">January 24, 2013</td>
     519               <td class="left">Expires: July 29, 2013</td>
     520               <td class="right">January 25, 2013</td>
    521521            </tr>
    522522         </tbody>
     
    545545         in progress”.
    546546      </p>
    547       <p>This Internet-Draft will expire on July 28, 2013.</p>
     547      <p>This Internet-Draft will expire on July 29, 2013.</p>
    548548      <h1><a id="rfc.copyrightnotice" href="#rfc.copyrightnotice">Copyright Notice</a></h1>
    549549      <p>Copyright © 2013 IETF Trust and the persons identified as the document authors. All rights reserved.</p>
     
    624624      <h1 id="rfc.section.1" class="np"><a href="#rfc.section.1">1.</a>&nbsp;<a id="introduction" href="#introduction">Introduction</a></h1>
    625625      <p id="rfc.section.1.p.1">Conditional requests are HTTP requests <a href="#Part2" id="rfc.xref.Part2.1"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[Part2]</cite></a> that include one or more header fields indicating a precondition to be tested before applying the method semantics to the
    626          target resource. Each precondition is based on metadata that is expected to change if the selected representation of the target
    627          resource is changed. This document defines the HTTP/1.1 conditional request mechanisms in terms of the architecture, syntax
    628          notation, and conformance criteria defined in <a href="#Part1" id="rfc.xref.Part1.1"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a>.
     626         target resource. This document defines the HTTP/1.1 conditional request mechanisms in terms of the architecture, syntax notation,
     627         and conformance criteria defined in <a href="#Part1" id="rfc.xref.Part1.1"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a>.
    629628      </p>
    630629      <p id="rfc.section.1.p.2">Conditional GET requests are the most efficient mechanism for HTTP cache updates <a href="#Part6" id="rfc.xref.Part6.1"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a>. Conditionals can also be applied to state-changing methods, such as PUT and DELETE, to prevent the "lost update" problem:
    631630         one client accidentally overwriting the work of another client that has been acting in parallel.
    632631      </p>
    633       <p id="rfc.section.1.p.3">Conditional request preconditions are based on the state of the target resource as a whole (its current value set) or the
     632      <p id="rfc.section.1.p.3"><span id="rfc.iref.s.1"></span> Conditional request preconditions are based on the state of the target resource as a whole (its current value set) or the
    634633         state as observed in a previously obtained representation (one value in that set). A resource might have multiple current
    635634         representations, each with its own observable state. The conditional request mechanisms assume that the mapping of requests
    636          to corresponding representations will be consistent over time if the server intends to take advantage of conditionals. Regardless,
    637          if the mapping is inconsistent and the server is unable to select the appropriate representation, then no harm will result
    638          when the precondition evaluates to false.
    639       </p>
    640       <p id="rfc.section.1.p.4"><span id="rfc.iref.s.1"></span> We use the term "<dfn>selected representation</dfn>" to refer to the current representation of the target resource that would have been selected in a successful response if
    641          the same request had used the method GET and had excluded all of the conditional request header fields. The conditional request
    642          preconditions are evaluated by comparing the values provided in the request header fields to the current metadata for the
    643          selected representation.
     635         to a "selected representation" (<a href="p2-semantics.html#representations" title="Representations">Section 3</a> of <a href="#Part2" id="rfc.xref.Part2.2"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[Part2]</cite></a>) will be consistent over time if the server intends to take advantage of conditionals. Regardless, if the mapping is inconsistent
     636         and the server is unable to select the appropriate representation, then no harm will result when the precondition evaluates
     637         to false.
     638      </p>
     639      <p id="rfc.section.1.p.4">The conditional request preconditions defined by this specification are evaluated by comparing the validators provided in
     640         the conditional request header fields to the current validators for the selected representation in the order defined by <a href="#precedence" title="Evaluation and Precedence">Section&nbsp;5</a>.
    644641      </p>
    645642      <h2 id="rfc.section.1.1"><a href="#rfc.section.1.1">1.1</a>&nbsp;<a id="conformance" href="#conformance">Conformance and Error Handling</a></h2>
     
    868865      </div>
    869866      <h3 id="rfc.section.2.3.3"><a href="#rfc.section.2.3.3">2.3.3</a>&nbsp;<a id="example.entity.tag.vs.conneg" href="#example.entity.tag.vs.conneg">Example: Entity-tags Varying on Content-Negotiated Resources</a></h3>
    870       <p id="rfc.section.2.3.3.p.1">Consider a resource that is subject to content negotiation (<a href="p2-semantics.html#content.negotiation" title="Content Negotiation">Section 3.4</a> of <a href="#Part2" id="rfc.xref.Part2.2"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[Part2]</cite></a>), and where the representations sent in response to a GET request vary based on the <a href="p2-semantics.html#header.accept-encoding" class="smpl">Accept-Encoding</a> request header field (<a href="p2-semantics.html#header.accept-encoding" title="Accept-Encoding">Section 5.3.4</a> of <a href="#Part2" id="rfc.xref.Part2.3"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[Part2]</cite></a>):
     867      <p id="rfc.section.2.3.3.p.1">Consider a resource that is subject to content negotiation (<a href="p2-semantics.html#content.negotiation" title="Content Negotiation">Section 3.4</a> of <a href="#Part2" id="rfc.xref.Part2.3"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[Part2]</cite></a>), and where the representations sent in response to a GET request vary based on the <a href="p2-semantics.html#header.accept-encoding" class="smpl">Accept-Encoding</a> request header field (<a href="p2-semantics.html#header.accept-encoding" title="Accept-Encoding">Section 5.3.4</a> of <a href="#Part2" id="rfc.xref.Part2.4"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[Part2]</cite></a>):
    871868      </p>
    872869      <div id="rfc.figure.u.5"></div>
     
    10701067      <p id="rfc.section.5.p.1">For each conditional request, a server <em class="bcp14">MUST</em> evaluate the request preconditions after it has successfully performed its normal request checks (i.e., just before it would
    10711068         perform the action associated with the request method). Preconditions are ignored if the server determines that an error or
    1072          redirect response applies before they are evaluated.
    1073       </p>
    1074       <p id="rfc.section.5.p.2">When more than one conditional request header field is present in a request, the order in which the fields are evaluated becomes
     1069         redirect response applies before they are evaluated. Otherwise, the evaluation depends on both the method semantics and the
     1070         choice of conditional.
     1071      </p>
     1072      <p id="rfc.section.5.p.2">A conditional request header field that is designed specifically for cache validation, which includes <a href="#header.if-none-match" class="smpl">If-None-Match</a> and <a href="#header.if-modified-since" class="smpl">If-Modified-Since</a> when used in a GET or HEAD request, allows cached representations to be refreshed without repeatedly transferring data already
     1073         held by the client. Evaluating to false is thus an indication that the client can continue to use its local copy of the selected
     1074         representation, as indicated by the server generating a <a href="#status.304" class="smpl">304 (Not Modified)</a> response that includes only those header fields useful for refreshing the cached representation.
     1075      </p>
     1076      <p id="rfc.section.5.p.3">All other conditionals are intended to signal failure when the precondition evaluates to false. For example, an <a href="#header.if-match" class="smpl">If-Match</a> conditional sent with a state-changing method (e.g., POST, PUT, DELETE) is intended to prevent the request from taking effect
     1077         on the target resource if the resource state does not match the expected state. In other words, evaluating the condition to
     1078         false means that the resource has been changed by some other client, perhaps by another user attempting to edit the same resource,
     1079         and thus preventing the request from being applied saves the client from overwriting some other client's work. This result
     1080         is indicated by the server generating a <a href="#status.412" class="smpl">412 (Precondition Failed)</a> response.
     1081      </p>
     1082      <p id="rfc.section.5.p.4">The conditional request header fields defined by this specification are ignored for request methods that never involve the
     1083         selection or modification of a <a href="p2-semantics.html#representations" class="smpl">selected representation</a> (e.g., CONNECT, OPTIONS, and TRACE). Other conditional request header fields, defined by extensions to HTTP, might place conditions
     1084         on the state of the target resource in general, such as how the If header field in WebDAV has been defined to make a request
     1085         conditional on the presence or absence of a lock <a href="#RFC4918" id="rfc.xref.RFC4918.2"><cite title="HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)">[RFC4918]</cite></a>.
     1086      </p>
     1087      <p id="rfc.section.5.p.5">When more than one conditional request header field is present in a request, the order in which the fields are evaluated becomes
    10751088         important. In practice, the fields defined in this document are consistently implemented in a single, logical order, due to
    10761089         the fact that entity tags are presumed to be more accurate than date validators. For example, the only reason to send both <a href="#header.if-modified-since" class="smpl">If-Modified-Since</a> and <a href="#header.if-none-match" class="smpl">If-None-Match</a> in the same GET request is to support intermediary caches that might not have implemented <a href="#header.if-none-match" class="smpl">If-None-Match</a>, so it makes sense to ignore the <a href="#header.if-modified-since" class="smpl">If-Modified-Since</a> when entity tags are understood and available for the selected representation.
    10771090      </p>
    1078       <p id="rfc.section.5.p.3">The general rule of conditional precedence is that exact match conditions are evaluated before cache-validating conditions
     1091      <p id="rfc.section.5.p.6">The general rule of conditional precedence is that exact match conditions are evaluated before cache-validating conditions
    10791092         and, within that order, last-modified conditions are only evaluated if the corresponding entity tag condition is not present
    10801093         (or not applicable because the selected representation does not have an entity tag).
    10811094      </p>
    1082       <p id="rfc.section.5.p.4">Specifically, the fields defined by this specification are evaluated as follows: </p>
     1095      <p id="rfc.section.5.p.7">Specifically, the fields defined by this specification are evaluated as follows: </p>
    10831096      <ol>
    10841097         <li>When <a href="#header.if-match" class="smpl">If-Match</a> is present, evaluate it:
     
    11181131         </li>
    11191132      </ol>
    1120       <p id="rfc.section.5.p.5">Any extension to HTTP/1.1 that defines additional conditional request header fields ought to define its own expectations regarding
     1133      <p id="rfc.section.5.p.8">Any extension to HTTP/1.1 that defines additional conditional request header fields ought to define its own expectations regarding
    11211134         the order for evaluating such fields in relation to those defined in this document and other conditionals that might be found
    11221135         in practice.
     
    12151228      <h1 id="rfc.section.7"><a href="#rfc.section.7">7.</a>&nbsp;<a id="security.considerations" href="#security.considerations">Security Considerations</a></h1>
    12161229      <p id="rfc.section.7.p.1">This section is meant to inform developers, information providers, and users of known security concerns specific to the HTTP/1.1
    1217          conditional request mechanisms. More general security considerations are addressed in HTTP messaging <a href="#Part1" id="rfc.xref.Part1.5"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a> and semantics <a href="#Part2" id="rfc.xref.Part2.4"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[Part2]</cite></a>.
     1230         conditional request mechanisms. More general security considerations are addressed in HTTP messaging <a href="#Part1" id="rfc.xref.Part1.5"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a> and semantics <a href="#Part2" id="rfc.xref.Part2.5"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[Part2]</cite></a>.
    12181231      </p>
    12191232      <p id="rfc.section.7.p.2">The validators defined by this specification are not intended to ensure the validity of a representation, guard against malicious
     
    13181331  <a href="#imported.abnf" class="smpl">obs-text</a>      = &lt;obs-text, defined in <a href="#Part1" id="rfc.xref.Part1.9"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.6</a>&gt;
    13191332</pre><p id="rfc.section.B.p.4">The rules below are defined in other parts:</p>
    1320       <div id="rfc.figure.u.17"></div><pre class="inline">  <a href="#imported.abnf" class="smpl">HTTP-date</a>     = &lt;HTTP-date, defined in <a href="#Part2" id="rfc.xref.Part2.5"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[Part2]</cite></a>, <a href="p2-semantics.html#http.date" title="Date/Time Formats">Section 7.1.1.1</a>&gt;
     1333      <div id="rfc.figure.u.17"></div><pre class="inline">  <a href="#imported.abnf" class="smpl">HTTP-date</a>     = &lt;HTTP-date, defined in <a href="#Part2" id="rfc.xref.Part2.6"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[Part2]</cite></a>, <a href="p2-semantics.html#http.date" title="Date/Time Formats">Section 7.1.1.1</a>&gt;
    13211334</pre><h1 id="rfc.section.C"><a href="#rfc.section.C">C.</a>&nbsp;<a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1>
    13221335      <div id="rfc.figure.u.18"></div> <pre class="inline"><a href="#header.etag" class="smpl">ETag</a> = entity-tag
     
    14521465                     </ul>
    14531466                  </li>
    1454                   <li><em>Part2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.1">1</a>, <a href="#rfc.xref.Part2.2">2.3.3</a>, <a href="#rfc.xref.Part2.3">2.3.3</a>, <a href="#rfc.xref.Part2.4">7</a>, <a href="#Part2"><b>9.1</b></a>, <a href="#rfc.xref.Part2.5">B</a><ul>
    1455                         <li><em>Section 3.4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.2">2.3.3</a></li>
    1456                         <li><em>Section 5.3.4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.3">2.3.3</a></li>
    1457                         <li><em>Section 7.1.1.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.5">B</a></li>
     1467                  <li><em>Part2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.1">1</a>, <a href="#rfc.xref.Part2.2">1</a>, <a href="#rfc.xref.Part2.3">2.3.3</a>, <a href="#rfc.xref.Part2.4">2.3.3</a>, <a href="#rfc.xref.Part2.5">7</a>, <a href="#Part2"><b>9.1</b></a>, <a href="#rfc.xref.Part2.6">B</a><ul>
     1468                        <li><em>Section 3</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.2">1</a></li>
     1469                        <li><em>Section 3.4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.3">2.3.3</a></li>
     1470                        <li><em>Section 5.3.4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.4">2.3.3</a></li>
     1471                        <li><em>Section 7.1.1.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.6">B</a></li>
    14581472                     </ul>
    14591473                  </li>
     
    14741488                     </ul>
    14751489                  </li>
    1476                   <li><em>RFC4918</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC4918.1">2</a>, <a href="#RFC4918"><b>9.2</b></a></li>
     1490                  <li><em>RFC4918</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC4918.1">2</a>, <a href="#rfc.xref.RFC4918.2">5</a>, <a href="#RFC4918"><b>9.2</b></a></li>
    14771491                  <li><em>RFC5234</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC5234.1">1.2</a>, <a href="#RFC5234"><b>9.1</b></a>, <a href="#rfc.xref.RFC5234.2">B</a><ul>
    14781492                        <li><em>Appendix B.1</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC5234.2">B</a></li>
  • draft-ietf-httpbis/latest/p4-conditional.xml

    r2159 r2161  
    2424  <!ENTITY field-components           "<xref target='Part1' x:rel='#field.components' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    2525  <!ENTITY header-date                "<xref target='Part2' x:rel='#header.date' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
     26  <!ENTITY representation             "<xref target='Part2' x:rel='#representations' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    2627  <!ENTITY messaging                  "<xref target='Part1' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    2728  <!ENTITY semantics                  "<xref target='Part2' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
     
    124125   one or more header fields indicating a precondition to be tested before
    125126   applying the method semantics to the target resource.
    126    Each precondition is based on metadata that is expected to change if the
    127    selected representation of the target resource is changed.
    128127   This document defines the HTTP/1.1 conditional request mechanisms in terms
    129128   of the architecture, syntax notation, and conformance criteria defined in
     
    137136   the work of another client that has been acting in parallel.
    138137</t>
    139 <t>
     138<t><iref primary="true" item="selected representation"/>
    140139   Conditional request preconditions are based on the state of the target
    141140   resource as a whole (its current value set) or the state as observed
     
    143142   A resource might have multiple current representations, each with its
    144143   own observable state.  The conditional request mechanisms assume that
    145    the mapping of requests to corresponding representations will be
    146    consistent over time if the server intends to take advantage of
    147    conditionals.  Regardless, if the mapping is inconsistent and
    148    the server is unable to select the appropriate representation, then
    149    no harm will result when the precondition evaluates to false.
    150 </t>
    151 <t><iref primary="true" item="selected representation"/>
    152    We use the term "<x:dfn>selected representation</x:dfn>" to refer to
    153    the current representation of the target resource that would have been
    154    selected in a successful response if the same request had used the method
    155    GET and had excluded all of the conditional request header fields.
    156    The conditional request preconditions are evaluated by comparing the
    157    values provided in the request header fields to the current metadata
    158    for the selected representation.
     144   the mapping of requests to a "selected representation" (&representation;)
     145   will be consistent over time if the server intends to take advantage of
     146   conditionals. Regardless, if the mapping is inconsistent and the server is
     147   unable to select the appropriate representation, then no harm will result
     148   when the precondition evaluates to false.
     149</t>
     150<t>
     151   The conditional request preconditions defined by this specification are
     152   evaluated by comparing the validators provided in the conditional request
     153   header fields to the current validators for the selected representation
     154   in the order defined by <xref target="precedence"/>.
    159155</t>
    160156
     
    954950   (i.e., just before it would perform the action associated with the request
    955951   method). Preconditions are ignored if the server determines that an error
    956    or redirect response applies before they are evaluated.
     952   or redirect response applies before they are evaluated. Otherwise, the
     953   evaluation depends on both the method semantics and the choice of
     954   conditional.
     955</t>
     956<t>
     957   A conditional request header field that is designed specifically for cache
     958   validation, which includes <x:ref>If-None-Match</x:ref> and
     959   <x:ref>If-Modified-Since</x:ref> when used in a GET or HEAD request,
     960   allows cached representations to be refreshed without repeatedly
     961   transferring data already held by the client. Evaluating to false is thus
     962   an indication that the client can continue to use its local copy of the
     963   selected representation, as indicated by the server generating a
     964   <x:ref>304 (Not Modified)</x:ref> response that includes only those header
     965   fields useful for refreshing the cached representation.
     966</t>
     967<t>
     968   All other conditionals are intended to signal failure when the
     969   precondition evaluates to false. For example, an <x:ref>If-Match</x:ref>
     970   conditional sent with a state-changing method (e.g., POST, PUT, DELETE) is
     971   intended to prevent the request from taking effect on the target resource
     972   if the resource state does not match the expected state. In other words,
     973   evaluating the condition to false means that the resource has been changed
     974   by some other client, perhaps by another user attempting to edit the same
     975   resource, and thus preventing the request from being applied saves the
     976   client from overwriting some other client's work. This result is indicated
     977   by the server generating a <x:ref>412 (Precondition Failed)</x:ref>
     978   response.
     979</t>
     980<t>
     981   The conditional request header fields defined by this specification are
     982   ignored for request methods that never involve the selection or
     983   modification of a <x:ref>selected representation</x:ref> (e.g., CONNECT,
     984   OPTIONS, and TRACE). Other conditional request header fields, defined by
     985   extensions to HTTP, might place conditions on the state of the target
     986   resource in general, such as how the If header field in WebDAV has been
     987   defined to make a request conditional on the presence or absence of a lock
     988   <xref target="RFC4918"/>.
    957989</t>
    958990<t>
     
    11981230    <x:defines>Location</x:defines>
    11991231    <x:defines>Vary</x:defines>
     1232    <x:defines>selected representation</x:defines>
    12001233  </x:source>
    12011234</reference>
Note: See TracChangeset for help on using the changeset viewer.