Changeset 1796


Ignore:
Timestamp:
Jul 15, 2012, 10:38:18 PM (7 years ago)
Author:
julian.reschke@…
Message:

Undo the part of [1783] that removed/moved the conformance/syntax sections.

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

Legend:

Unmodified
Added
Removed
  • draft-ietf-httpbis/latest/p1-messaging.html

    r1792 r1796  
    449449  }
    450450  @bottom-center {
    451        content: "Expires January 16, 2013";
     451       content: "Expires January 17, 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-p1-messaging-latest">
    493       <meta name="dct.issued" scheme="ISO8601" content="2012-07-15">
     493      <meta name="dct.issued" scheme="ISO8601" content="2012-07-16">
    494494      <meta name="dct.replaces" content="urn:ietf:rfc:2145">
    495495      <meta name="dct.replaces" content="urn:ietf:rfc:2616">
     
    523523            </tr>
    524524            <tr>
    525                <td class="left">Expires: January 16, 2013</td>
     525               <td class="left">Expires: January 17, 2013</td>
    526526               <td class="right">greenbytes</td>
    527527            </tr>
    528528            <tr>
    529529               <td class="left"></td>
    530                <td class="right">July 15, 2012</td>
     530               <td class="right">July 16, 2012</td>
    531531            </tr>
    532532         </tbody>
     
    555555         in progress”.
    556556      </p>
    557       <p>This Internet-Draft will expire on January 16, 2013.</p>
     557      <p>This Internet-Draft will expire on January 17, 2013.</p>
    558558      <h1><a id="rfc.copyrightnotice" href="#rfc.copyrightnotice">Copyright Notice</a></h1>
    559559      <p>Copyright © 2012 IETF Trust and the persons identified as the document authors. All rights reserved.</p>
  • draft-ietf-httpbis/latest/p2-semantics.html

    r1790 r1796  
    449449  }
    450450  @bottom-center {
    451        content: "Expires January 16, 2013";
     451       content: "Expires January 17, 2013";
    452452  }
    453453  @bottom-right {
     
    498498      <meta name="dct.creator" content="Reschke, J. F.">
    499499      <meta name="dct.identifier" content="urn:ietf:id:draft-ietf-httpbis-p2-semantics-latest">
    500       <meta name="dct.issued" scheme="ISO8601" content="2012-07-15">
     500      <meta name="dct.issued" scheme="ISO8601" content="2012-07-16">
    501501      <meta name="dct.replaces" content="urn:ietf:rfc:2616">
    502502      <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.">
     
    529529            </tr>
    530530            <tr>
    531                <td class="left">Expires: January 16, 2013</td>
     531               <td class="left">Expires: January 17, 2013</td>
    532532               <td class="right">greenbytes</td>
    533533            </tr>
    534534            <tr>
    535535               <td class="left"></td>
    536                <td class="right">July 15, 2012</td>
     536               <td class="right">July 16, 2012</td>
    537537            </tr>
    538538         </tbody>
     
    561561         in progress”.
    562562      </p>
    563       <p>This Internet-Draft will expire on January 16, 2013.</p>
     563      <p>This Internet-Draft will expire on January 17, 2013.</p>
    564564      <h1><a id="rfc.copyrightnotice" href="#rfc.copyrightnotice">Copyright Notice</a></h1>
    565565      <p>Copyright © 2012 IETF Trust and the persons identified as the document authors. All rights reserved.</p>
  • draft-ietf-httpbis/latest/p4-conditional.html

    r1786 r1796  
    449449  }
    450450  @bottom-center {
    451        content: "Expires January 16, 2013";
     451       content: "Expires January 17, 2013";
    452452  }
    453453  @bottom-right {
     
    475475      <link rel="Chapter" title="3 Precondition Header Fields" href="#rfc.section.3">
    476476      <link rel="Chapter" title="4 Status Code Definitions" href="#rfc.section.4">
    477       <link rel="Chapter" title="5 ABNF Rules Defined Elsewhere" href="#rfc.section.5">
    478       <link rel="Chapter" title="6 IANA Considerations" href="#rfc.section.6">
    479       <link rel="Chapter" title="7 Security Considerations" href="#rfc.section.7">
    480       <link rel="Chapter" title="8 Acknowledgments" href="#rfc.section.8">
    481       <link rel="Chapter" href="#rfc.section.9" title="9 References">
     477      <link rel="Chapter" title="5 IANA Considerations" href="#rfc.section.5">
     478      <link rel="Chapter" title="6 Security Considerations" href="#rfc.section.6">
     479      <link rel="Chapter" title="7 Acknowledgments" href="#rfc.section.7">
     480      <link rel="Chapter" href="#rfc.section.8" title="8 References">
    482481      <link rel="Appendix" title="A Changes from RFC 2616" href="#rfc.section.A">
    483482      <link rel="Appendix" title="B Collected ABNF" href="#rfc.section.B">
     
    491490      <meta name="dct.creator" content="Reschke, J. F.">
    492491      <meta name="dct.identifier" content="urn:ietf:id:draft-ietf-httpbis-p4-conditional-latest">
    493       <meta name="dct.issued" scheme="ISO8601" content="2012-07-15">
     492      <meta name="dct.issued" scheme="ISO8601" content="2012-07-16">
    494493      <meta name="dct.replaces" content="urn:ietf:rfc:2616">
    495494      <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.">
     
    517516            </tr>
    518517            <tr>
    519                <td class="left">Expires: January 16, 2013</td>
     518               <td class="left">Expires: January 17, 2013</td>
    520519               <td class="right">J. Reschke, Editor</td>
    521520            </tr>
     
    526525            <tr>
    527526               <td class="left"></td>
    528                <td class="right">July 15, 2012</td>
     527               <td class="right">July 16, 2012</td>
    529528            </tr>
    530529         </tbody>
     
    553552         in progress”.
    554553      </p>
    555       <p>This Internet-Draft will expire on January 16, 2013.</p>
     554      <p>This Internet-Draft will expire on January 17, 2013.</p>
    556555      <h1><a id="rfc.copyrightnotice" href="#rfc.copyrightnotice">Copyright Notice</a></h1>
    557556      <p>Copyright © 2012 IETF Trust and the persons identified as the document authors. All rights reserved.</p>
     
    571570      <h1 class="np" id="rfc.toc"><a href="#rfc.toc">Table of Contents</a></h1>
    572571      <ul class="toc">
    573          <li>1.&nbsp;&nbsp;&nbsp;<a href="#introduction">Introduction</a></li>
     572         <li>1.&nbsp;&nbsp;&nbsp;<a href="#introduction">Introduction</a><ul>
     573               <li>1.1&nbsp;&nbsp;&nbsp;<a href="#intro.conformance.and.error.handling">Conformance and Error Handling</a></li>
     574               <li>1.2&nbsp;&nbsp;&nbsp;<a href="#notation">Syntax Notation</a></li>
     575            </ul>
     576         </li>
    574577         <li>2.&nbsp;&nbsp;&nbsp;<a href="#validators">Validators</a><ul>
    575578               <li>2.1&nbsp;&nbsp;&nbsp;<a href="#weak.and.strong.validators">Weak versus Strong</a></li>
     
    601604            </ul>
    602605         </li>
    603          <li>5.&nbsp;&nbsp;&nbsp;<a href="#abnf.dependencies">ABNF Rules Defined Elsewhere</a></li>
    604          <li>6.&nbsp;&nbsp;&nbsp;<a href="#IANA.considerations">IANA Considerations</a><ul>
    605                <li>6.1&nbsp;&nbsp;&nbsp;<a href="#status.code.registration">Status Code Registration</a></li>
    606                <li>6.2&nbsp;&nbsp;&nbsp;<a href="#header.field.registration">Header Field Registration</a></li>
     606         <li>5.&nbsp;&nbsp;&nbsp;<a href="#IANA.considerations">IANA Considerations</a><ul>
     607               <li>5.1&nbsp;&nbsp;&nbsp;<a href="#status.code.registration">Status Code Registration</a></li>
     608               <li>5.2&nbsp;&nbsp;&nbsp;<a href="#header.field.registration">Header Field Registration</a></li>
    607609            </ul>
    608610         </li>
    609          <li>7.&nbsp;&nbsp;&nbsp;<a href="#security.considerations">Security Considerations</a></li>
    610          <li>8.&nbsp;&nbsp;&nbsp;<a href="#acks">Acknowledgments</a></li>
    611          <li>9.&nbsp;&nbsp;&nbsp;<a href="#rfc.references">References</a><ul>
    612                <li>9.1&nbsp;&nbsp;&nbsp;<a href="#rfc.references.1">Normative References</a></li>
    613                <li>9.2&nbsp;&nbsp;&nbsp;<a href="#rfc.references.2">Informative References</a></li>
     611         <li>6.&nbsp;&nbsp;&nbsp;<a href="#security.considerations">Security Considerations</a></li>
     612         <li>7.&nbsp;&nbsp;&nbsp;<a href="#acks">Acknowledgments</a></li>
     613         <li>8.&nbsp;&nbsp;&nbsp;<a href="#rfc.references">References</a><ul>
     614               <li>8.1&nbsp;&nbsp;&nbsp;<a href="#rfc.references.1">Normative References</a></li>
     615               <li>8.2&nbsp;&nbsp;&nbsp;<a href="#rfc.references.2">Informative References</a></li>
    614616            </ul>
    615617         </li>
     
    644646         selected representation.
    645647      </p>
    646       <div id="rfc.iref.m.1"></div>
     648      <h2 id="rfc.section.1.1"><a href="#rfc.section.1.1">1.1</a>&nbsp;<a id="intro.conformance.and.error.handling" href="#intro.conformance.and.error.handling">Conformance and Error Handling</a></h2>
     649      <p id="rfc.section.1.1.p.1">The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL"
     650         in this document are to be interpreted as described in <a href="#RFC2119" id="rfc.xref.RFC2119.1"><cite title="Key words for use in RFCs to Indicate Requirement Levels">[RFC2119]</cite></a>.
     651      </p>
     652      <p id="rfc.section.1.1.p.2">This specification targets conformance criteria according to the role of a participant in HTTP communication. Hence, HTTP
     653         requirements are placed on senders, recipients, clients, servers, user agents, intermediaries, origin servers, proxies, gateways,
     654         or caches, depending on what behavior is being constrained by the requirement. See <a href="p1-messaging.html#architecture" title="Architecture">Section 2</a> of <a href="#Part1" id="rfc.xref.Part1.2"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a> for definitions of these terms.
     655      </p>
     656      <p id="rfc.section.1.1.p.3">The verb "generate" is used instead of "send" where a requirement differentiates between creating a protocol element and merely
     657         forwarding a received element downstream.
     658      </p>
     659      <p id="rfc.section.1.1.p.4">An implementation is considered conformant if it complies with all of the requirements associated with the roles it partakes
     660         in HTTP. Note that SHOULD-level requirements are relevant here, unless one of the documented exceptions is applicable.
     661      </p>
     662      <p id="rfc.section.1.1.p.5">This document also uses ABNF to define valid protocol elements (<a href="#notation" title="Syntax Notation">Section&nbsp;1.2</a>). In addition to the prose requirements placed upon them, senders <em class="bcp14">MUST NOT</em> generate protocol elements that do not match the grammar defined by the ABNF rules for those protocol elements that are applicable
     663         to the sender's role. If a received protocol element is processed, the recipient <em class="bcp14">MUST</em> be able to parse any value that would match the ABNF rules for that protocol element, excluding only those rules not applicable
     664         to the recipient's role.
     665      </p>
     666      <p id="rfc.section.1.1.p.6">Unless noted otherwise, a recipient <em class="bcp14">MAY</em> attempt to recover a usable protocol element from an invalid construct. HTTP does not define specific error handling mechanisms
     667         except when they have a direct impact on security, since different applications of the protocol require different error handling
     668         strategies. For example, a Web browser might wish to transparently recover from a response where the <a href="p2-semantics.html#header.location" class="smpl">Location</a> header field doesn't parse according to the ABNF, whereas a systems control client might consider any form of error recovery
     669         to be dangerous.
     670      </p>
     671      <h2 id="rfc.section.1.2"><a href="#rfc.section.1.2">1.2</a>&nbsp;<a id="notation" href="#notation">Syntax Notation</a></h2>
     672      <p id="rfc.section.1.2.p.1">This specification uses the Augmented Backus-Naur Form (ABNF) notation of <a href="#RFC5234" id="rfc.xref.RFC5234.1"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a> with the list rule extension defined in <a href="p1-messaging.html#notation" title="Syntax Notation">Section 1.2</a> of <a href="#Part1" id="rfc.xref.Part1.3"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. <a href="#collected.abnf" title="Collected ABNF">Appendix&nbsp;B</a> shows the collected ABNF with the list rule expanded.
     673      </p>
     674      <p id="rfc.section.1.2.p.2">The following core rules are included by reference, as defined in <a href="#RFC5234" id="rfc.xref.RFC5234.2"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a>, <a href="http://tools.ietf.org/html/rfc5234#appendix-B.1">Appendix B.1</a>: ALPHA (letters), CR (carriage return), CRLF (CR LF), CTL (controls), DIGIT (decimal 0-9), DQUOTE (double quote), HEXDIG
     675         (hexadecimal 0-9/A-F/a-f), LF (line feed), OCTET (any 8-bit sequence of data), SP (space), and VCHAR (any visible US-ASCII
     676         character).
     677      </p>
     678      <p id="rfc.section.1.2.p.3">The ABNF rules below are defined in <a href="#Part1" id="rfc.xref.Part1.4"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a> and <a href="#Part2" id="rfc.xref.Part2.2"><cite title="HTTP/1.1, part 2: Message Semantics, Payload and Content Negotiation">[Part2]</cite></a>:
     679      </p>
     680      <div id="rfc.figure.u.1"></div><pre class="inline">  <a href="#notation" class="smpl">OWS</a>           = &lt;OWS, defined in <a href="#Part1" id="rfc.xref.Part1.5"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>&gt;
     681  <a href="#notation" class="smpl">obs-text</a>      = &lt;obs-text, defined in <a href="#Part1" id="rfc.xref.Part1.6"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>&gt;
     682  <a href="#notation" class="smpl">HTTP-date</a>     = &lt;HTTP-date, defined in <a href="#Part2" id="rfc.xref.Part2.3"><cite title="HTTP/1.1, part 2: Message Semantics, Payload and Content Negotiation">[Part2]</cite></a>, <a href="p2-semantics.html#http.date" title="Date/Time Formats">Section 5.1</a>&gt;
     683</pre><div id="rfc.iref.m.1"></div>
    647684      <div id="rfc.iref.v.1"></div>
    648685      <h1 id="rfc.section.2"><a href="#rfc.section.2">2.</a>&nbsp;<a id="validators" href="#validators">Validators</a></h1>
     
    701738         was last modified.
    702739      </p>
    703       <div id="rfc.figure.u.1"></div><pre class="inline"><span id="rfc.iref.g.1"></span>  <a href="#header.last-modified" class="smpl">Last-Modified</a> = <a href="#abnf.dependencies" class="smpl">HTTP-date</a>
     740      <div id="rfc.figure.u.2"></div><pre class="inline"><span id="rfc.iref.g.1"></span>  <a href="#header.last-modified" class="smpl">Last-Modified</a> = <a href="#notation" class="smpl">HTTP-date</a>
    704741</pre><p id="rfc.section.2.2.p.3">An example of its use is</p>
    705       <div id="rfc.figure.u.2"></div><pre class="text">  Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT
     742      <div id="rfc.figure.u.3"></div><pre class="text">  Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT
    706743</pre><h3 id="rfc.section.2.2.1"><a href="#rfc.section.2.2.1">2.2.1</a>&nbsp;<a id="lastmod.generation" href="#lastmod.generation">Generation</a></h3>
    707744      <p id="rfc.section.2.2.1.p.1">Origin servers <em class="bcp14">SHOULD</em> send Last-Modified for any selected representation for which a last modification date can be reasonably and consistently determined,
     
    763800         same time, or both. An entity-tag consists of an opaque quoted string, possibly prefixed by a weakness indicator.
    764801      </p>
    765       <div id="rfc.figure.u.3"></div><pre class="inline"><span id="rfc.iref.g.2"></span><span id="rfc.iref.g.3"></span><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span><span id="rfc.iref.g.6"></span>  <a href="#header.etag" class="smpl">ETag</a>       = <a href="#header.etag" class="smpl">entity-tag</a>
     802      <div id="rfc.figure.u.4"></div><pre class="inline"><span id="rfc.iref.g.2"></span><span id="rfc.iref.g.3"></span><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span><span id="rfc.iref.g.6"></span>  <a href="#header.etag" class="smpl">ETag</a>       = <a href="#header.etag" class="smpl">entity-tag</a>
    766803
    767804  <a href="#header.etag" class="smpl">entity-tag</a> = [ <a href="#header.etag" class="smpl">weak</a> ] <a href="#header.etag" class="smpl">opaque-tag</a>
    768805  <a href="#header.etag" class="smpl">weak</a>       = %x57.2F ; "W/", case-sensitive
    769   <a href="#header.etag" class="smpl">opaque-tag</a> = <a href="#abnf.dependencies" class="smpl">DQUOTE</a> *<a href="#header.etag" class="smpl">etagc</a> <a href="#abnf.dependencies" class="smpl">DQUOTE</a>
    770   <a href="#header.etag" class="smpl">etagc</a>      = %x21 / %x23-7E / <a href="#abnf.dependencies" class="smpl">obs-text</a>
    771              ; <a href="#abnf.dependencies" class="smpl">VCHAR</a> except double quotes, plus obs-text
     806  <a href="#header.etag" class="smpl">opaque-tag</a> = <a href="#notation" class="smpl">DQUOTE</a> *<a href="#header.etag" class="smpl">etagc</a> <a href="#notation" class="smpl">DQUOTE</a>
     807  <a href="#header.etag" class="smpl">etagc</a>      = %x21 / %x23-7E / <a href="#notation" class="smpl">obs-text</a>
     808             ; <a href="#notation" class="smpl">VCHAR</a> except double quotes, plus obs-text
    772809</pre><div class="note" id="rfc.section.2.3.p.3">
    773810         <p> <b>Note:</b> Previously, opaque-tag was defined to be a quoted-string (<a href="#RFC2616" id="rfc.xref.RFC2616.1"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a>, <a href="http://tools.ietf.org/html/rfc2616#section-3.11">Section 3.11</a>), thus some recipients might perform backslash unescaping. Servers therefore ought to avoid backslash characters in entity
     
    779816         not consistently maintained.
    780817      </p>
    781       <div id="rfc.figure.u.4"></div>
     818      <div id="rfc.figure.u.5"></div>
    782819      <p>Examples:</p>  <pre class="text">  ETag: "xyzzy"
    783820  ETag: W/"xyzzy"
     
    851888      </div>
    852889      <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>
    853       <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 8</a> of <a href="#Part2" id="rfc.xref.Part2.2"><cite title="HTTP/1.1, part 2: Message Semantics, Payload and Content Negotiation">[Part2]</cite></a>), and where the representations returned upon 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 9.3</a> of <a href="#Part2" id="rfc.xref.Part2.3"><cite title="HTTP/1.1, part 2: Message Semantics, Payload and Content Negotiation">[Part2]</cite></a>):
    854       </p>
    855       <div id="rfc.figure.u.5"></div>
     890      <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 8</a> of <a href="#Part2" id="rfc.xref.Part2.4"><cite title="HTTP/1.1, part 2: Message Semantics, Payload and Content Negotiation">[Part2]</cite></a>), and where the representations returned upon 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 9.3</a> of <a href="#Part2" id="rfc.xref.Part2.5"><cite title="HTTP/1.1, part 2: Message Semantics, Payload and Content Negotiation">[Part2]</cite></a>):
     891      </p>
     892      <div id="rfc.figure.u.6"></div>
    856893      <p>&gt;&gt; Request:</p><pre class="text2">GET /index HTTP/1.1
    857894Host: www.example.com
     
    859896
    860897</pre><p id="rfc.section.2.3.3.p.3">In this case, the response might or might not use the gzip content coding. If it does not, the response might look like:</p>
    861       <div id="rfc.figure.u.6"></div>
     898      <div id="rfc.figure.u.7"></div>
    862899      <p>&gt;&gt; Response:</p><pre class="text">HTTP/1.1 200 OK
    863900Date: Thu, 26 Mar 2010 00:05:00 GMT
     
    873910Hello World!
    874911</span></pre><p id="rfc.section.2.3.3.p.5">An alternative representation that does use gzip content coding would be:</p>
    875       <div id="rfc.figure.u.7"></div>
     912      <div id="rfc.figure.u.8"></div>
    876913      <p>&gt;&gt; Response:</p><pre class="text">HTTP/1.1 200 OK
    877914Date: Thu, 26 Mar 2010 00:05:00 GMT
     
    885922         <p> <b>Note:</b> Content codings are a property of the representation, so therefore an entity-tag of an encoded representation has to be distinct
    886923            from an unencoded representation to prevent conflicts during cache updates and range requests. In contrast, transfer codings
    887             (<a href="p1-messaging.html#transfer.codings" title="Transfer Codings">Section 4</a> of <a href="#Part1" id="rfc.xref.Part1.2"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>) apply only during message transfer and do not require distinct entity-tags.
     924            (<a href="p1-messaging.html#transfer.codings" title="Transfer Codings">Section 4</a> of <a href="#Part1" id="rfc.xref.Part1.7"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>) apply only during message transfer and do not require distinct entity-tags.
    888925         </p>
    889926      </div>
     
    942979         field-value of "*" places the precondition on the existence of any current representation for the target resource.
    943980      </p>
    944       <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g.7"></span>  <a href="#header.if-match" class="smpl">If-Match</a> = "*" / 1#<a href="#header.etag" class="smpl">entity-tag</a>
     981      <div id="rfc.figure.u.9"></div><pre class="inline"><span id="rfc.iref.g.7"></span>  <a href="#header.if-match" class="smpl">If-Match</a> = "*" / 1#<a href="#header.etag" class="smpl">entity-tag</a>
    945982</pre><p id="rfc.section.3.1.p.4">The If-Match condition is met if and only if any of the entity-tags listed in the If-Match field value match the entity-tag
    946983         of the selected representation for the target resource (as per <a href="#entity.tag.comparison" title="Comparison">Section&nbsp;2.3.2</a>), or if "*" is given and any current representation exists for the target resource.
     
    956993      </p>
    957994      <p id="rfc.section.3.1.p.9">Examples:</p>
    958       <div id="rfc.figure.u.9"></div><pre class="text">  If-Match: "xyzzy"
     995      <div id="rfc.figure.u.10"></div><pre class="text">  If-Match: "xyzzy"
    959996  If-Match: "xyzzy", "r2d2xxxx", "c3piozzzz"
    960997  If-Match: *
     
    9771014         for the target resource.
    9781015      </p>
    979       <div id="rfc.figure.u.10"></div><pre class="inline"><span id="rfc.iref.g.8"></span>  <a href="#header.if-none-match" class="smpl">If-None-Match</a> = "*" / 1#<a href="#header.etag" class="smpl">entity-tag</a>
     1016      <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.8"></span>  <a href="#header.if-none-match" class="smpl">If-None-Match</a> = "*" / 1#<a href="#header.etag" class="smpl">entity-tag</a>
    9801017</pre><p id="rfc.section.3.2.p.5">The If-None-Match condition is met if and only if none of the entity-tags listed in the If-None-Match field value match the
    9811018         entity-tag of the selected representation for the target resource (as per <a href="#entity.tag.comparison" title="Comparison">Section&nbsp;2.3.2</a>), or if "*" is given and no current representation exists for that resource.
     
    9901027      </p>
    9911028      <p id="rfc.section.3.2.p.9">Examples:</p>
    992       <div id="rfc.figure.u.11"></div><pre class="text">  If-None-Match: "xyzzy"
     1029      <div id="rfc.figure.u.12"></div><pre class="text">  If-None-Match: "xyzzy"
    9931030  If-None-Match: W/"xyzzy"
    9941031  If-None-Match: "xyzzy", "r2d2xxxx", "c3piozzzz"
     
    10041041         respond as detailed below.
    10051042      </p>
    1006       <div id="rfc.figure.u.12"></div><pre class="inline"><span id="rfc.iref.g.9"></span>  <a href="#header.if-modified-since" class="smpl">If-Modified-Since</a> = <a href="#abnf.dependencies" class="smpl">HTTP-date</a>
     1043      <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.9"></span>  <a href="#header.if-modified-since" class="smpl">If-Modified-Since</a> = <a href="#notation" class="smpl">HTTP-date</a>
    10071044</pre><p id="rfc.section.3.3.p.3">An example of the field is:</p>
    1008       <div id="rfc.figure.u.13"></div><pre class="text">  If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT
     1045      <div id="rfc.figure.u.14"></div><pre class="text">  If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT
    10091046</pre><p id="rfc.section.3.3.p.5">A GET method with an If-Modified-Since header field and no <a href="p5-range.html#range.retrieval.requests" class="smpl">Range</a> header field requests that the selected representation be transferred only if it has been modified since the date given by
    10101047         the If-Modified-Since header field. The algorithm for determining this includes the following cases:
     
    10461083         representation has been modified since the time specified in this field, then the server <em class="bcp14">MUST NOT</em> perform the requested operation and <em class="bcp14">MUST</em> instead respond with the <a href="#status.412" class="smpl">412 (Precondition Failed)</a> status code. If the selected representation has not been modified since the time specified in this field, the server <em class="bcp14">SHOULD</em> perform the request method as if the If-Unmodified-Since header field were not present.
    10471084      </p>
    1048       <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.10"></span>  <a href="#header.if-unmodified-since" class="smpl">If-Unmodified-Since</a> = <a href="#abnf.dependencies" class="smpl">HTTP-date</a>
     1085      <div id="rfc.figure.u.15"></div><pre class="inline"><span id="rfc.iref.g.10"></span>  <a href="#header.if-unmodified-since" class="smpl">If-Unmodified-Since</a> = <a href="#notation" class="smpl">HTTP-date</a>
    10491086</pre><p id="rfc.section.3.4.p.3">An example of the field is:</p>
    1050       <div id="rfc.figure.u.15"></div><pre class="text">  If-Unmodified-Since: Sat, 29 Oct 1994 19:43:31 GMT
     1087      <div id="rfc.figure.u.16"></div><pre class="text">  If-Unmodified-Since: Sat, 29 Oct 1994 19:43:31 GMT
    10511088</pre><p id="rfc.section.3.4.p.5">If a request normally (i.e., in absence of the If-Unmodified-Since header field) would result in anything other than a <a href="p2-semantics.html#status.2xx" class="smpl">2xx (Successful)</a> or <a href="#status.412" class="smpl">412 (Precondition Failed)</a> status code, the If-Unmodified-Since header field <em class="bcp14">SHOULD</em> be ignored.
    10521089      </p>
     
    10671104         as if it were the payload of a 200 response. The 304 response <em class="bcp14">MUST NOT</em> contain a message-body, and thus is always terminated by the first empty line after the header fields.
    10681105      </p>
    1069       <p id="rfc.section.4.1.p.2">A 304 response <em class="bcp14">MUST</em> include a <a href="p2-semantics.html#header.date" class="smpl">Date</a> header field (<a href="p2-semantics.html#header.date" title="Date">Section 9.10</a> of <a href="#Part2" id="rfc.xref.Part2.4"><cite title="HTTP/1.1, part 2: Message Semantics, Payload and Content Negotiation">[Part2]</cite></a>) unless the origin server does not have a clock that can provide a reasonable approximation of the current time. If a <a href="p2-semantics.html#status.200" class="smpl">200
     1106      <p id="rfc.section.4.1.p.2">A 304 response <em class="bcp14">MUST</em> include a <a href="p2-semantics.html#header.date" class="smpl">Date</a> header field (<a href="p2-semantics.html#header.date" title="Date">Section 9.10</a> of <a href="#Part2" id="rfc.xref.Part2.6"><cite title="HTTP/1.1, part 2: Message Semantics, Payload and Content Negotiation">[Part2]</cite></a>) unless the origin server does not have a clock that can provide a reasonable approximation of the current time. If a <a href="p2-semantics.html#status.200" class="smpl">200
    10701107            (OK)</a> response to the same request would have included any of the header fields <a href="p6-cache.html#header.cache-control" class="smpl">Cache-Control</a>, <a href="p2-semantics.html#header.content-location" class="smpl">Content-Location</a>, <a href="#header.etag" class="smpl">ETag</a>, <a href="p6-cache.html#header.expires" class="smpl">Expires</a>, or <a href="p6-cache.html#header.vary" class="smpl">Vary</a>, then those same header fields <em class="bcp14">MUST</em> be sent in a 304 response.
    10711108      </p>
     
    10871124         and metadata) and thus prevent the request method from being applied if the target resource is in an unexpected state.
    10881125      </p>
    1089       <h1 id="rfc.section.5"><a href="#rfc.section.5">5.</a>&nbsp;<a id="abnf.dependencies" href="#abnf.dependencies">ABNF Rules Defined Elsewhere</a></h1>
    1090       <p id="rfc.section.5.p.1">This specification uses the Augmented Backus-Naur Form (ABNF) notation of <a href="#RFC5234" id="rfc.xref.RFC5234.1"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a> with the list rule extension defined in <a href="p1-messaging.html#notation" title="Syntax Notation">Section 1.2</a> of <a href="#Part1" id="rfc.xref.Part1.3"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. <a href="#collected.abnf" title="Collected ABNF">Appendix&nbsp;B</a> shows the collected ABNF with the list rule expanded.
    1091       </p>
    1092       <p id="rfc.section.5.p.2">The following core rules are included by reference, as defined in <a href="#RFC5234" id="rfc.xref.RFC5234.2"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a>, <a href="http://tools.ietf.org/html/rfc5234#appendix-B.1">Appendix B.1</a>: ALPHA (letters), CR (carriage return), CRLF (CR LF), CTL (controls), DIGIT (decimal 0-9), DQUOTE (double quote), HEXDIG
    1093          (hexadecimal 0-9/A-F/a-f), LF (line feed), OCTET (any 8-bit sequence of data), SP (space), and VCHAR (any visible US-ASCII
    1094          character).
    1095       </p>
    1096       <p id="rfc.section.5.p.3">The ABNF rules below are defined in <a href="#Part1" id="rfc.xref.Part1.4"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a> and <a href="#Part2" id="rfc.xref.Part2.5"><cite title="HTTP/1.1, part 2: Message Semantics, Payload and Content Negotiation">[Part2]</cite></a>:
    1097       </p>
    1098       <div id="rfc.figure.u.16"></div><pre class="inline">  <a href="#abnf.dependencies" class="smpl">OWS</a>           = &lt;OWS, defined in <a href="#Part1" id="rfc.xref.Part1.5"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>&gt;
    1099   <a href="#abnf.dependencies" class="smpl">obs-text</a>      = &lt;obs-text, defined in <a href="#Part1" id="rfc.xref.Part1.6"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>&gt;
    1100   <a href="#abnf.dependencies" class="smpl">HTTP-date</a>     = &lt;HTTP-date, defined in <a href="#Part2" id="rfc.xref.Part2.6"><cite title="HTTP/1.1, part 2: Message Semantics, Payload and Content Negotiation">[Part2]</cite></a>, <a href="p2-semantics.html#http.date" title="Date/Time Formats">Section 5.1</a>&gt;
    1101 </pre><p id="rfc.section.5.p.5">The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL"
    1102          in this document are to be interpreted as described in <a href="#RFC2119" id="rfc.xref.RFC2119.1"><cite title="Key words for use in RFCs to Indicate Requirement Levels">[RFC2119]</cite></a>.
    1103       </p>
    1104       <h1 id="rfc.section.6"><a href="#rfc.section.6">6.</a>&nbsp;<a id="IANA.considerations" href="#IANA.considerations">IANA Considerations</a></h1>
    1105       <h2 id="rfc.section.6.1"><a href="#rfc.section.6.1">6.1</a>&nbsp;<a id="status.code.registration" href="#status.code.registration">Status Code Registration</a></h2>
    1106       <p id="rfc.section.6.1.p.1">The HTTP Status Code Registry located at &lt;<a href="http://www.iana.org/assignments/http-status-codes">http://www.iana.org/assignments/http-status-codes</a>&gt; shall be updated with the registrations below:
     1126      <h1 id="rfc.section.5"><a href="#rfc.section.5">5.</a>&nbsp;<a id="IANA.considerations" href="#IANA.considerations">IANA Considerations</a></h1>
     1127      <h2 id="rfc.section.5.1"><a href="#rfc.section.5.1">5.1</a>&nbsp;<a id="status.code.registration" href="#status.code.registration">Status Code Registration</a></h2>
     1128      <p id="rfc.section.5.1.p.1">The HTTP Status Code Registry located at &lt;<a href="http://www.iana.org/assignments/http-status-codes">http://www.iana.org/assignments/http-status-codes</a>&gt; shall be updated with the registrations below:
    11071129      </p>
    11081130      <div id="rfc.table.1">
     
    11321154         </table>
    11331155      </div>
    1134       <h2 id="rfc.section.6.2"><a href="#rfc.section.6.2">6.2</a>&nbsp;<a id="header.field.registration" href="#header.field.registration">Header Field Registration</a></h2>
    1135       <p id="rfc.section.6.2.p.1">The Message Header Field Registry located at &lt;<a href="http://www.iana.org/assignments/message-headers/message-header-index.html">http://www.iana.org/assignments/message-headers/message-header-index.html</a>&gt; shall be updated with the permanent registrations below (see <a href="#RFC3864" id="rfc.xref.RFC3864.1"><cite title="Registration Procedures for Message Header Fields">[RFC3864]</cite></a>):
     1156      <h2 id="rfc.section.5.2"><a href="#rfc.section.5.2">5.2</a>&nbsp;<a id="header.field.registration" href="#header.field.registration">Header Field Registration</a></h2>
     1157      <p id="rfc.section.5.2.p.1">The Message Header Field Registry located at &lt;<a href="http://www.iana.org/assignments/message-headers/message-header-index.html">http://www.iana.org/assignments/message-headers/message-header-index.html</a>&gt; shall be updated with the permanent registrations below (see <a href="#RFC3864" id="rfc.xref.RFC3864.1"><cite title="Registration Procedures for Message Header Fields">[RFC3864]</cite></a>):
    11361158      </p>
    11371159      <div id="rfc.table.2">
     
    11921214         </table>
    11931215      </div>
    1194       <p id="rfc.section.6.2.p.2">The change controller is: "IETF (iesg@ietf.org) - Internet Engineering Task Force".</p>
    1195       <h1 id="rfc.section.7"><a href="#rfc.section.7">7.</a>&nbsp;<a id="security.considerations" href="#security.considerations">Security Considerations</a></h1>
    1196       <p id="rfc.section.7.p.1">No additional security considerations have been identified beyond those applicable to HTTP in general <a href="#Part1" id="rfc.xref.Part1.7"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>.
    1197       </p>
    1198       <h1 id="rfc.section.8"><a href="#rfc.section.8">8.</a>&nbsp;<a id="acks" href="#acks">Acknowledgments</a></h1>
    1199       <p id="rfc.section.8.p.1">See <a href="p1-messaging.html#acks" title="Acknowledgments">Section 9</a> of <a href="#Part1" id="rfc.xref.Part1.8"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>.
    1200       </p>
    1201       <h1 id="rfc.references"><a id="rfc.section.9" href="#rfc.section.9">9.</a> References
     1216      <p id="rfc.section.5.2.p.2">The change controller is: "IETF (iesg@ietf.org) - Internet Engineering Task Force".</p>
     1217      <h1 id="rfc.section.6"><a href="#rfc.section.6">6.</a>&nbsp;<a id="security.considerations" href="#security.considerations">Security Considerations</a></h1>
     1218      <p id="rfc.section.6.p.1">No additional security considerations have been identified beyond those applicable to HTTP in general <a href="#Part1" id="rfc.xref.Part1.8"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>.
     1219      </p>
     1220      <h1 id="rfc.section.7"><a href="#rfc.section.7">7.</a>&nbsp;<a id="acks" href="#acks">Acknowledgments</a></h1>
     1221      <p id="rfc.section.7.p.1">See <a href="p1-messaging.html#acks" title="Acknowledgments">Section 9</a> of <a href="#Part1" id="rfc.xref.Part1.9"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>.
     1222      </p>
     1223      <h1 id="rfc.references"><a id="rfc.section.8" href="#rfc.section.8">8.</a> References
    12021224      </h1>
    1203       <h2 id="rfc.references.1"><a href="#rfc.section.9.1" id="rfc.section.9.1">9.1</a> Normative References
     1225      <h2 id="rfc.references.1"><a href="#rfc.section.8.1" id="rfc.section.8.1">8.1</a> Normative References
    12041226      </h2>
    12051227      <table>           
     
    12351257         </tr>
    12361258      </table>
    1237       <h2 id="rfc.references.2"><a href="#rfc.section.9.2" id="rfc.section.9.2">9.2</a> Informative References
     1259      <h2 id="rfc.references.2"><a href="#rfc.section.8.2" id="rfc.section.8.2">8.2</a> Informative References
    12381260      </h2>
    12391261      <table>     
     
    12761298      <div id="rfc.figure.u.17"></div> <pre class="inline"><a href="#header.etag" class="smpl">ETag</a> = entity-tag
    12771299
    1278 <a href="#abnf.dependencies" class="smpl">HTTP-date</a> = &lt;HTTP-date, defined in [Part2], Section 5.1&gt;
     1300<a href="#notation" class="smpl">HTTP-date</a> = &lt;HTTP-date, defined in [Part2], Section 5.1&gt;
    12791301
    12801302<a href="#header.if-match" class="smpl">If-Match</a> = "*" / ( *( "," OWS ) entity-tag *( OWS "," [ OWS
     
    12871309<a href="#header.last-modified" class="smpl">Last-Modified</a> = HTTP-date
    12881310
    1289 <a href="#abnf.dependencies" class="smpl">OWS</a> = &lt;OWS, defined in [Part1], Section 3.2.1&gt;
     1311<a href="#notation" class="smpl">OWS</a> = &lt;OWS, defined in [Part1], Section 3.2.1&gt;
    12901312
    12911313<a href="#header.etag" class="smpl">entity-tag</a> = [ weak ] opaque-tag
     
    12931315 / obs-text
    12941316
    1295 <a href="#abnf.dependencies" class="smpl">obs-text</a> = &lt;obs-text, defined in [Part1], Section 3.2.4&gt;
     1317<a href="#notation" class="smpl">obs-text</a> = &lt;obs-text, defined in [Part1], Section 3.2.4&gt;
    12961318<a href="#header.etag" class="smpl">opaque-tag</a> = DQUOTE *etagc DQUOTE
    12971319
     
    13181340         <ul class="ind">
    13191341            <li><a id="rfc.index.3" href="#rfc.index.3"><b>3</b></a><ul>
    1320                   <li>304 Not Modified (status code)&nbsp;&nbsp;<a href="#rfc.iref.27"><b>4.1</b></a>, <a href="#rfc.xref.status.304.1">6.1</a></li>
     1342                  <li>304 Not Modified (status code)&nbsp;&nbsp;<a href="#rfc.iref.27"><b>4.1</b></a>, <a href="#rfc.xref.status.304.1">5.1</a></li>
    13211343               </ul>
    13221344            </li>
    13231345            <li><a id="rfc.index.4" href="#rfc.index.4"><b>4</b></a><ul>
    1324                   <li>412 Precondition Failed (status code)&nbsp;&nbsp;<a href="#rfc.iref.28"><b>4.2</b></a>, <a href="#rfc.xref.status.412.1">6.1</a></li>
     1346                  <li>412 Precondition Failed (status code)&nbsp;&nbsp;<a href="#rfc.iref.28"><b>4.2</b></a>, <a href="#rfc.xref.status.412.1">5.1</a></li>
    13251347               </ul>
    13261348            </li>
    13271349            <li><a id="rfc.index.E" href="#rfc.index.E"><b>E</b></a><ul>
    1328                   <li>ETag header field&nbsp;&nbsp;<a href="#rfc.xref.header.etag.1">2</a>, <a href="#rfc.iref.e.1"><b>2.3</b></a>, <a href="#rfc.xref.header.etag.2">6.2</a>, <a href="#rfc.xref.header.etag.3">A</a></li>
     1350                  <li>ETag header field&nbsp;&nbsp;<a href="#rfc.xref.header.etag.1">2</a>, <a href="#rfc.iref.e.1"><b>2.3</b></a>, <a href="#rfc.xref.header.etag.2">5.2</a>, <a href="#rfc.xref.header.etag.3">A</a></li>
    13291351               </ul>
    13301352            </li>
     
    13491371                  <li>Header Fields&nbsp;&nbsp;
    13501372                     <ul>
    1351                         <li>ETag&nbsp;&nbsp;<a href="#rfc.xref.header.etag.1">2</a>, <a href="#rfc.iref.h.2"><b>2.3</b></a>, <a href="#rfc.xref.header.etag.2">6.2</a>, <a href="#rfc.xref.header.etag.3">A</a></li>
    1352                         <li>If-Match&nbsp;&nbsp;<a href="#rfc.iref.h.3"><b>3.1</b></a>, <a href="#rfc.xref.header.if-match.1">6.2</a></li>
    1353                         <li>If-Modified-Since&nbsp;&nbsp;<a href="#rfc.iref.h.5"><b>3.3</b></a>, <a href="#rfc.xref.header.if-modified-since.1">6.2</a></li>
    1354                         <li>If-None-Match&nbsp;&nbsp;<a href="#rfc.iref.h.4"><b>3.2</b></a>, <a href="#rfc.xref.header.if-none-match.1">6.2</a>, <a href="#rfc.xref.header.if-none-match.2">A</a></li>
    1355                         <li>If-Unmodified-Since&nbsp;&nbsp;<a href="#rfc.iref.h.6"><b>3.4</b></a>, <a href="#rfc.xref.header.if-unmodified-since.1">6.2</a></li>
    1356                         <li>Last-Modified&nbsp;&nbsp;<a href="#rfc.xref.header.last-modified.1">2</a>, <a href="#rfc.iref.h.1"><b>2.2</b></a>, <a href="#rfc.xref.header.last-modified.2">6.2</a></li>
     1373                        <li>ETag&nbsp;&nbsp;<a href="#rfc.xref.header.etag.1">2</a>, <a href="#rfc.iref.h.2"><b>2.3</b></a>, <a href="#rfc.xref.header.etag.2">5.2</a>, <a href="#rfc.xref.header.etag.3">A</a></li>
     1374                        <li>If-Match&nbsp;&nbsp;<a href="#rfc.iref.h.3"><b>3.1</b></a>, <a href="#rfc.xref.header.if-match.1">5.2</a></li>
     1375                        <li>If-Modified-Since&nbsp;&nbsp;<a href="#rfc.iref.h.5"><b>3.3</b></a>, <a href="#rfc.xref.header.if-modified-since.1">5.2</a></li>
     1376                        <li>If-None-Match&nbsp;&nbsp;<a href="#rfc.iref.h.4"><b>3.2</b></a>, <a href="#rfc.xref.header.if-none-match.1">5.2</a>, <a href="#rfc.xref.header.if-none-match.2">A</a></li>
     1377                        <li>If-Unmodified-Since&nbsp;&nbsp;<a href="#rfc.iref.h.6"><b>3.4</b></a>, <a href="#rfc.xref.header.if-unmodified-since.1">5.2</a></li>
     1378                        <li>Last-Modified&nbsp;&nbsp;<a href="#rfc.xref.header.last-modified.1">2</a>, <a href="#rfc.iref.h.1"><b>2.2</b></a>, <a href="#rfc.xref.header.last-modified.2">5.2</a></li>
    13571379                     </ul>
    13581380                  </li>
     
    13601382            </li>
    13611383            <li><a id="rfc.index.I" href="#rfc.index.I"><b>I</b></a><ul>
    1362                   <li>If-Match header field&nbsp;&nbsp;<a href="#rfc.iref.i.1"><b>3.1</b></a>, <a href="#rfc.xref.header.if-match.1">6.2</a></li>
    1363                   <li>If-Modified-Since header field&nbsp;&nbsp;<a href="#rfc.iref.i.3"><b>3.3</b></a>, <a href="#rfc.xref.header.if-modified-since.1">6.2</a></li>
    1364                   <li>If-None-Match header field&nbsp;&nbsp;<a href="#rfc.iref.i.2"><b>3.2</b></a>, <a href="#rfc.xref.header.if-none-match.1">6.2</a>, <a href="#rfc.xref.header.if-none-match.2">A</a></li>
    1365                   <li>If-Unmodified-Since header field&nbsp;&nbsp;<a href="#rfc.iref.i.4"><b>3.4</b></a>, <a href="#rfc.xref.header.if-unmodified-since.1">6.2</a></li>
     1384                  <li>If-Match header field&nbsp;&nbsp;<a href="#rfc.iref.i.1"><b>3.1</b></a>, <a href="#rfc.xref.header.if-match.1">5.2</a></li>
     1385                  <li>If-Modified-Since header field&nbsp;&nbsp;<a href="#rfc.iref.i.3"><b>3.3</b></a>, <a href="#rfc.xref.header.if-modified-since.1">5.2</a></li>
     1386                  <li>If-None-Match header field&nbsp;&nbsp;<a href="#rfc.iref.i.2"><b>3.2</b></a>, <a href="#rfc.xref.header.if-none-match.1">5.2</a>, <a href="#rfc.xref.header.if-none-match.2">A</a></li>
     1387                  <li>If-Unmodified-Since header field&nbsp;&nbsp;<a href="#rfc.iref.i.4"><b>3.4</b></a>, <a href="#rfc.xref.header.if-unmodified-since.1">5.2</a></li>
    13661388               </ul>
    13671389            </li>
    13681390            <li><a id="rfc.index.L" href="#rfc.index.L"><b>L</b></a><ul>
    1369                   <li>Last-Modified header field&nbsp;&nbsp;<a href="#rfc.xref.header.last-modified.1">2</a>, <a href="#rfc.iref.l.1"><b>2.2</b></a>, <a href="#rfc.xref.header.last-modified.2">6.2</a></li>
     1391                  <li>Last-Modified header field&nbsp;&nbsp;<a href="#rfc.xref.header.last-modified.1">2</a>, <a href="#rfc.iref.l.1"><b>2.2</b></a>, <a href="#rfc.xref.header.last-modified.2">5.2</a></li>
    13701392               </ul>
    13711393            </li>
     
    13751397            </li>
    13761398            <li><a id="rfc.index.P" href="#rfc.index.P"><b>P</b></a><ul>
    1377                   <li><em>Part1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.1">1</a>, <a href="#rfc.xref.Part1.2">2.3.3</a>, <a href="#rfc.xref.Part1.3">5</a>, <a href="#rfc.xref.Part1.4">5</a>, <a href="#rfc.xref.Part1.5">5</a>, <a href="#rfc.xref.Part1.6">5</a>, <a href="#rfc.xref.Part1.7">7</a>, <a href="#rfc.xref.Part1.8">8</a>, <a href="#Part1"><b>9.1</b></a><ul>
    1378                         <li><em>Section 1.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.3">5</a></li>
    1379                         <li><em>Section 3.2.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.5">5</a></li>
    1380                         <li><em>Section 3.2.4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.6">5</a></li>
    1381                         <li><em>Section 4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.2">2.3.3</a></li>
    1382                         <li><em>Section 9</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.8">8</a></li>
     1399                  <li><em>Part1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.1">1</a>, <a href="#rfc.xref.Part1.2">1.1</a>, <a href="#rfc.xref.Part1.3">1.2</a>, <a href="#rfc.xref.Part1.4">1.2</a>, <a href="#rfc.xref.Part1.5">1.2</a>, <a href="#rfc.xref.Part1.6">1.2</a>, <a href="#rfc.xref.Part1.7">2.3.3</a>, <a href="#rfc.xref.Part1.8">6</a>, <a href="#rfc.xref.Part1.9">7</a>, <a href="#Part1"><b>8.1</b></a><ul>
     1400                        <li><em>Section 1.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.3">1.2</a></li>
     1401                        <li><em>Section 2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.2">1.1</a></li>
     1402                        <li><em>Section 3.2.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.5">1.2</a></li>
     1403                        <li><em>Section 3.2.4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.6">1.2</a></li>
     1404                        <li><em>Section 4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.7">2.3.3</a></li>
     1405                        <li><em>Section 9</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.9">7</a></li>
    13831406                     </ul>
    13841407                  </li>
    1385                   <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">4.1</a>, <a href="#rfc.xref.Part2.5">5</a>, <a href="#rfc.xref.Part2.6">5</a>, <a href="#Part2"><b>9.1</b></a><ul>
    1386                         <li><em>Section 5.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.6">5</a></li>
    1387                         <li><em>Section 8</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.2">2.3.3</a></li>
    1388                         <li><em>Section 9.3</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.3">2.3.3</a></li>
    1389                         <li><em>Section 9.10</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.4">4.1</a></li>
     1408                  <li><em>Part2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.1">1</a>, <a href="#rfc.xref.Part2.2">1.2</a>, <a href="#rfc.xref.Part2.3">1.2</a>, <a href="#rfc.xref.Part2.4">2.3.3</a>, <a href="#rfc.xref.Part2.5">2.3.3</a>, <a href="#rfc.xref.Part2.6">4.1</a>, <a href="#Part2"><b>8.1</b></a><ul>
     1409                        <li><em>Section 5.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.3">1.2</a></li>
     1410                        <li><em>Section 8</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.4">2.3.3</a></li>
     1411                        <li><em>Section 9.3</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.5">2.3.3</a></li>
     1412                        <li><em>Section 9.10</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.6">4.1</a></li>
    13901413                     </ul>
    13911414                  </li>
    1392                   <li><em>Part5</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.1">3.3</a>, <a href="#rfc.xref.Part5.2">3.5</a>, <a href="#Part5"><b>9.1</b></a><ul>
     1415                  <li><em>Part5</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.1">3.3</a>, <a href="#rfc.xref.Part5.2">3.5</a>, <a href="#Part5"><b>8.1</b></a><ul>
    13931416                        <li><em>Section 5.3</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.2">3.5</a></li>
    13941417                        <li><em>Section 5.4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.1">3.3</a></li>
    13951418                     </ul>
    13961419                  </li>
    1397                   <li><em>Part6</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.1">1</a>, <a href="#rfc.xref.Part6.2">2.2.1</a>, <a href="#rfc.xref.Part6.3">2.3.1</a>, <a href="#Part6"><b>9.1</b></a></li>
     1420                  <li><em>Part6</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.1">1</a>, <a href="#rfc.xref.Part6.2">2.2.1</a>, <a href="#rfc.xref.Part6.3">2.3.1</a>, <a href="#Part6"><b>8.1</b></a></li>
    13981421               </ul>
    13991422            </li>
    14001423            <li><a id="rfc.index.R" href="#rfc.index.R"><b>R</b></a><ul>
    1401                   <li><em>RFC2119</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC2119.1">5</a>, <a href="#RFC2119"><b>9.1</b></a></li>
    1402                   <li><em>RFC2616</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC2616.1">2.3</a>, <a href="#RFC2616"><b>9.2</b></a><ul>
     1424                  <li><em>RFC2119</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC2119.1">1.1</a>, <a href="#RFC2119"><b>8.1</b></a></li>
     1425                  <li><em>RFC2616</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC2616.1">2.3</a>, <a href="#RFC2616"><b>8.2</b></a><ul>
    14031426                        <li><em>Section 3.11</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC2616.1">2.3</a></li>
    14041427                     </ul>
    14051428                  </li>
    1406                   <li><em>RFC3864</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC3864.1">6.2</a>, <a href="#RFC3864"><b>9.2</b></a></li>
    1407                   <li><em>RFC4918</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC4918.1">2</a>, <a href="#RFC4918"><b>9.2</b></a></li>
    1408                   <li><em>RFC5234</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC5234.1">5</a>, <a href="#rfc.xref.RFC5234.2">5</a>, <a href="#RFC5234"><b>9.1</b></a><ul>
    1409                         <li><em>Appendix B.1</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC5234.2">5</a></li>
     1429                  <li><em>RFC3864</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC3864.1">5.2</a>, <a href="#RFC3864"><b>8.2</b></a></li>
     1430                  <li><em>RFC4918</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC4918.1">2</a>, <a href="#RFC4918"><b>8.2</b></a></li>
     1431                  <li><em>RFC5234</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC5234.1">1.2</a>, <a href="#rfc.xref.RFC5234.2">1.2</a>, <a href="#RFC5234"><b>8.1</b></a><ul>
     1432                        <li><em>Appendix B.1</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC5234.2">1.2</a></li>
    14101433                     </ul>
    14111434                  </li>
     
    14161439                  <li>Status Codes&nbsp;&nbsp;
    14171440                     <ul>
    1418                         <li>304 Not Modified&nbsp;&nbsp;<a href="#rfc.iref.s.2"><b>4.1</b></a>, <a href="#rfc.xref.status.304.1">6.1</a></li>
    1419                         <li>412 Precondition Failed&nbsp;&nbsp;<a href="#rfc.iref.s.3"><b>4.2</b></a>, <a href="#rfc.xref.status.412.1">6.1</a></li>
     1441                        <li>304 Not Modified&nbsp;&nbsp;<a href="#rfc.iref.s.2"><b>4.1</b></a>, <a href="#rfc.xref.status.304.1">5.1</a></li>
     1442                        <li>412 Precondition Failed&nbsp;&nbsp;<a href="#rfc.iref.s.3"><b>4.2</b></a>, <a href="#rfc.xref.status.412.1">5.1</a></li>
    14201443                     </ul>
    14211444                  </li>
  • draft-ietf-httpbis/latest/p4-conditional.xml

    r1786 r1796  
    171171   for the selected representation.
    172172</t>
     173
     174<section title="Conformance and Error Handling" anchor="intro.conformance.and.error.handling">
     175<t>
     176   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
     177   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
     178   document are to be interpreted as described in <xref target="RFC2119"/>.
     179</t>
     180<t>
     181   This specification targets conformance criteria according to the role of
     182   a participant in HTTP communication.  Hence, HTTP requirements are placed
     183   on senders, recipients, clients, servers, user agents, intermediaries,
     184   origin servers, proxies, gateways, or caches, depending on what behavior
     185   is being constrained by the requirement. See &architecture; for definitions
     186   of these terms.
     187</t>
     188<t>
     189   The verb "generate" is used instead of "send" where a requirement
     190   differentiates between creating a protocol element and merely forwarding a
     191   received element downstream.
     192</t>
     193<t>
     194   An implementation is considered conformant if it complies with all of the
     195   requirements associated with the roles it partakes in HTTP. Note that
     196   SHOULD-level requirements are relevant here, unless one of the documented
     197   exceptions is applicable.
     198</t>
     199<t>
     200   This document also uses ABNF to define valid protocol elements
     201   (<xref target="notation"/>).
     202   In addition to the prose requirements placed upon them, senders &MUST-NOT;
     203   generate protocol elements that do not match the grammar defined by the
     204   ABNF rules for those protocol elements that are applicable to the sender's
     205   role. If a received protocol element is processed, the recipient &MUST; be
     206   able to parse any value that would match the ABNF rules for that protocol
     207   element, excluding only those rules not applicable to the recipient's role.
     208</t>
     209<t>
     210   Unless noted otherwise, a recipient &MAY; attempt to recover a usable
     211   protocol element from an invalid construct.  HTTP does not define
     212   specific error handling mechanisms except when they have a direct impact
     213   on security, since different applications of the protocol require
     214   different error handling strategies.  For example, a Web browser might
     215   wish to transparently recover from a response where the
     216   <x:ref>Location</x:ref> header field doesn't parse according to the ABNF,
     217   whereas a systems control client might consider any form of error recovery
     218   to be dangerous.
     219</t>
     220</section>
     221
     222<section title="Syntax Notation" anchor="notation">
     223  <x:anchor-alias value="ALPHA"/>
     224  <x:anchor-alias value="CR"/>
     225  <x:anchor-alias value="DIGIT"/>
     226  <x:anchor-alias value="DQUOTE"/>
     227  <x:anchor-alias value="LF"/>
     228  <x:anchor-alias value="OCTET"/>
     229  <x:anchor-alias value="VCHAR"/>
     230  <x:anchor-alias value="core.rules"/>
     231  <x:anchor-alias value="obs-text"/>
     232  <x:anchor-alias value="OWS"/>
     233  <x:anchor-alias value="HTTP-date"/>
     234<t>
     235   This specification uses the Augmented Backus-Naur Form (ABNF) notation
     236   of <xref target="RFC5234"/> with the list rule extension defined in
     237   &notation;.  <xref target="collected.abnf"/> shows the collected ABNF
     238   with the list rule expanded.
     239</t>
     240<t>
     241  The following core rules are included by
     242  reference, as defined in <xref target="RFC5234" x:fmt="," x:sec="B.1"/>:
     243  ALPHA (letters), CR (carriage return), CRLF (CR LF), CTL (controls),
     244  DIGIT (decimal 0-9), DQUOTE (double quote),
     245  HEXDIG (hexadecimal 0-9/A-F/a-f), LF (line feed),
     246  OCTET (any 8-bit sequence of data), SP (space), and
     247  VCHAR (any visible US-ASCII character).
     248</t>
     249<t>
     250  The ABNF rules below are defined in <xref target="Part1"/> and
     251  <xref target="Part2"/>:
     252</t>
     253<figure><artwork type="abnf2616">
     254  <x:ref>OWS</x:ref>           = &lt;OWS, defined in &whitespace;&gt;
     255  <x:ref>obs-text</x:ref>      = &lt;obs-text, defined in &field-components;&gt;
     256  <x:ref>HTTP-date</x:ref>     = &lt;HTTP-date, defined in &http-date;&gt;
     257</artwork></figure>
     258</section>
    173259</section>
    174260
     
    10021088</t>
    10031089</section>
    1004 </section>
    1005 
    1006 <section title="ABNF Rules Defined Elsewhere" anchor="abnf.dependencies">
    1007   <x:anchor-alias value="ALPHA"/>
    1008   <x:anchor-alias value="CR"/>
    1009   <x:anchor-alias value="DIGIT"/>
    1010   <x:anchor-alias value="DQUOTE"/>
    1011   <x:anchor-alias value="LF"/>
    1012   <x:anchor-alias value="OCTET"/>
    1013   <x:anchor-alias value="VCHAR"/>
    1014   <x:anchor-alias value="core.rules"/>
    1015   <x:anchor-alias value="obs-text"/>
    1016   <x:anchor-alias value="OWS"/>
    1017   <x:anchor-alias value="HTTP-date"/>
    1018 <t>
    1019    This specification uses the Augmented Backus-Naur Form (ABNF) notation
    1020    of <xref target="RFC5234"/> with the list rule extension defined in
    1021    &notation;.  <xref target="collected.abnf"/> shows the collected ABNF
    1022    with the list rule expanded.
    1023 </t>
    1024 <t>
    1025   The following core rules are included by
    1026   reference, as defined in <xref target="RFC5234" x:fmt="," x:sec="B.1"/>:
    1027   ALPHA (letters), CR (carriage return), CRLF (CR LF), CTL (controls),
    1028   DIGIT (decimal 0-9), DQUOTE (double quote),
    1029   HEXDIG (hexadecimal 0-9/A-F/a-f), LF (line feed),
    1030   OCTET (any 8-bit sequence of data), SP (space), and
    1031   VCHAR (any visible US-ASCII character).
    1032 </t>
    1033 <t>
    1034   The ABNF rules below are defined in <xref target="Part1"/> and
    1035   <xref target="Part2"/>:
    1036 </t>
    1037 <figure><artwork type="abnf2616">
    1038   <x:ref>OWS</x:ref>           = &lt;OWS, defined in &whitespace;&gt;
    1039   <x:ref>obs-text</x:ref>      = &lt;obs-text, defined in &field-components;&gt;
    1040   <x:ref>HTTP-date</x:ref>     = &lt;HTTP-date, defined in &http-date;&gt;
    1041 </artwork></figure>
    1042 <t>
    1043    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
    1044    "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
    1045    document are to be interpreted as described in <xref target="RFC2119"/>.
    1046 </t>
    10471090</section>
    10481091
  • draft-ietf-httpbis/latest/p6-cache.html

    r1794 r1796  
    491491      <link href="p5-range.html" rel="prev">
    492492      <link href="p7-auth.html" rel="next">
    493       <meta name="generator" content="http://greenbytes.de/tech/webdav/rfc2629.xslt, Revision 1.584, 2012-06-24 15:59:38, XSLT vendor: SAXON 9.1.0.8 from Saxonica http://www.saxonica.com/">
     493      <meta name="generator" content="http://greenbytes.de/tech/webdav/rfc2629.xslt, Revision 1.584, 2012-06-24 15:59:38, XSLT vendor: SAXON 8.9 from Saxonica http://www.saxonica.com/">
    494494      <link rel="schema.dct" href="http://purl.org/dc/terms/">
    495495      <meta name="dct.creator" content="Fielding, R.">
  • draft-ietf-httpbis/latest/p7-auth.html

    r1791 r1796  
    449449  }
    450450  @bottom-center {
    451        content: "Expires January 16, 2013";
     451       content: "Expires January 17, 2013";
    452452  }
    453453  @bottom-right {
     
    489489      <meta name="dct.creator" content="Reschke, J. F.">
    490490      <meta name="dct.identifier" content="urn:ietf:id:draft-ietf-httpbis-p7-auth-latest">
    491       <meta name="dct.issued" scheme="ISO8601" content="2012-07-15">
     491      <meta name="dct.issued" scheme="ISO8601" content="2012-07-16">
    492492      <meta name="dct.replaces" content="urn:ietf:rfc:2616">
    493493      <meta name="dct.abstract" content="The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information systems. HTTP has been in use by the World Wide Web global information initiative since 1990. This document is Part 7 of the seven-part specification that defines the protocol referred to as &#34;HTTP/1.1&#34; and, taken together, obsoletes RFC 2616. Part 7 defines the HTTP Authentication framework.">
     
    520520            </tr>
    521521            <tr>
    522                <td class="left">Expires: January 16, 2013</td>
     522               <td class="left">Expires: January 17, 2013</td>
    523523               <td class="right">greenbytes</td>
    524524            </tr>
    525525            <tr>
    526526               <td class="left"></td>
    527                <td class="right">July 15, 2012</td>
     527               <td class="right">July 16, 2012</td>
    528528            </tr>
    529529         </tbody>
     
    552552         in progress”.
    553553      </p>
    554       <p>This Internet-Draft will expire on January 16, 2013.</p>
     554      <p>This Internet-Draft will expire on January 17, 2013.</p>
    555555      <h1><a id="rfc.copyrightnotice" href="#rfc.copyrightnotice">Copyright Notice</a></h1>
    556556      <p>Copyright © 2012 IETF Trust and the persons identified as the document authors. All rights reserved.</p>
Note: See TracChangeset for help on using the changeset viewer.