Changeset 1805 for draft-ietf-httpbis/latest
- Timestamp:
- 16/07/12 14:30:03 (10 years ago)
- Location:
- draft-ietf-httpbis/latest
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p2-semantics.html
r1803 r1805 487 487 <link rel="Appendix" title="B Additional Features" href="#rfc.section.B"> 488 488 <link rel="Appendix" title="C Changes from RFC 2616" href="#rfc.section.C"> 489 <link rel="Appendix" title="D Collected ABNF" href="#rfc.section.D"> 490 <link rel="Appendix" title="E Change Log (to be removed by RFC Editor before publication)" href="#rfc.section.E"> 489 <link rel="Appendix" title="D Imported ABNF" href="#rfc.section.D"> 490 <link rel="Appendix" title="E Collected ABNF" href="#rfc.section.E"> 491 <link rel="Appendix" title="F Change Log (to be removed by RFC Editor before publication)" href="#rfc.section.F"> 491 492 <link href="p1-messaging.html" rel="prev"> 492 493 <link href="p3-payload.html" rel="next"> … … 549 550 <p>The current issues list is at <<a href="http://tools.ietf.org/wg/httpbis/trac/report/3">http://tools.ietf.org/wg/httpbis/trac/report/3</a>> and related documents (including fancy diffs) can be found at <<a href="http://tools.ietf.org/wg/httpbis/">http://tools.ietf.org/wg/httpbis/</a>>. 550 551 </p> 551 <p>The changes in this draft are summarized in <a href="#changes.since.19" title="Since draft-ietf-httpbis-p2-semantics-19 and draft-ietf-httpbis-p3-payload-19">Appendix E.40</a>.552 <p>The changes in this draft are summarized in <a href="#changes.since.19" title="Since draft-ietf-httpbis-p2-semantics-19 and draft-ietf-httpbis-p3-payload-19">Appendix F.40</a>. 552 553 </p> 553 554 <h1><a id="rfc.status" href="#rfc.status">Status of This Memo</a></h1> … … 580 581 <li>1. <a href="#introduction">Introduction</a><ul> 581 582 <li>1.1 <a href="#intro.conformance.and.error.handling">Conformance and Error Handling</a></li> 582 <li>1.2 <a href="#notation">Syntax Notation</a><ul> 583 <li>1.2.1 <a href="#core.rules">Core Rules</a></li> 584 <li>1.2.2 <a href="#abnf.dependencies">ABNF Rules defined in other Parts of the Specification</a></li> 585 </ul> 586 </li> 583 <li>1.2 <a href="#notation">Syntax Notation</a></li> 587 584 </ul> 588 585 </li> … … 761 758 <li>B. <a href="#additional.features">Additional Features</a></li> 762 759 <li>C. <a href="#changes.from.rfc.2616">Changes from RFC 2616</a></li> 763 <li>D. <a href="#collected.abnf">Collected ABNF</a></li> 764 <li>E. <a href="#change.log">Change Log (to be removed by RFC Editor before publication)</a><ul> 765 <li>E.1 <a href="#rfc.section.E.1">Since RFC 2616</a></li> 766 <li>E.2 <a href="#rfc.section.E.2">Since draft-ietf-httpbis-p2-semantics-00</a></li> 767 <li>E.3 <a href="#rfc.section.E.3">Since draft-ietf-httpbis-p3-payload-00</a></li> 768 <li>E.4 <a href="#rfc.section.E.4">Since draft-ietf-httpbis-p2-semantics-01</a></li> 769 <li>E.5 <a href="#rfc.section.E.5">Since draft-ietf-httpbis-p3-payload-01</a></li> 770 <li>E.6 <a href="#changes.since.02">Since draft-ietf-httpbis-p2-semantics-02</a></li> 771 <li>E.7 <a href="#changes.3.since.02">Since draft-ietf-httpbis-p3-payload-02</a></li> 772 <li>E.8 <a href="#changes.since.03">Since draft-ietf-httpbis-p2-semantics-03</a></li> 773 <li>E.9 <a href="#changes.3.since.03">Since draft-ietf-httpbis-p3-payload-03</a></li> 774 <li>E.10 <a href="#changes.since.04">Since draft-ietf-httpbis-p2-semantics-04</a></li> 775 <li>E.11 <a href="#changes.3.since.04">Since draft-ietf-httpbis-p3-payload-04</a></li> 776 <li>E.12 <a href="#changes.since.05">Since draft-ietf-httpbis-p2-semantics-05</a></li> 777 <li>E.13 <a href="#changes.3.since.05">Since draft-ietf-httpbis-p3-payload-05</a></li> 778 <li>E.14 <a href="#changes.since.06">Since draft-ietf-httpbis-p2-semantics-06</a></li> 779 <li>E.15 <a href="#changes.3.since.06">Since draft-ietf-httpbis-p3-payload-06</a></li> 780 <li>E.16 <a href="#changes.since.07">Since draft-ietf-httpbis-p2-semantics-07</a></li> 781 <li>E.17 <a href="#changes.3.since.07">Since draft-ietf-httpbis-p3-payload-07</a></li> 782 <li>E.18 <a href="#changes.since.08">Since draft-ietf-httpbis-p2-semantics-08</a></li> 783 <li>E.19 <a href="#changes.3.since.08">Since draft-ietf-httpbis-p3-payload-08</a></li> 784 <li>E.20 <a href="#changes.since.09">Since draft-ietf-httpbis-p2-semantics-09</a></li> 785 <li>E.21 <a href="#changes.3.since.09">Since draft-ietf-httpbis-p3-payload-09</a></li> 786 <li>E.22 <a href="#changes.since.10">Since draft-ietf-httpbis-p2-semantics-10</a></li> 787 <li>E.23 <a href="#changes.3.since.10">Since draft-ietf-httpbis-p3-payload-10</a></li> 788 <li>E.24 <a href="#changes.since.11">Since draft-ietf-httpbis-p2-semantics-11</a></li> 789 <li>E.25 <a href="#changes.3.since.11">Since draft-ietf-httpbis-p3-payload-11</a></li> 790 <li>E.26 <a href="#changes.since.12">Since draft-ietf-httpbis-p2-semantics-12</a></li> 791 <li>E.27 <a href="#changes.3.since.12">Since draft-ietf-httpbis-p3-payload-12</a></li> 792 <li>E.28 <a href="#changes.since.13">Since draft-ietf-httpbis-p2-semantics-13</a></li> 793 <li>E.29 <a href="#changes.3.since.13">Since draft-ietf-httpbis-p3-payload-13</a></li> 794 <li>E.30 <a href="#changes.since.14">Since draft-ietf-httpbis-p2-semantics-14</a></li> 795 <li>E.31 <a href="#changes.3.since.14">Since draft-ietf-httpbis-p3-payload-14</a></li> 796 <li>E.32 <a href="#changes.since.15">Since draft-ietf-httpbis-p2-semantics-15</a></li> 797 <li>E.33 <a href="#changes.3.since.15">Since draft-ietf-httpbis-p3-payload-15</a></li> 798 <li>E.34 <a href="#changes.since.16">Since draft-ietf-httpbis-p2-semantics-16</a></li> 799 <li>E.35 <a href="#changes.3.since.16">Since draft-ietf-httpbis-p3-payload-16</a></li> 800 <li>E.36 <a href="#changes.since.17">Since draft-ietf-httpbis-p2-semantics-17</a></li> 801 <li>E.37 <a href="#changes.3.since.17">Since draft-ietf-httpbis-p3-payload-17</a></li> 802 <li>E.38 <a href="#changes.since.18">Since draft-ietf-httpbis-p2-semantics-18</a></li> 803 <li>E.39 <a href="#changes.3.since.18">Since draft-ietf-httpbis-p3-payload-18</a></li> 804 <li>E.40 <a href="#changes.since.19">Since draft-ietf-httpbis-p2-semantics-19 and draft-ietf-httpbis-p3-payload-19</a></li> 760 <li>D. <a href="#imported.abnf">Imported ABNF</a></li> 761 <li>E. <a href="#collected.abnf">Collected ABNF</a></li> 762 <li>F. <a href="#change.log">Change Log (to be removed by RFC Editor before publication)</a><ul> 763 <li>F.1 <a href="#rfc.section.F.1">Since RFC 2616</a></li> 764 <li>F.2 <a href="#rfc.section.F.2">Since draft-ietf-httpbis-p2-semantics-00</a></li> 765 <li>F.3 <a href="#rfc.section.F.3">Since draft-ietf-httpbis-p3-payload-00</a></li> 766 <li>F.4 <a href="#rfc.section.F.4">Since draft-ietf-httpbis-p2-semantics-01</a></li> 767 <li>F.5 <a href="#rfc.section.F.5">Since draft-ietf-httpbis-p3-payload-01</a></li> 768 <li>F.6 <a href="#changes.since.02">Since draft-ietf-httpbis-p2-semantics-02</a></li> 769 <li>F.7 <a href="#changes.3.since.02">Since draft-ietf-httpbis-p3-payload-02</a></li> 770 <li>F.8 <a href="#changes.since.03">Since draft-ietf-httpbis-p2-semantics-03</a></li> 771 <li>F.9 <a href="#changes.3.since.03">Since draft-ietf-httpbis-p3-payload-03</a></li> 772 <li>F.10 <a href="#changes.since.04">Since draft-ietf-httpbis-p2-semantics-04</a></li> 773 <li>F.11 <a href="#changes.3.since.04">Since draft-ietf-httpbis-p3-payload-04</a></li> 774 <li>F.12 <a href="#changes.since.05">Since draft-ietf-httpbis-p2-semantics-05</a></li> 775 <li>F.13 <a href="#changes.3.since.05">Since draft-ietf-httpbis-p3-payload-05</a></li> 776 <li>F.14 <a href="#changes.since.06">Since draft-ietf-httpbis-p2-semantics-06</a></li> 777 <li>F.15 <a href="#changes.3.since.06">Since draft-ietf-httpbis-p3-payload-06</a></li> 778 <li>F.16 <a href="#changes.since.07">Since draft-ietf-httpbis-p2-semantics-07</a></li> 779 <li>F.17 <a href="#changes.3.since.07">Since draft-ietf-httpbis-p3-payload-07</a></li> 780 <li>F.18 <a href="#changes.since.08">Since draft-ietf-httpbis-p2-semantics-08</a></li> 781 <li>F.19 <a href="#changes.3.since.08">Since draft-ietf-httpbis-p3-payload-08</a></li> 782 <li>F.20 <a href="#changes.since.09">Since draft-ietf-httpbis-p2-semantics-09</a></li> 783 <li>F.21 <a href="#changes.3.since.09">Since draft-ietf-httpbis-p3-payload-09</a></li> 784 <li>F.22 <a href="#changes.since.10">Since draft-ietf-httpbis-p2-semantics-10</a></li> 785 <li>F.23 <a href="#changes.3.since.10">Since draft-ietf-httpbis-p3-payload-10</a></li> 786 <li>F.24 <a href="#changes.since.11">Since draft-ietf-httpbis-p2-semantics-11</a></li> 787 <li>F.25 <a href="#changes.3.since.11">Since draft-ietf-httpbis-p3-payload-11</a></li> 788 <li>F.26 <a href="#changes.since.12">Since draft-ietf-httpbis-p2-semantics-12</a></li> 789 <li>F.27 <a href="#changes.3.since.12">Since draft-ietf-httpbis-p3-payload-12</a></li> 790 <li>F.28 <a href="#changes.since.13">Since draft-ietf-httpbis-p2-semantics-13</a></li> 791 <li>F.29 <a href="#changes.3.since.13">Since draft-ietf-httpbis-p3-payload-13</a></li> 792 <li>F.30 <a href="#changes.since.14">Since draft-ietf-httpbis-p2-semantics-14</a></li> 793 <li>F.31 <a href="#changes.3.since.14">Since draft-ietf-httpbis-p3-payload-14</a></li> 794 <li>F.32 <a href="#changes.since.15">Since draft-ietf-httpbis-p2-semantics-15</a></li> 795 <li>F.33 <a href="#changes.3.since.15">Since draft-ietf-httpbis-p3-payload-15</a></li> 796 <li>F.34 <a href="#changes.since.16">Since draft-ietf-httpbis-p2-semantics-16</a></li> 797 <li>F.35 <a href="#changes.3.since.16">Since draft-ietf-httpbis-p3-payload-16</a></li> 798 <li>F.36 <a href="#changes.since.17">Since draft-ietf-httpbis-p2-semantics-17</a></li> 799 <li>F.37 <a href="#changes.3.since.17">Since draft-ietf-httpbis-p3-payload-17</a></li> 800 <li>F.38 <a href="#changes.since.18">Since draft-ietf-httpbis-p2-semantics-18</a></li> 801 <li>F.39 <a href="#changes.3.since.18">Since draft-ietf-httpbis-p3-payload-18</a></li> 802 <li>F.40 <a href="#changes.since.19">Since draft-ietf-httpbis-p2-semantics-19 and draft-ietf-httpbis-p3-payload-19</a></li> 805 803 </ul> 806 804 </li> … … 854 852 </p> 855 853 <h2 id="rfc.section.1.2"><a href="#rfc.section.1.2">1.2</a> <a id="notation" href="#notation">Syntax Notation</a></h2> 856 <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: Message Routing and Syntax"">[Part1]</cite></a>. <a href="#collected.abnf" title="Collected ABNF">Appendix D</a> shows the collected ABNF with the list rule expanded. 857 </p> 858 <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 859 (hexadecimal 0-9/A-F/a-f), HTAB (horizontal tab), LF (line feed), OCTET (any 8-bit sequence of data), SP (space), and VCHAR 860 (any visible US-ASCII character). 861 </p> 862 <h3 id="rfc.section.1.2.1"><a href="#rfc.section.1.2.1">1.2.1</a> <a id="core.rules" href="#core.rules">Core Rules</a></h3> 863 <p id="rfc.section.1.2.1.p.1">The core rules below are defined in <a href="#Part1" id="rfc.xref.Part1.4"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>: 864 </p> 865 <div id="rfc.figure.u.1"></div><pre class="inline"> <a href="#core.rules" class="smpl">BWS</a> = <BWS, defined in <a href="#Part1" id="rfc.xref.Part1.5"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>> 866 <a href="#core.rules" class="smpl">OWS</a> = <OWS, defined in <a href="#Part1" id="rfc.xref.Part1.6"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>> 867 <a href="#core.rules" class="smpl">RWS</a> = <RWS, defined in <a href="#Part1" id="rfc.xref.Part1.7"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>> 868 <a href="#core.rules" class="smpl">quoted-string</a> = <quoted-string, defined in <a href="#Part1" id="rfc.xref.Part1.8"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>> 869 <a href="#core.rules" class="smpl">token</a> = <token, defined in <a href="#Part1" id="rfc.xref.Part1.9"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>> 870 <a href="#core.rules" class="smpl">word</a> = <word, defined in <a href="#Part1" id="rfc.xref.Part1.10"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>> 871 </pre><h3 id="rfc.section.1.2.2"><a href="#rfc.section.1.2.2">1.2.2</a> <a id="abnf.dependencies" href="#abnf.dependencies">ABNF Rules defined in other Parts of the Specification</a></h3> 872 <p id="rfc.section.1.2.2.p.1">The ABNF rules below are defined in other parts:</p> 873 <div id="rfc.figure.u.2"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">absolute-URI</a> = <absolute-URI, defined in <a href="#Part1" id="rfc.xref.Part1.11"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.8</a>> 874 <a href="#abnf.dependencies" class="smpl">comment</a> = <comment, defined in <a href="#Part1" id="rfc.xref.Part1.12"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>> 875 <a href="#abnf.dependencies" class="smpl">partial-URI</a> = <partial-URI, defined in <a href="#Part1" id="rfc.xref.Part1.13"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.8</a>> 876 <a href="#abnf.dependencies" class="smpl">qvalue</a> = <qvalue, defined in <a href="#Part1" id="rfc.xref.Part1.14"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#quality.values" title="Quality Values">Section 4.3.1</a>> 877 <a href="#abnf.dependencies" class="smpl">URI-reference</a> = <URI-reference, defined in <a href="#Part1" id="rfc.xref.Part1.15"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.8</a>> 878 </pre><h1 id="rfc.section.2"><a href="#rfc.section.2">2.</a> <a id="methods" href="#methods">Methods</a></h1> 879 <p id="rfc.section.2.p.1">The method token indicates the request method to be performed on the target resource (<a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 5.5</a> of <a href="#Part1" id="rfc.xref.Part1.16"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>). The method is case-sensitive. 880 </p> 881 <div id="rfc.figure.u.3"></div><pre class="inline"><span id="rfc.iref.g.1"></span> <a href="#methods" class="smpl">method</a> = <a href="#core.rules" class="smpl">token</a> 854 <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: Message Routing and Syntax"">[Part1]</cite></a>. <a href="#imported.abnf" title="Imported ABNF">Appendix D</a> describes rules imported from other documents. <a href="#collected.abnf" title="Collected ABNF">Appendix E</a> shows the collected ABNF with the list rule expanded. 855 </p> 856 <h1 id="rfc.section.2"><a href="#rfc.section.2">2.</a> <a id="methods" href="#methods">Methods</a></h1> 857 <p id="rfc.section.2.p.1">The method token indicates the request method to be performed on the target resource (<a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 5.5</a> of <a href="#Part1" id="rfc.xref.Part1.4"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>). The method is case-sensitive. 858 </p> 859 <div id="rfc.figure.u.1"></div><pre class="inline"><span id="rfc.iref.g.1"></span> <a href="#methods" class="smpl">method</a> = <a href="#imported.abnf" class="smpl">token</a> 882 860 </pre><p id="rfc.section.2.p.3">The list of methods allowed by a resource can be specified in an <a href="#header.allow" class="smpl">Allow</a> header field (<a href="#header.allow" id="rfc.xref.header.allow.1" title="Allow">Section 9.5</a>). The status code of the response always notifies the client whether a method is currently allowed on a resource, since the 883 861 set of allowed methods can change dynamically. An origin server <em class="bcp14">SHOULD</em> respond with the status code <a href="#status.405" class="smpl">405 (Method Not Allowed)</a> if the method is known by the origin server but not allowed for the resource, and <a href="#status.501" class="smpl">501 (Not … … 929 907 to a single application, so that this is clear. 930 908 </p> 931 <p id="rfc.section.2.2.1.p.3">Due to the parsing rules defined in <a href="p1-messaging.html#message.body" title="Message Body">Section 3.3</a> of <a href="#Part1" id="rfc.xref.Part1. 17"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, definitions of HTTP methods cannot prohibit the presence of a message body on either the request or the response message909 <p id="rfc.section.2.2.1.p.3">Due to the parsing rules defined in <a href="p1-messaging.html#message.body" title="Message Body">Section 3.3</a> of <a href="#Part1" id="rfc.xref.Part1.5"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, definitions of HTTP methods cannot prohibit the presence of a message body on either the request or the response message 932 910 (with responses to HEAD requests being the single exception). Definitions of new methods cannot change this rule, but they 933 911 can specify that only zero-length bodies (as opposed to absent bodies) are allowed. … … 948 926 body to make more detailed queries on the server. 949 927 </p> 950 <p id="rfc.section.2.3.1.p.4">If 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. 18"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>) is an asterisk ("*"), the OPTIONS request is intended to apply to the server in general rather than to a specific resource.928 <p id="rfc.section.2.3.1.p.4">If 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.6"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>) is an asterisk ("*"), the OPTIONS request is intended to apply to the server in general rather than to a specific resource. 951 929 Since a server's communication options typically depend on the resource, the "*" request is only useful as a "ping" or "no-op" 952 930 type of method; it does nothing beyond allowing the client to test the capabilities of the server. For example, this can be … … 1104 1082 </p> 1105 1083 <p id="rfc.section.2.3.7.p.2">TRACE allows the client to see what is being received at the other end of the request chain and use that data for testing 1106 or diagnostic information. The value of the <a href="p1-messaging.html#header.via" class="smpl">Via</a> header field (<a href="p1-messaging.html#header.via" title="Via">Section 6.2</a> of <a href="#Part1" id="rfc.xref.Part1. 19"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>) is of particular interest, since it acts as a trace of the request chain. Use of the <a href="#header.max-forwards" class="smpl">Max-Forwards</a> header field allows the client to limit the length of the request chain, which is useful for testing a chain of proxies forwarding1084 or diagnostic information. The value of the <a href="p1-messaging.html#header.via" class="smpl">Via</a> header field (<a href="p1-messaging.html#header.via" title="Via">Section 6.2</a> of <a href="#Part1" id="rfc.xref.Part1.7"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>) is of particular interest, since it acts as a trace of the request chain. Use of the <a href="#header.max-forwards" class="smpl">Max-Forwards</a> header field allows the client to limit the length of the request chain, which is useful for testing a chain of proxies forwarding 1107 1085 messages in an infinite loop. 1108 1086 </p> 1109 <p id="rfc.section.2.3.7.p.3">If the request is valid, the response <em class="bcp14">SHOULD</em> have a <a href="#header.content-type" class="smpl">Content-Type</a> of "message/http" (see <a href="p1-messaging.html#internet.media.type.message.http" title="Internet Media Type message/http">Section 7.3.1</a> of <a href="#Part1" id="rfc.xref.Part1. 20"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>) and contain a message body that encloses a copy of the entire request message. Responses to the TRACE method are not cacheable.1087 <p id="rfc.section.2.3.7.p.3">If the request is valid, the response <em class="bcp14">SHOULD</em> have a <a href="#header.content-type" class="smpl">Content-Type</a> of "message/http" (see <a href="p1-messaging.html#internet.media.type.message.http" title="Internet Media Type message/http">Section 7.3.1</a> of <a href="#Part1" id="rfc.xref.Part1.8"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>) and contain a message body that encloses a copy of the entire request message. Responses to the TRACE method are not cacheable. 1110 1088 </p> 1111 1089 <div id="rfc.iref.c.2"></div> … … 1115 1093 its behavior to blind forwarding of packets until the connection is closed. 1116 1094 </p> 1117 <p id="rfc.section.2.3.8.p.2">When using CONNECT, the request-target <em class="bcp14">MUST</em> use the authority form (<a href="p1-messaging.html#request-target" title="Request Target">Section 5.3</a> of <a href="#Part1" id="rfc.xref.Part1. 21"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>); i.e., the request-target consists of only the host name and port number of the tunnel destination, separated by a colon.1095 <p id="rfc.section.2.3.8.p.2">When using CONNECT, the request-target <em class="bcp14">MUST</em> use the authority form (<a href="p1-messaging.html#request-target" title="Request Target">Section 5.3</a> of <a href="#Part1" id="rfc.xref.Part1.9"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>); i.e., the request-target consists of only the host name and port number of the tunnel destination, separated by a colon. 1118 1096 For example, 1119 1097 </p> 1120 <div id="rfc.figure.u. 4"></div><pre class="text2">CONNECT server.example.com:80 HTTP/1.11098 <div id="rfc.figure.u.2"></div><pre class="text2">CONNECT server.example.com:80 HTTP/1.1 1121 1099 Host: server.example.com:80 1122 1100 … … 1131 1109 </p> 1132 1110 <p id="rfc.section.2.3.8.p.7">Proxy authentication might be used to establish the authority to create a tunnel:</p> 1133 <div id="rfc.figure.u. 5"></div><pre class="text2">CONNECT server.example.com:80 HTTP/1.11111 <div id="rfc.figure.u.3"></div><pre class="text2">CONNECT server.example.com:80 HTTP/1.1 1134 1112 Host: server.example.com:80 1135 1113 Proxy-Authorization: basic aGVsbG86d29ybGQ= … … 1152 1130 <h1 id="rfc.section.3"><a href="#rfc.section.3">3.</a> <a id="header.fields" href="#header.fields">Header Fields</a></h1> 1153 1131 <p id="rfc.section.3.p.1">Header fields are key value pairs that can be used to communicate data about the message, its payload, the target resource, 1154 or about the connection itself (i.e., control data). See <a href="p1-messaging.html#header.fields" title="Header Fields">Section 3.2</a> of <a href="#Part1" id="rfc.xref.Part1. 22"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a> for a general definition of their syntax.1132 or about the connection itself (i.e., control data). See <a href="p1-messaging.html#header.fields" title="Header Fields">Section 3.2</a> of <a href="#Part1" id="rfc.xref.Part1.10"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a> for a general definition of their syntax. 1155 1133 </p> 1156 1134 <h2 id="rfc.section.3.1"><a href="#rfc.section.3.1">3.1</a> <a id="considerations.for.creating.header.fields" href="#considerations.for.creating.header.fields">Considerations for Creating Header Fields</a></h2> … … 1160 1138 with "X-" if they are to be registered (either immediately or in the future). 1161 1139 </p> 1162 <p id="rfc.section.3.1.p.3">New header field values typically have their syntax defined using ABNF (<a href="#RFC5234" id="rfc.xref.RFC5234. 3"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a>), using the extension defined in <a href="p1-messaging.html#abnf.extension" title="ABNF list extension: #rule">Appendix B</a> of <a href="#Part1" id="rfc.xref.Part1.23"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a> as necessary, and are usually constrained to the range of ASCII characters. Header fields needing a greater range of characters1140 <p id="rfc.section.3.1.p.3">New header field values typically have their syntax defined using ABNF (<a href="#RFC5234" id="rfc.xref.RFC5234.2"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a>), using the extension defined in <a href="p1-messaging.html#abnf.extension" title="ABNF list extension: #rule">Appendix B</a> of <a href="#Part1" id="rfc.xref.Part1.11"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a> as necessary, and are usually constrained to the range of ASCII characters. Header fields needing a greater range of characters 1163 1141 can use an encoding such as the one defined in <a href="#RFC5987" id="rfc.xref.RFC5987.1"><cite title="Character Set and Language Encoding for Hypertext Transfer Protocol (HTTP) Header Field Parameters">[RFC5987]</cite></a>. 1164 1142 </p> 1165 1143 <p id="rfc.section.3.1.p.4">Because commas (",") are used as a generic delimiter between field-values, they need to be treated with care if they are allowed 1166 1144 in the field-value's payload. Typically, components that might contain a comma are protected with double-quotes using the 1167 quoted-string ABNF production (<a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a> of <a href="#Part1" id="rfc.xref.Part1. 24"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>).1145 quoted-string ABNF production (<a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a> of <a href="#Part1" id="rfc.xref.Part1.12"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>). 1168 1146 </p> 1169 1147 <p id="rfc.section.3.1.p.5">For example, a textual date and a URI (either of which might contain a comma) could be safely carried in field-values like 1170 1148 these: 1171 1149 </p> 1172 <div id="rfc.figure.u. 6"></div><pre class="text"> Example-URI-Field: "http://example.com/a.html,foo",1150 <div id="rfc.figure.u.4"></div><pre class="text"> Example-URI-Field: "http://example.com/a.html,foo", 1173 1151 "http://without-a-comma.example.com/" 1174 1152 Example-Date-Field: "Sat, 04 May 1996", "Wed, 14 Sep 2005" … … 1183 1161 <ul> 1184 1162 <li> 1185 <p>Whether the field is a single value, or whether it can be a list (delimited by commas; see <a href="p1-messaging.html#header.fields" title="Header Fields">Section 3.2</a> of <a href="#Part1" id="rfc.xref.Part1. 25"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>).1163 <p>Whether the field is a single value, or whether it can be a list (delimited by commas; see <a href="p1-messaging.html#header.fields" title="Header Fields">Section 3.2</a> of <a href="#Part1" id="rfc.xref.Part1.13"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>). 1186 1164 </p> 1187 1165 <p>If it does not use the list syntax, document how to treat messages where the header field occurs multiple times (a sensible … … 1199 1177 </li> 1200 1178 <li> 1201 <p>Whether it is appropriate to list the field-name in the <a href="p1-messaging.html#header.connection" class="smpl">Connection</a> header field (i.e., if the header field is to be hop-by-hop, see <a href="p1-messaging.html#header.connection" title="Connection">Section 6.1</a> of <a href="#Part1" id="rfc.xref.Part1. 26"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>).1179 <p>Whether it is appropriate to list the field-name in the <a href="p1-messaging.html#header.connection" class="smpl">Connection</a> header field (i.e., if the header field is to be hop-by-hop, see <a href="p1-messaging.html#header.connection" title="Connection">Section 6.1</a> of <a href="#Part1" id="rfc.xref.Part1.14"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>). 1202 1180 </p> 1203 1181 </li> … … 1210 1188 </li> 1211 1189 <li> 1212 <p>Whether the header field is useful or allowable in trailers (see <a href="p1-messaging.html#chunked.encoding" title="Chunked Transfer Coding">Section 4.1</a> of <a href="#Part1" id="rfc.xref.Part1. 27"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>).1190 <p>Whether the header field is useful or allowable in trailers (see <a href="p1-messaging.html#chunked.encoding" title="Chunked Transfer Coding">Section 4.1</a> of <a href="#Part1" id="rfc.xref.Part1.15"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>). 1213 1191 </p> 1214 1192 </li> … … 1261 1239 <tr> 1262 1240 <td class="left">Host</td> 1263 <td class="left"><a href="p1-messaging.html#header.host" title="Host">Section 5.4</a> of <a href="#Part1" id="rfc.xref.Part1. 28"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a></td>1241 <td class="left"><a href="p1-messaging.html#header.host" title="Host">Section 5.4</a> of <a href="#Part1" id="rfc.xref.Part1.16"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a></td> 1264 1242 </tr> 1265 1243 <tr> … … 1301 1279 <tr> 1302 1280 <td class="left">TE</td> 1303 <td class="left"><a href="p1-messaging.html#header.te" title="TE">Section 4.3</a> of <a href="#Part1" id="rfc.xref.Part1. 29"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a></td>1281 <td class="left"><a href="p1-messaging.html#header.te" title="TE">Section 4.3</a> of <a href="#Part1" id="rfc.xref.Part1.17"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a></td> 1304 1282 </tr> 1305 1283 <tr> … … 1312 1290 <h2 id="rfc.section.3.3"><a href="#rfc.section.3.3">3.3</a> <a id="response.header.fields" href="#response.header.fields">Response Header Fields</a></h2> 1313 1291 <p id="rfc.section.3.3.p.1">The response header fields allow the server to pass additional information about the response which cannot be placed in the 1314 status-line. These header fields give information about the server and about further access to the target resource (<a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 5.5</a> of <a href="#Part1" id="rfc.xref.Part1. 30"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>).1292 status-line. These header fields give information about the server and about further access to the target resource (<a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 5.5</a> of <a href="#Part1" id="rfc.xref.Part1.18"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>). 1315 1293 </p> 1316 1294 <div id="rfc.table.u.2"> … … 1660 1638 <p id="rfc.section.4.3.1.p.1">The client <em class="bcp14">SHOULD</em> continue with its request. This interim response is used to inform the client that the initial part of the request has been 1661 1639 received and has not yet been rejected by the server. The client <em class="bcp14">SHOULD</em> continue by sending the remainder of the request or, if the request has already been completed, ignore this response. The 1662 server <em class="bcp14">MUST</em> send a final response after the request has been completed. See <a href="p1-messaging.html#use.of.the.100.status" title="Use of the 100 (Continue) Status">Section 6.4.3</a> of <a href="#Part1" id="rfc.xref.Part1. 31"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a> for detailed discussion of the use and handling of this status code.1640 server <em class="bcp14">MUST</em> send a final response after the request has been completed. See <a href="p1-messaging.html#use.of.the.100.status" title="Use of the 100 (Continue) Status">Section 6.4.3</a> of <a href="#Part1" id="rfc.xref.Part1.19"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a> for detailed discussion of the use and handling of this status code. 1663 1641 </p> 1664 1642 <div id="rfc.iref.22"></div> 1665 1643 <div id="rfc.iref.s.4"></div> 1666 1644 <h3 id="rfc.section.4.3.2"><a href="#rfc.section.4.3.2">4.3.2</a> <a id="status.101" href="#status.101">101 Switching Protocols</a></h3> 1667 <p id="rfc.section.4.3.2.p.1">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> message header field (<a href="p1-messaging.html#header.upgrade" title="Upgrade">Section 6.5</a> of <a href="#Part1" id="rfc.xref.Part1. 32"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>), for a change in the application protocol being used on this connection. The server will switch protocols to those defined1645 <p id="rfc.section.4.3.2.p.1">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> message header field (<a href="p1-messaging.html#header.upgrade" title="Upgrade">Section 6.5</a> of <a href="#Part1" id="rfc.xref.Part1.20"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>), for a change in the application protocol being used on this connection. The server will switch protocols to those defined 1668 1646 by the response's Upgrade header field immediately after the empty line which terminates the 101 response. 1669 1647 </p> … … 1720 1698 <div id="rfc.iref.s.9"></div> 1721 1699 <h3 id="rfc.section.4.4.4"><a href="#rfc.section.4.4.4">4.4.4</a> <a id="status.203" href="#status.203">203 Non-Authoritative Information</a></h3> 1722 <p id="rfc.section.4.4.4.p.1">The representation in the response has been transformed or otherwise modified by a transforming proxy (<a href="p1-messaging.html#intermediaries" title="Intermediaries">Section 2.4</a> of <a href="#Part1" id="rfc.xref.Part1. 33"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>). Note that the behavior of transforming intermediaries is controlled by the no-transform Cache-Control directive (<a href="p6-cache.html#header.cache-control" title="Cache-Control">Section 7.2</a> of <a href="#Part6" id="rfc.xref.Part6.12"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>).1700 <p id="rfc.section.4.4.4.p.1">The representation in the response has been transformed or otherwise modified by a transforming proxy (<a href="p1-messaging.html#intermediaries" title="Intermediaries">Section 2.4</a> of <a href="#Part1" id="rfc.xref.Part1.21"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>). Note that the behavior of transforming intermediaries is controlled by the no-transform Cache-Control directive (<a href="p6-cache.html#header.cache-control" title="Cache-Control">Section 7.2</a> of <a href="#Part6" id="rfc.xref.Part6.12"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>). 1723 1701 </p> 1724 1702 <p id="rfc.section.4.4.4.p.2">This status code is only appropriate when the response status code would have been <a href="#status.200" class="smpl">200 (OK)</a> otherwise. When the status code before transformation would have been different, the 214 Transformation Applied warn-code … … 1755 1733 another input action. 1756 1734 </p> 1757 <p id="rfc.section.4.4.6.p.2">The message body included with the response <em class="bcp14">MUST</em> be empty. Note that receivers still need to parse the response according to the algorithm defined in <a href="p1-messaging.html#message.body" title="Message Body">Section 3.3</a> of <a href="#Part1" id="rfc.xref.Part1. 34"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>.1735 <p id="rfc.section.4.4.6.p.2">The message body included with the response <em class="bcp14">MUST</em> be empty. Note that receivers still need to parse the response according to the algorithm defined in <a href="p1-messaging.html#message.body" title="Message Body">Section 3.3</a> of <a href="#Part1" id="rfc.xref.Part1.22"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>. 1758 1736 </p> 1759 1737 <h2 id="rfc.section.4.5"><a href="#rfc.section.4.5">4.5</a> <a id="status.3xx" href="#status.3xx">Redirection 3xx</a></h2> … … 2014 1992 <div id="rfc.iref.s.35"></div> 2015 1993 <h3 id="rfc.section.4.6.15"><a href="#rfc.section.4.6.15">4.6.15</a> <a id="status.426" href="#status.426">426 Upgrade Required</a></h3> 2016 <p id="rfc.section.4.6.15.p.1">The request can not be completed without a prior protocol upgrade. This response <em class="bcp14">MUST</em> include an <a href="p1-messaging.html#header.upgrade" class="smpl">Upgrade</a> header field (<a href="p1-messaging.html#header.upgrade" title="Upgrade">Section 6.5</a> of <a href="#Part1" id="rfc.xref.Part1. 35"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>) specifying the required protocols.2017 </p> 2018 <div id="rfc.figure.u. 7"></div>1994 <p id="rfc.section.4.6.15.p.1">The request can not be completed without a prior protocol upgrade. This response <em class="bcp14">MUST</em> include an <a href="p1-messaging.html#header.upgrade" class="smpl">Upgrade</a> header field (<a href="p1-messaging.html#header.upgrade" title="Upgrade">Section 6.5</a> of <a href="#Part1" id="rfc.xref.Part1.23"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>) specifying the required protocols. 1995 </p> 1996 <div id="rfc.figure.u.5"></div> 2019 1997 <p>Example:</p> <pre class="text">HTTP/1.1 426 Upgrade Required 2020 1998 Upgrade: HTTP/3.0 … … 2079 2057 <p id="rfc.section.4.7.6.p.1">The server does not support, or refuses to support, the protocol version that was used in the request message. The server 2080 2058 is indicating that it is unable or unwilling to complete the request using the same major version as the client, as described 2081 in <a href="p1-messaging.html#http.version" title="Protocol Versioning">Section 2.7</a> of <a href="#Part1" id="rfc.xref.Part1. 36"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, other than with this error message. The response <em class="bcp14">SHOULD</em> contain a representation describing why that version is not supported and what other protocols are supported by that server.2059 in <a href="p1-messaging.html#http.version" title="Protocol Versioning">Section 2.7</a> of <a href="#Part1" id="rfc.xref.Part1.24"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, other than with this error message. The response <em class="bcp14">SHOULD</em> contain a representation describing why that version is not supported and what other protocols are supported by that server. 2082 2060 </p> 2083 2061 <h1 id="rfc.section.5"><a href="#rfc.section.5">5.</a> <a id="protocol.parameters" href="#protocol.parameters">Protocol Parameters</a></h1> … … 2086 2064 a fixed-length subset of that defined by <a href="#RFC1123" id="rfc.xref.RFC1123.1"><cite title="Requirements for Internet Hosts - Application and Support">[RFC1123]</cite></a>: 2087 2065 </p> 2088 <div id="rfc.figure.u. 8"></div><pre class="text">Sun, 06 Nov 1994 08:49:37 GMT ; RFC 11232066 <div id="rfc.figure.u.6"></div><pre class="text">Sun, 06 Nov 1994 08:49:37 GMT ; RFC 1123 2089 2067 </pre><p id="rfc.section.5.1.p.3">The other formats are described here only for compatibility with obsolete implementations.</p> 2090 <div id="rfc.figure.u. 9"></div><pre class="text">Sunday, 06-Nov-94 08:49:37 GMT ; obsolete RFC 850 format2068 <div id="rfc.figure.u.7"></div><pre class="text">Sunday, 06-Nov-94 08:49:37 GMT ; obsolete RFC 850 format 2091 2069 Sun Nov 6 08:49:37 1994 ; ANSI C's asctime() format 2092 2070 </pre><p id="rfc.section.5.1.p.5">HTTP/1.1 clients and servers that parse a date value <em class="bcp14">MUST</em> accept all three formats (for compatibility with HTTP/1.0), though they <em class="bcp14">MUST</em> only generate the RFC 1123 format for representing HTTP-date values in header fields. … … 2096 2074 time zone, and <em class="bcp14">MUST</em> be assumed when reading the asctime format. HTTP-date is case sensitive and <em class="bcp14">MUST NOT</em> include additional whitespace beyond that specifically included as SP in the grammar. 2097 2075 </p> 2098 <div id="rfc.figure.u. 10"></div><pre class="inline"><span id="rfc.iref.g.3"></span> <a href="#http.date" class="smpl">HTTP-date</a> = <a href="#preferred.date.format" class="smpl">rfc1123-date</a> / <a href="#obsolete.date.formats" class="smpl">obs-date</a>2076 <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g.3"></span> <a href="#http.date" class="smpl">HTTP-date</a> = <a href="#preferred.date.format" class="smpl">rfc1123-date</a> / <a href="#obsolete.date.formats" class="smpl">obs-date</a> 2099 2077 </pre><div id="preferred.date.format"> 2100 2078 <p id="rfc.section.5.1.p.8"> Preferred format:</p> 2101 2079 </div> 2102 <div id="rfc.figure.u. 11"></div><pre class="inline"><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span><span id="rfc.iref.g.6"></span><span id="rfc.iref.g.7"></span><span id="rfc.iref.g.8"></span><span id="rfc.iref.g.9"></span><span id="rfc.iref.g.10"></span><span id="rfc.iref.g.11"></span><span id="rfc.iref.g.12"></span><span id="rfc.iref.g.13"></span><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span> <a href="#preferred.date.format" class="smpl">rfc1123-date</a> = <a href="#preferred.date.format" class="smpl">day-name</a> "," <a href="#notation" class="smpl">SP</a> date1 <a href="#notation" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">time-of-day</a> <a href="#notation" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">GMT</a>2080 <div id="rfc.figure.u.9"></div><pre class="inline"><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span><span id="rfc.iref.g.6"></span><span id="rfc.iref.g.7"></span><span id="rfc.iref.g.8"></span><span id="rfc.iref.g.9"></span><span id="rfc.iref.g.10"></span><span id="rfc.iref.g.11"></span><span id="rfc.iref.g.12"></span><span id="rfc.iref.g.13"></span><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span> <a href="#preferred.date.format" class="smpl">rfc1123-date</a> = <a href="#preferred.date.format" class="smpl">day-name</a> "," <a href="#imported.abnf" class="smpl">SP</a> date1 <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">time-of-day</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">GMT</a> 2103 2081 ; fixed length subset of the format defined in 2104 2082 ; <a href="http://tools.ietf.org/html/rfc1123#section-5.2.14">Section 5.2.14</a> of <a href="#RFC1123" id="rfc.xref.RFC1123.2"><cite title="Requirements for Internet Hosts - Application and Support">[RFC1123]</cite></a> … … 2112 2090 / %x53.75.6E ; "Sun", case-sensitive 2113 2091 2114 <a href="#obsolete.date.formats" class="smpl">date1</a> = <a href="#preferred.date.format" class="smpl">day</a> <a href="# notation" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">month</a> <a href="#notation" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">year</a>2092 <a href="#obsolete.date.formats" class="smpl">date1</a> = <a href="#preferred.date.format" class="smpl">day</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">month</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">year</a> 2115 2093 ; e.g., 02 Jun 1982 2116 2094 2117 <a href="#preferred.date.format" class="smpl">day</a> = 2<a href="# notation" class="smpl">DIGIT</a>2095 <a href="#preferred.date.format" class="smpl">day</a> = 2<a href="#imported.abnf" class="smpl">DIGIT</a> 2118 2096 <a href="#preferred.date.format" class="smpl">month</a> = %x4A.61.6E ; "Jan", case-sensitive 2119 2097 / %x46.65.62 ; "Feb", case-sensitive … … 2128 2106 / %x4E.6F.76 ; "Nov", case-sensitive 2129 2107 / %x44.65.63 ; "Dec", case-sensitive 2130 <a href="#preferred.date.format" class="smpl">year</a> = 4<a href="# notation" class="smpl">DIGIT</a>2108 <a href="#preferred.date.format" class="smpl">year</a> = 4<a href="#imported.abnf" class="smpl">DIGIT</a> 2131 2109 2132 2110 <a href="#preferred.date.format" class="smpl">GMT</a> = %x47.4D.54 ; "GMT", case-sensitive … … 2135 2113 ; 00:00:00 - 23:59:59 2136 2114 2137 <a href="#preferred.date.format" class="smpl">hour</a> = 2<a href="# notation" class="smpl">DIGIT</a>2138 <a href="#preferred.date.format" class="smpl">minute</a> = 2<a href="# notation" class="smpl">DIGIT</a>2139 <a href="#preferred.date.format" class="smpl">second</a> = 2<a href="# notation" class="smpl">DIGIT</a>2115 <a href="#preferred.date.format" class="smpl">hour</a> = 2<a href="#imported.abnf" class="smpl">DIGIT</a> 2116 <a href="#preferred.date.format" class="smpl">minute</a> = 2<a href="#imported.abnf" class="smpl">DIGIT</a> 2117 <a href="#preferred.date.format" class="smpl">second</a> = 2<a href="#imported.abnf" class="smpl">DIGIT</a> 2140 2118 </pre><p id="rfc.section.5.1.p.10">The semantics of <a href="#preferred.date.format" class="smpl">day-name</a>, <a href="#preferred.date.format" class="smpl">day</a>, <a href="#preferred.date.format" class="smpl">month</a>, <a href="#preferred.date.format" class="smpl">year</a>, and <a href="#preferred.date.format" class="smpl">time-of-day</a> are the same as those defined for the RFC 5322 constructs with the corresponding name (<a href="#RFC5322" id="rfc.xref.RFC5322.1"><cite title="Internet Message Format">[RFC5322]</cite></a>, <a href="http://tools.ietf.org/html/rfc5322#section-3.3">Section 3.3</a>). 2141 2119 </p> … … 2143 2121 <p id="rfc.section.5.1.p.11"> Obsolete formats:</p> 2144 2122 </div> 2145 <div id="rfc.figure.u.1 2"></div><pre class="inline"><span id="rfc.iref.g.16"></span> <a href="#obsolete.date.formats" class="smpl">obs-date</a> = <a href="#obsolete.date.formats" class="smpl">rfc850-date</a> / <a href="#obsolete.date.formats" class="smpl">asctime-date</a>2146 </pre><div id="rfc.figure.u.1 3"></div><pre class="inline"><span id="rfc.iref.g.17"></span> <a href="#obsolete.date.formats" class="smpl">rfc850-date</a> = <a href="#obsolete.date.formats" class="smpl">day-name-l</a> "," <a href="#notation" class="smpl">SP</a> <a href="#obsolete.date.formats" class="smpl">date2</a> <a href="#notation" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">time-of-day</a> <a href="#notation" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">GMT</a>2147 <a href="#obsolete.date.formats" class="smpl">date2</a> = <a href="#preferred.date.format" class="smpl">day</a> "-" <a href="#preferred.date.format" class="smpl">month</a> "-" 2<a href="# notation" class="smpl">DIGIT</a>2123 <div id="rfc.figure.u.10"></div><pre class="inline"><span id="rfc.iref.g.16"></span> <a href="#obsolete.date.formats" class="smpl">obs-date</a> = <a href="#obsolete.date.formats" class="smpl">rfc850-date</a> / <a href="#obsolete.date.formats" class="smpl">asctime-date</a> 2124 </pre><div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.17"></span> <a href="#obsolete.date.formats" class="smpl">rfc850-date</a> = <a href="#obsolete.date.formats" class="smpl">day-name-l</a> "," <a href="#imported.abnf" class="smpl">SP</a> <a href="#obsolete.date.formats" class="smpl">date2</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">time-of-day</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">GMT</a> 2125 <a href="#obsolete.date.formats" class="smpl">date2</a> = <a href="#preferred.date.format" class="smpl">day</a> "-" <a href="#preferred.date.format" class="smpl">month</a> "-" 2<a href="#imported.abnf" class="smpl">DIGIT</a> 2148 2126 ; day-month-year (e.g., 02-Jun-82) 2149 2127 … … 2155 2133 / %x53.61.74.75.72.64.61.79 ; "Saturday", case-sensitive 2156 2134 / %x53.75.6E.64.61.79 ; "Sunday", case-sensitive 2157 </pre><div id="rfc.figure.u.1 4"></div><pre class="inline"><span id="rfc.iref.g.18"></span> <a href="#obsolete.date.formats" class="smpl">asctime-date</a> = <a href="#preferred.date.format" class="smpl">day-name</a> <a href="#notation" class="smpl">SP</a> <a href="#obsolete.date.formats" class="smpl">date3</a> <a href="#notation" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">time-of-day</a> <a href="#notation" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">year</a>2158 <a href="#obsolete.date.formats" class="smpl">date3</a> = <a href="#preferred.date.format" class="smpl">month</a> <a href="# notation" class="smpl">SP</a> ( 2<a href="#notation" class="smpl">DIGIT</a> / ( <a href="#notation" class="smpl">SP</a> 1<a href="#notation" class="smpl">DIGIT</a> ))2135 </pre><div id="rfc.figure.u.12"></div><pre class="inline"><span id="rfc.iref.g.18"></span> <a href="#obsolete.date.formats" class="smpl">asctime-date</a> = <a href="#preferred.date.format" class="smpl">day-name</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#obsolete.date.formats" class="smpl">date3</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">time-of-day</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">year</a> 2136 <a href="#obsolete.date.formats" class="smpl">date3</a> = <a href="#preferred.date.format" class="smpl">month</a> <a href="#imported.abnf" class="smpl">SP</a> ( 2<a href="#imported.abnf" class="smpl">DIGIT</a> / ( <a href="#imported.abnf" class="smpl">SP</a> 1<a href="#imported.abnf" class="smpl">DIGIT</a> )) 2159 2137 ; month day (e.g., Jun 2) 2160 2138 </pre><div class="note" id="rfc.section.5.1.p.15"> … … 2173 2151 By convention, the products are listed in order of their significance for identifying the application. 2174 2152 </p> 2175 <div id="rfc.figure.u.1 5"></div><pre class="inline"><span id="rfc.iref.g.19"></span><span id="rfc.iref.g.20"></span> <a href="#product.tokens" class="smpl">product</a> = <a href="#core.rules" class="smpl">token</a> ["/" <a href="#product.tokens" class="smpl">product-version</a>]2176 <a href="#product.tokens" class="smpl">product-version</a> = <a href="# core.rules" class="smpl">token</a>2153 <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.19"></span><span id="rfc.iref.g.20"></span> <a href="#product.tokens" class="smpl">product</a> = <a href="#imported.abnf" class="smpl">token</a> ["/" <a href="#product.tokens" class="smpl">product-version</a>] 2154 <a href="#product.tokens" class="smpl">product-version</a> = <a href="#imported.abnf" class="smpl">token</a> 2177 2155 </pre><p id="rfc.section.5.2.p.3">Examples:</p> 2178 <div id="rfc.figure.u.1 6"></div><pre class="text"> User-Agent: CERN-LineMode/2.15 libwww/2.17b32156 <div id="rfc.figure.u.14"></div><pre class="text"> User-Agent: CERN-LineMode/2.15 libwww/2.17b3 2179 2157 Server: Apache/0.8.4 2180 2158 </pre><p id="rfc.section.5.2.p.5">Product tokens <em class="bcp14">SHOULD</em> be short and to the point. They <em class="bcp14">MUST NOT</em> be used for advertising or other non-essential information. Although any token octet <em class="bcp14">MAY</em> appear in a product-version, this token <em class="bcp14">SHOULD</em> only be used for a version identifier (i.e., successive versions of the same product <em class="bcp14">SHOULD</em> only differ in the product-version portion of the product value). … … 2187 2165 </p> 2188 2166 </div> 2189 <div id="rfc.figure.u.1 7"></div><pre class="inline"><span id="rfc.iref.g.21"></span> <a href="#rule.charset" class="smpl">charset</a> = <a href="#core.rules" class="smpl">token</a>2167 <div id="rfc.figure.u.15"></div><pre class="inline"><span id="rfc.iref.g.21"></span> <a href="#rule.charset" class="smpl">charset</a> = <a href="#imported.abnf" class="smpl">token</a> 2190 2168 </pre><p id="rfc.section.5.3.p.4">Although HTTP allows an arbitrary token to be used as a charset value, any token that has a predefined value within the IANA 2191 2169 Character Set registry <em class="bcp14">MUST</em> represent the character encoding defined by that registry. Applications <em class="bcp14">SHOULD</em> limit their use of character encodings to those defined within the IANA registry. … … 2201 2179 directly, and only decoded by the recipient. 2202 2180 </p> 2203 <div id="rfc.figure.u.1 8"></div><pre class="inline"><span id="rfc.iref.g.22"></span> <a href="#content.codings" class="smpl">content-coding</a> = <a href="#core.rules" class="smpl">token</a>2181 <div id="rfc.figure.u.16"></div><pre class="inline"><span id="rfc.iref.g.22"></span> <a href="#content.codings" class="smpl">content-coding</a> = <a href="#imported.abnf" class="smpl">token</a> 2204 2182 </pre><p id="rfc.section.5.4.p.3">All content-coding values are case-insensitive. HTTP/1.1 uses content-coding values in the <a href="#header.accept-encoding" class="smpl">Accept-Encoding</a> (<a href="#header.accept-encoding" id="rfc.xref.header.accept-encoding.2" title="Accept-Encoding">Section 9.3</a>) and <a href="#header.content-encoding" class="smpl">Content-Encoding</a> (<a href="#header.content-encoding" id="rfc.xref.header.content-encoding.1" title="Content-Encoding">Section 9.6</a>) header fields. Although the value describes the content-coding, what is more important is that it indicates what decoding 2205 2183 mechanism will be required to remove the encoding. … … 2208 2186 </p> 2209 2187 <ul class="empty"> 2210 <li>See <a href="p1-messaging.html#compress.coding" title="Compress Coding">Section 4.2.1</a> of <a href="#Part1" id="rfc.xref.Part1. 37"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>.2188 <li>See <a href="p1-messaging.html#compress.coding" title="Compress Coding">Section 4.2.1</a> of <a href="#Part1" id="rfc.xref.Part1.25"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>. 2211 2189 </li> 2212 2190 </ul> … … 2214 2192 </p> 2215 2193 <ul class="empty"> 2216 <li>See <a href="p1-messaging.html#deflate.coding" title="Deflate Coding">Section 4.2.2</a> of <a href="#Part1" id="rfc.xref.Part1. 38"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>.2194 <li>See <a href="p1-messaging.html#deflate.coding" title="Deflate Coding">Section 4.2.2</a> of <a href="#Part1" id="rfc.xref.Part1.26"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>. 2217 2195 </li> 2218 2196 </ul> … … 2220 2198 </p> 2221 2199 <ul class="empty"> 2222 <li>See <a href="p1-messaging.html#gzip.coding" title="Gzip Coding">Section 4.2.3</a> of <a href="#Part1" id="rfc.xref.Part1. 39"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>.2200 <li>See <a href="p1-messaging.html#gzip.coding" title="Gzip Coding">Section 4.2.3</a> of <a href="#Part1" id="rfc.xref.Part1.27"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>. 2223 2201 </li> 2224 2202 </ul> … … 2232 2210 <li>Pointer to specification text</li> 2233 2211 </ul> 2234 <p id="rfc.section.5.4.1.p.3">Names of content codings <em class="bcp14">MUST NOT</em> overlap with names of transfer codings (<a href="p1-messaging.html#transfer.codings" title="Transfer Codings">Section 4</a> of <a href="#Part1" id="rfc.xref.Part1. 40"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>), unless the encoding transformation is identical (as is the case for the compression codings defined in <a href="p1-messaging.html#compression.codings" title="Compression Codings">Section 4.2</a> of <a href="#Part1" id="rfc.xref.Part1.41"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>).2212 <p id="rfc.section.5.4.1.p.3">Names of content codings <em class="bcp14">MUST NOT</em> overlap with names of transfer codings (<a href="p1-messaging.html#transfer.codings" title="Transfer Codings">Section 4</a> of <a href="#Part1" id="rfc.xref.Part1.28"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>), unless the encoding transformation is identical (as is the case for the compression codings defined in <a href="p1-messaging.html#compression.codings" title="Compression Codings">Section 4.2</a> of <a href="#Part1" id="rfc.xref.Part1.29"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>). 2235 2213 </p> 2236 2214 <p id="rfc.section.5.4.1.p.4">Values to be added to this name space require IETF Review (see <a href="http://tools.ietf.org/html/rfc5226#section-4.1">Section 4.1</a> of <a href="#RFC5226" id="rfc.xref.RFC5226.3"><cite title="Guidelines for Writing an IANA Considerations Section in RFCs">[RFC5226]</cite></a>), and <em class="bcp14">MUST</em> conform to the purpose of content coding defined in this section. … … 2241 2219 <p id="rfc.section.5.5.p.1">HTTP uses Internet Media Types <a href="#RFC2046" id="rfc.xref.RFC2046.1"><cite title="Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types">[RFC2046]</cite></a> in the <a href="#header.content-type" class="smpl">Content-Type</a> (<a href="#header.content-type" id="rfc.xref.header.content-type.3" title="Content-Type">Section 9.9</a>) and <a href="#header.accept" class="smpl">Accept</a> (<a href="#header.accept" id="rfc.xref.header.accept.2" title="Accept">Section 9.1</a>) header fields in order to provide open and extensible data typing and type negotiation. 2242 2220 </p> 2243 <div id="rfc.figure.u.1 9"></div><pre class="inline"><span id="rfc.iref.g.24"></span><span id="rfc.iref.g.25"></span><span id="rfc.iref.g.26"></span> <a href="#media.types" class="smpl">media-type</a> = <a href="#media.types" class="smpl">type</a> "/" <a href="#media.types" class="smpl">subtype</a> *( <a href="#core.rules" class="smpl">OWS</a> ";" <a href="#core.rules" class="smpl">OWS</a> <a href="#rule.parameter" class="smpl">parameter</a> )2244 <a href="#media.types" class="smpl">type</a> = <a href="# core.rules" class="smpl">token</a>2245 <a href="#media.types" class="smpl">subtype</a> = <a href="# core.rules" class="smpl">token</a>2221 <div id="rfc.figure.u.17"></div><pre class="inline"><span id="rfc.iref.g.24"></span><span id="rfc.iref.g.25"></span><span id="rfc.iref.g.26"></span> <a href="#media.types" class="smpl">media-type</a> = <a href="#media.types" class="smpl">type</a> "/" <a href="#media.types" class="smpl">subtype</a> *( <a href="#imported.abnf" class="smpl">OWS</a> ";" <a href="#imported.abnf" class="smpl">OWS</a> <a href="#rule.parameter" class="smpl">parameter</a> ) 2222 <a href="#media.types" class="smpl">type</a> = <a href="#imported.abnf" class="smpl">token</a> 2223 <a href="#media.types" class="smpl">subtype</a> = <a href="#imported.abnf" class="smpl">token</a> 2246 2224 </pre><div id="rule.parameter"> 2247 2225 <p id="rfc.section.5.5.p.3"> The type/subtype <em class="bcp14">MAY</em> be followed by parameters in the form of attribute/value pairs. 2248 2226 </p> 2249 2227 </div> 2250 <div id="rfc.figure.u. 20"></div><pre class="inline"><span id="rfc.iref.g.27"></span><span id="rfc.iref.g.28"></span><span id="rfc.iref.g.29"></span> <a href="#rule.parameter" class="smpl">parameter</a> = <a href="#rule.parameter" class="smpl">attribute</a> "=" <a href="#rule.parameter" class="smpl">value</a>2251 <a href="#rule.parameter" class="smpl">attribute</a> = <a href="# core.rules" class="smpl">token</a>2252 <a href="#rule.parameter" class="smpl">value</a> = <a href="# core.rules" class="smpl">word</a>2228 <div id="rfc.figure.u.18"></div><pre class="inline"><span id="rfc.iref.g.27"></span><span id="rfc.iref.g.28"></span><span id="rfc.iref.g.29"></span> <a href="#rule.parameter" class="smpl">parameter</a> = <a href="#rule.parameter" class="smpl">attribute</a> "=" <a href="#rule.parameter" class="smpl">value</a> 2229 <a href="#rule.parameter" class="smpl">attribute</a> = <a href="#imported.abnf" class="smpl">token</a> 2230 <a href="#rule.parameter" class="smpl">value</a> = <a href="#imported.abnf" class="smpl">word</a> 2253 2231 </pre><p id="rfc.section.5.5.p.5">The type, subtype, and parameter attribute names are case-insensitive. Parameter values might or might not be case-sensitive, 2254 2232 depending on the semantics of the parameter name. The presence or absence of a parameter might be significant to the processing 2255 2233 of a media-type, depending on its definition within the media type registry. 2256 2234 </p> 2257 <p id="rfc.section.5.5.p.6">A parameter value that matches the <a href="# core.rules" class="smpl">token</a> production can be transmitted as either a token or within a quoted-string. The quoted and unquoted values are equivalent.2235 <p id="rfc.section.5.5.p.6">A parameter value that matches the <a href="#imported.abnf" class="smpl">token</a> production can be transmitted as either a token or within a quoted-string. The quoted and unquoted values are equivalent. 2258 2236 </p> 2259 2237 <p id="rfc.section.5.5.p.7">Note that some older HTTP applications do not recognize media type parameters. When sending data to older HTTP applications, … … 2298 2276 of subtags: 2299 2277 </p> 2300 <div id="rfc.figure.u. 21"></div><pre class="inline"><span id="rfc.iref.g.30"></span> <a href="#language.tags" class="smpl">language-tag</a> = <Language-Tag, defined in <a href="#RFC5646" id="rfc.xref.RFC5646.2"><cite title="Tags for Identifying Languages">[RFC5646]</cite></a>, <a href="http://tools.ietf.org/html/rfc5646#section-2.1">Section 2.1</a>>2278 <div id="rfc.figure.u.19"></div><pre class="inline"><span id="rfc.iref.g.30"></span> <a href="#language.tags" class="smpl">language-tag</a> = <Language-Tag, defined in <a href="#RFC5646" id="rfc.xref.RFC5646.2"><cite title="Tags for Identifying Languages">[RFC5646]</cite></a>, <a href="http://tools.ietf.org/html/rfc5646#section-2.1">Section 2.1</a>> 2301 2279 </pre><p id="rfc.section.5.6.p.4">White space is not allowed within the tag and all tags are case-insensitive. The name space of language subtags is administered 2302 2280 by the IANA (see <<a href="http://www.iana.org/assignments/language-subtag-registry">http://www.iana.org/assignments/language-subtag-registry</a>>). 2303 2281 </p> 2304 <div id="rfc.figure.u.2 2"></div>2282 <div id="rfc.figure.u.20"></div> 2305 2283 <p>Example tags include:</p> <pre class="text"> en, en-US, es-419, az-Arab, x-pig-latin, man-Nkoo-GN 2306 2284 </pre> <p id="rfc.section.5.6.p.6">See <a href="#RFC5646" id="rfc.xref.RFC5646.3"><cite title="Tags for Identifying Languages">[RFC5646]</cite></a> for further information. … … 2331 2309 <tr> 2332 2310 <td class="left">Content-Length</td> 2333 <td class="left"><a href="p1-messaging.html#header.content-length" title="Content-Length">Section 3.3.2</a> of <a href="#Part1" id="rfc.xref.Part1. 42"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a></td>2311 <td class="left"><a href="p1-messaging.html#header.content-length" title="Content-Length">Section 3.3.2</a> of <a href="#Part1" id="rfc.xref.Part1.30"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a></td> 2334 2312 </tr> 2335 2313 <tr> … … 2341 2319 </div> 2342 2320 <h2 id="rfc.section.6.2"><a href="#rfc.section.6.2">6.2</a> <a id="payload.body" href="#payload.body">Payload Body</a></h2> 2343 <p id="rfc.section.6.2.p.1">A payload body is only present in a message when a message body is present, as described in <a href="p1-messaging.html#message.body" title="Message Body">Section 3.3</a> of <a href="#Part1" id="rfc.xref.Part1. 43"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>. The payload body is obtained from the message body by decoding any <a href="p1-messaging.html#header.transfer-encoding" class="smpl">Transfer-Encoding</a> that might have been applied to ensure safe and proper transfer of the message.2321 <p id="rfc.section.6.2.p.1">A payload body is only present in a message when a message body is present, as described in <a href="p1-messaging.html#message.body" title="Message Body">Section 3.3</a> of <a href="#Part1" id="rfc.xref.Part1.31"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>. The payload body is obtained from the message body by decoding any <a href="p1-messaging.html#header.transfer-encoding" class="smpl">Transfer-Encoding</a> that might have been applied to ensure safe and proper transfer of the message. 2344 2322 </p> 2345 2323 <div id="rfc.iref.r.1"></div> … … 2360 2338 in an HTTP message, it is referred to as the payload of the message. 2361 2339 </p> 2362 <p id="rfc.section.7.p.4">A representation body is only present in a message when a message body is present, as described in <a href="p1-messaging.html#message.body" title="Message Body">Section 3.3</a> of <a href="#Part1" id="rfc.xref.Part1. 44"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>. The representation body is obtained from the message body by decoding any <a href="p1-messaging.html#header.transfer-encoding" class="smpl">Transfer-Encoding</a> that might have been applied to ensure safe and proper transfer of the message.2340 <p id="rfc.section.7.p.4">A representation body is only present in a message when a message body is present, as described in <a href="p1-messaging.html#message.body" title="Message Body">Section 3.3</a> of <a href="#Part1" id="rfc.xref.Part1.32"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>. The representation body is obtained from the message body by decoding any <a href="p1-messaging.html#header.transfer-encoding" class="smpl">Transfer-Encoding</a> that might have been applied to ensure safe and proper transfer of the message. 2363 2341 </p> 2364 2342 <h2 id="rfc.section.7.1"><a href="#rfc.section.7.1">7.1</a> <a id="identifying.response.associated.with.representation" href="#identifying.response.associated.with.representation">Identifying the Resource Associated with a Representation</a></h2> 2365 2343 <p id="rfc.section.7.1.p.1">It is sometimes necessary to determine an identifier for the resource associated with a representation.</p> 2366 2344 <p id="rfc.section.7.1.p.2">An HTTP request representation, when present, is always associated with an anonymous (i.e., unidentified) resource.</p> 2367 <p id="rfc.section.7.1.p.3">In the common case, an HTTP response is a representation of the target resource (see <a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 5.5</a> of <a href="#Part1" id="rfc.xref.Part1. 45"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>). However, this is not always the case. To determine the URI of the resource a response is associated with, the following2345 <p id="rfc.section.7.1.p.3">In the common case, an HTTP response is a representation of the target resource (see <a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 5.5</a> of <a href="#Part1" id="rfc.xref.Part1.33"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>). However, this is not always the case. To determine the URI of the resource a response is associated with, the following 2368 2346 rules are used (with the first applicable one being selected): 2369 2347 </p> … … 2457 2435 <p id="rfc.section.7.3.p.2">The data type of the representation data is determined via the header fields <a href="#header.content-type" class="smpl">Content-Type</a> and <a href="#header.content-encoding" class="smpl">Content-Encoding</a>. These define a two-layer, ordered encoding model: 2458 2436 </p> 2459 <div id="rfc.figure.u.2 3"></div><pre class="text"> representation-data := Content-Encoding( Content-Type( bits ) )2437 <div id="rfc.figure.u.21"></div><pre class="text"> representation-data := Content-Encoding( Content-Type( bits ) ) 2460 2438 </pre><p id="rfc.section.7.3.p.4"> <a href="#header.content-type" class="smpl">Content-Type</a> specifies the media type of the underlying data, which defines both the data format and how that data <em class="bcp14">SHOULD</em> be processed by the recipient (within the scope of the request method semantics). Any HTTP/1.1 message containing a payload 2461 2439 body <em class="bcp14">SHOULD</em> include a Content-Type header field defining the media type of the associated representation unless that metadata is unknown … … 2526 2504 (Not Acceptable)</a> response. 2527 2505 </p> 2528 <p id="rfc.section.8.1.p.5">Many of the mechanisms for expressing preferences use quality values to declare relative preference. See <a href="p1-messaging.html#quality.values" title="Quality Values">Section 4.3.1</a> of <a href="#Part1" id="rfc.xref.Part1. 46"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a> for more information.2506 <p id="rfc.section.8.1.p.5">Many of the mechanisms for expressing preferences use quality values to declare relative preference. See <a href="p1-messaging.html#quality.values" title="Quality Values">Section 4.3.1</a> of <a href="#Part1" id="rfc.xref.Part1.34"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a> for more information. 2529 2507 </p> 2530 2508 <p id="rfc.section.8.1.p.6">HTTP/1.1 includes the following header fields for enabling server-driven negotiation through description of user agent capabilities … … 2568 2546 for an in-line image. 2569 2547 </p> 2570 <div id="rfc.figure.u.2 4"></div><pre class="inline"><span id="rfc.iref.g.31"></span><span id="rfc.iref.g.32"></span><span id="rfc.iref.g.33"></span><span id="rfc.iref.g.34"></span> <a href="#header.accept" class="smpl">Accept</a> = #( <a href="#header.accept" class="smpl">media-range</a> [ <a href="#header.accept" class="smpl">accept-params</a> ] )2548 <div id="rfc.figure.u.22"></div><pre class="inline"><span id="rfc.iref.g.31"></span><span id="rfc.iref.g.32"></span><span id="rfc.iref.g.33"></span><span id="rfc.iref.g.34"></span> <a href="#header.accept" class="smpl">Accept</a> = #( <a href="#header.accept" class="smpl">media-range</a> [ <a href="#header.accept" class="smpl">accept-params</a> ] ) 2571 2549 2572 2550 <a href="#header.accept" class="smpl">media-range</a> = ( "*/*" 2573 2551 / ( <a href="#media.types" class="smpl">type</a> "/" "*" ) 2574 2552 / ( <a href="#media.types" class="smpl">type</a> "/" <a href="#media.types" class="smpl">subtype</a> ) 2575 ) *( <a href="# core.rules" class="smpl">OWS</a> ";" <a href="#core.rules" class="smpl">OWS</a> <a href="#rule.parameter" class="smpl">parameter</a> )2576 <a href="#header.accept" class="smpl">accept-params</a> = <a href="# core.rules" class="smpl">OWS</a> ";" <a href="#core.rules" class="smpl">OWS</a> "q=" <a href="#abnf.dependencies" class="smpl">qvalue</a> *( <a href="#header.accept" class="smpl">accept-ext</a> )2577 <a href="#header.accept" class="smpl">accept-ext</a> = <a href="# core.rules" class="smpl">OWS</a> ";" <a href="#core.rules" class="smpl">OWS</a> <a href="#core.rules" class="smpl">token</a> [ "=" <a href="#core.rules" class="smpl">word</a> ]2553 ) *( <a href="#imported.abnf" class="smpl">OWS</a> ";" <a href="#imported.abnf" class="smpl">OWS</a> <a href="#rule.parameter" class="smpl">parameter</a> ) 2554 <a href="#header.accept" class="smpl">accept-params</a> = <a href="#imported.abnf" class="smpl">OWS</a> ";" <a href="#imported.abnf" class="smpl">OWS</a> "q=" <a href="#imported.abnf" class="smpl">qvalue</a> *( <a href="#header.accept" class="smpl">accept-ext</a> ) 2555 <a href="#header.accept" class="smpl">accept-ext</a> = <a href="#imported.abnf" class="smpl">OWS</a> ";" <a href="#imported.abnf" class="smpl">OWS</a> <a href="#imported.abnf" class="smpl">token</a> [ "=" <a href="#imported.abnf" class="smpl">word</a> ] 2578 2556 </pre><p id="rfc.section.9.1.p.3">The asterisk "*" character is used to group media types into ranges, with "*/*" indicating all media types and "type/*" indicating 2579 2557 all subtypes of that type. The media-range <em class="bcp14">MAY</em> include media type parameters that are applicable to that range. … … 2581 2559 <p id="rfc.section.9.1.p.4">Each media-range <em class="bcp14">MAY</em> be followed by one or more accept-params, beginning with the "q" parameter for indicating a relative quality factor. The first 2582 2560 "q" parameter (if any) separates the media-range parameter(s) from the accept-params. Quality factors allow the user or user 2583 agent to indicate the relative degree of preference for that media-range, using the qvalue scale from 0 to 1 (<a href="p1-messaging.html#quality.values" title="Quality Values">Section 4.3.1</a> of <a href="#Part1" id="rfc.xref.Part1. 47"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>). The default value is q=1.2561 agent to indicate the relative degree of preference for that media-range, using the qvalue scale from 0 to 1 (<a href="p1-messaging.html#quality.values" title="Quality Values">Section 4.3.1</a> of <a href="#Part1" id="rfc.xref.Part1.35"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>). The default value is q=1. 2584 2562 </p> 2585 2563 <div class="note" id="rfc.section.9.1.p.5"> … … 2591 2569 </div> 2592 2570 <p id="rfc.section.9.1.p.6">The example</p> 2593 <div id="rfc.figure.u.2 5"></div><pre class="text"> Accept: audio/*; q=0.2, audio/basic2571 <div id="rfc.figure.u.23"></div><pre class="text"> Accept: audio/*; q=0.2, audio/basic 2594 2572 </pre><p id="rfc.section.9.1.p.8"> <em class="bcp14">SHOULD</em> be interpreted as "I prefer audio/basic, but send me any audio type if it is the best available after an 80% mark-down in 2595 2573 quality". … … 2600 2578 </p> 2601 2579 <p id="rfc.section.9.1.p.10">A more elaborate example is</p> 2602 <div id="rfc.figure.u.2 6"></div><pre class="text"> Accept: text/plain; q=0.5, text/html,2580 <div id="rfc.figure.u.24"></div><pre class="text"> Accept: text/plain; q=0.5, text/html, 2603 2581 text/x-dvi; q=0.8, text/x-c 2604 2582 </pre><p id="rfc.section.9.1.p.12">Verbally, this would be interpreted as "text/html and text/x-c are the preferred media types, but if they do not exist, then … … 2608 2586 to a given type, the most specific reference has precedence. For example, 2609 2587 </p> 2610 <div id="rfc.figure.u.2 7"></div><pre class="text"> Accept: text/*, text/plain, text/plain;format=flowed, */*2588 <div id="rfc.figure.u.25"></div><pre class="text"> Accept: text/*, text/plain, text/plain;format=flowed, */* 2611 2589 </pre><p id="rfc.section.9.1.p.15">have the following precedence: </p> 2612 2590 <ol> … … 2619 2597 which matches that type. For example, 2620 2598 </p> 2621 <div id="rfc.figure.u.2 8"></div><pre class="text"> Accept: text/*;q=0.3, text/html;q=0.7, text/html;level=1,2599 <div id="rfc.figure.u.26"></div><pre class="text"> Accept: text/*;q=0.3, text/html;q=0.7, text/html;level=1, 2622 2600 text/html;level=2;q=0.4, */*;q=0.5 2623 2601 </pre><p id="rfc.section.9.1.p.18">would cause the following values to be associated:</p> … … 2668 2646 that capability to a server which is capable of representing documents in those character encodings. 2669 2647 </p> 2670 <div id="rfc.figure.u.2 9"></div><pre class="inline"><span id="rfc.iref.g.35"></span> <a href="#header.accept-charset" class="smpl">Accept-Charset</a> = 1#( ( <a href="#rule.charset" class="smpl">charset</a> / "*" )2671 [ <a href="# core.rules" class="smpl">OWS</a> ";" <a href="#core.rules" class="smpl">OWS</a> "q=" <a href="#abnf.dependencies" class="smpl">qvalue</a> ] )2648 <div id="rfc.figure.u.27"></div><pre class="inline"><span id="rfc.iref.g.35"></span> <a href="#header.accept-charset" class="smpl">Accept-Charset</a> = 1#( ( <a href="#rule.charset" class="smpl">charset</a> / "*" ) 2649 [ <a href="#imported.abnf" class="smpl">OWS</a> ";" <a href="#imported.abnf" class="smpl">OWS</a> "q=" <a href="#imported.abnf" class="smpl">qvalue</a> ] ) 2672 2650 </pre><p id="rfc.section.9.2.p.3">Character encoding values (a.k.a., charsets) are described in <a href="#character.sets" title="Character Encodings (charset)">Section 5.3</a>. Each charset <em class="bcp14">MAY</em> be given an associated quality value which represents the user's preference for that charset. The default value is q=1. An 2673 2651 example is 2674 2652 </p> 2675 <div id="rfc.figure.u. 30"></div><pre class="text"> Accept-Charset: iso-8859-5, unicode-1-1;q=0.82653 <div id="rfc.figure.u.28"></div><pre class="text"> Accept-Charset: iso-8859-5, unicode-1-1;q=0.8 2676 2654 </pre><p id="rfc.section.9.2.p.5">The special value "*", if present in the Accept-Charset field, matches every character encoding which is not mentioned elsewhere 2677 2655 in the Accept-Charset field. If no "*" is present in an Accept-Charset field, then all character encodings not explicitly … … 2688 2666 no encoding is preferred. 2689 2667 </p> 2690 <div id="rfc.figure.u. 31"></div><pre class="inline"><span id="rfc.iref.g.36"></span><span id="rfc.iref.g.37"></span> <a href="#header.accept-encoding" class="smpl">Accept-Encoding</a> = #( <a href="#header.accept-encoding" class="smpl">codings</a> [ <a href="#core.rules" class="smpl">OWS</a> ";" <a href="#core.rules" class="smpl">OWS</a> "q=" <a href="#abnf.dependencies" class="smpl">qvalue</a> ] )2668 <div id="rfc.figure.u.29"></div><pre class="inline"><span id="rfc.iref.g.36"></span><span id="rfc.iref.g.37"></span> <a href="#header.accept-encoding" class="smpl">Accept-Encoding</a> = #( <a href="#header.accept-encoding" class="smpl">codings</a> [ <a href="#imported.abnf" class="smpl">OWS</a> ";" <a href="#imported.abnf" class="smpl">OWS</a> "q=" <a href="#imported.abnf" class="smpl">qvalue</a> ] ) 2691 2669 <a href="#header.accept-encoding" class="smpl">codings</a> = <a href="#content.codings" class="smpl">content-coding</a> / "identity" / "*" 2692 2670 </pre><p id="rfc.section.9.3.p.3">Each codings value <em class="bcp14">MAY</em> be given an associated quality value which represents the preference for that encoding. The default value is q=1. 2693 2671 </p> 2694 2672 <p id="rfc.section.9.3.p.4">For example,</p> 2695 <div id="rfc.figure.u.3 2"></div><pre class="text"> Accept-Encoding: compress, gzip2673 <div id="rfc.figure.u.30"></div><pre class="text"> Accept-Encoding: compress, gzip 2696 2674 Accept-Encoding: 2697 2675 Accept-Encoding: * … … 2709 2687 </li> 2710 2688 <li>If the representation's content-coding is one of the content-codings listed in the Accept-Encoding field, then it is acceptable 2711 unless it is accompanied by a qvalue of 0. (As defined in <a href="p1-messaging.html#quality.values" title="Quality Values">Section 4.3.1</a> of <a href="#Part1" id="rfc.xref.Part1. 48"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, a qvalue of 0 means "not acceptable".)2689 unless it is accompanied by a qvalue of 0. (As defined in <a href="p1-messaging.html#quality.values" title="Quality Values">Section 4.3.1</a> of <a href="#Part1" id="rfc.xref.Part1.36"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, a qvalue of 0 means "not acceptable".) 2712 2690 </li> 2713 2691 <li>If multiple content-codings are acceptable, then the acceptable content-coding with the highest non-zero qvalue is preferred.</li> … … 2731 2709 in the response. Language tags are defined in <a href="#language.tags" title="Language Tags">Section 5.6</a>. 2732 2710 </p> 2733 <div id="rfc.figure.u.3 3"></div><pre class="inline"><span id="rfc.iref.g.38"></span><span id="rfc.iref.g.39"></span> <a href="#header.accept-language" class="smpl">Accept-Language</a> =2734 1#( <a href="#header.accept-language" class="smpl">language-range</a> [ <a href="# core.rules" class="smpl">OWS</a> ";" <a href="#core.rules" class="smpl">OWS</a> "q=" <a href="#abnf.dependencies" class="smpl">qvalue</a> ] )2711 <div id="rfc.figure.u.31"></div><pre class="inline"><span id="rfc.iref.g.38"></span><span id="rfc.iref.g.39"></span> <a href="#header.accept-language" class="smpl">Accept-Language</a> = 2712 1#( <a href="#header.accept-language" class="smpl">language-range</a> [ <a href="#imported.abnf" class="smpl">OWS</a> ";" <a href="#imported.abnf" class="smpl">OWS</a> "q=" <a href="#imported.abnf" class="smpl">qvalue</a> ] ) 2735 2713 <a href="#header.accept-language" class="smpl">language-range</a> = 2736 2714 <language-range, defined in <a href="#RFC4647" id="rfc.xref.RFC4647.1"><cite title="Matching of Language Tags">[RFC4647]</cite></a>, <a href="http://tools.ietf.org/html/rfc4647#section-2.1">Section 2.1</a>> … … 2738 2716 languages specified by that range. The quality value defaults to "q=1". For example, 2739 2717 </p> 2740 <div id="rfc.figure.u.3 4"></div><pre class="text"> Accept-Language: da, en-gb;q=0.8, en;q=0.72718 <div id="rfc.figure.u.32"></div><pre class="text"> Accept-Language: da, en-gb;q=0.8, en;q=0.7 2741 2719 </pre><p id="rfc.section.9.4.p.5">would mean: "I prefer Danish, but will accept British English and other types of English". (see also <a href="http://tools.ietf.org/html/rfc4647#section-2.3">Section 2.3</a> of <a href="#RFC4647" id="rfc.xref.RFC4647.2"><cite title="Matching of Language Tags">[RFC4647]</cite></a>) 2742 2720 </p> … … 2766 2744 is strictly to inform the recipient of valid request methods associated with the resource. 2767 2745 </p> 2768 <div id="rfc.figure.u.3 5"></div><pre class="inline"><span id="rfc.iref.g.40"></span> <a href="#header.allow" class="smpl">Allow</a> = #<a href="#methods" class="smpl">method</a>2746 <div id="rfc.figure.u.33"></div><pre class="inline"><span id="rfc.iref.g.40"></span> <a href="#header.allow" class="smpl">Allow</a> = #<a href="#methods" class="smpl">method</a> 2769 2747 </pre><p id="rfc.section.9.5.p.3">Example of use:</p> 2770 <div id="rfc.figure.u.3 6"></div><pre class="text"> Allow: GET, HEAD, PUT2748 <div id="rfc.figure.u.34"></div><pre class="text"> Allow: GET, HEAD, PUT 2771 2749 </pre><p id="rfc.section.9.5.p.5">The actual set of allowed methods is defined by the origin server at the time of each request.</p> 2772 2750 <p id="rfc.section.9.5.p.6">A proxy <em class="bcp14">MUST NOT</em> modify the Allow header field — it does not need to understand all the methods specified in order to handle them according … … 2780 2758 its underlying media type. 2781 2759 </p> 2782 <div id="rfc.figure.u.3 7"></div><pre class="inline"><span id="rfc.iref.g.41"></span> <a href="#header.content-encoding" class="smpl">Content-Encoding</a> = 1#<a href="#content.codings" class="smpl">content-coding</a>2760 <div id="rfc.figure.u.35"></div><pre class="inline"><span id="rfc.iref.g.41"></span> <a href="#header.content-encoding" class="smpl">Content-Encoding</a> = 1#<a href="#content.codings" class="smpl">content-coding</a> 2783 2761 </pre><p id="rfc.section.9.6.p.3">Content codings are defined in <a href="#content.codings" title="Content Codings">Section 5.4</a>. An example of its use is 2784 2762 </p> 2785 <div id="rfc.figure.u.3 8"></div><pre class="text"> Content-Encoding: gzip2763 <div id="rfc.figure.u.36"></div><pre class="text"> Content-Encoding: gzip 2786 2764 </pre><p id="rfc.section.9.6.p.5">The content-coding is a characteristic of the representation. Typically, the representation body is stored with this encoding 2787 2765 and is only decoded before rendering or analogous usage. However, a transforming proxy <em class="bcp14">MAY</em> modify the content-coding if the new coding is known to be acceptable to the recipient, unless the "no-transform" cache-control … … 2807 2785 that this might not be equivalent to all the languages used within the representation. 2808 2786 </p> 2809 <div id="rfc.figure.u.3 9"></div><pre class="inline"><span id="rfc.iref.g.42"></span> <a href="#header.content-language" class="smpl">Content-Language</a> = 1#<a href="#language.tags" class="smpl">language-tag</a>2787 <div id="rfc.figure.u.37"></div><pre class="inline"><span id="rfc.iref.g.42"></span> <a href="#header.content-language" class="smpl">Content-Language</a> = 1#<a href="#language.tags" class="smpl">language-tag</a> 2810 2788 </pre><p id="rfc.section.9.7.p.3">Language tags are defined in <a href="#language.tags" title="Language Tags">Section 5.6</a>. The primary purpose of Content-Language is to allow a user to identify and differentiate representations according to the 2811 2789 user's own preferred language. Thus, if the body content is intended only for a Danish-literate audience, the appropriate 2812 2790 field is 2813 2791 </p> 2814 <div id="rfc.figure.u. 40"></div><pre class="text"> Content-Language: da2792 <div id="rfc.figure.u.38"></div><pre class="text"> Content-Language: da 2815 2793 </pre><p id="rfc.section.9.7.p.5">If no Content-Language is specified, the default is that the content is intended for all language audiences. This might mean 2816 2794 that the sender does not consider it to be specific to any natural language, or that the sender does not know for which language … … 2820 2798 simultaneously in the original Maori and English versions, would call for 2821 2799 </p> 2822 <div id="rfc.figure.u. 41"></div><pre class="text"> Content-Language: mi, en2800 <div id="rfc.figure.u.39"></div><pre class="text"> Content-Language: mi, en 2823 2801 </pre><p id="rfc.section.9.7.p.8">However, just because multiple languages are present within a representation does not mean that it is intended for multiple 2824 2802 linguistic audiences. An example would be a beginner's language primer, such as "A First Lesson in Latin", which is clearly … … 2833 2811 message. In other words, if one were to perform a GET on this URI at the time of this message's generation, then a <a href="#status.200" class="smpl">200 (OK)</a> response would contain the same representation that is enclosed as payload in this message. 2834 2812 </p> 2835 <div id="rfc.figure.u.4 2"></div><pre class="inline"><span id="rfc.iref.g.43"></span> <a href="#header.content-location" class="smpl">Content-Location</a> = <a href="#abnf.dependencies" class="smpl">absolute-URI</a> / <a href="#abnf.dependencies" class="smpl">partial-URI</a>2836 </pre><p id="rfc.section.9.8.p.3">The Content-Location value is not a replacement for the effective Request URI (<a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 5.5</a> of <a href="#Part1" id="rfc.xref.Part1. 49"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>). It is representation metadata. It has the same syntax and semantics as the header field of the same name defined for MIME2813 <div id="rfc.figure.u.40"></div><pre class="inline"><span id="rfc.iref.g.43"></span> <a href="#header.content-location" class="smpl">Content-Location</a> = <a href="#imported.abnf" class="smpl">absolute-URI</a> / <a href="#imported.abnf" class="smpl">partial-URI</a> 2814 </pre><p id="rfc.section.9.8.p.3">The Content-Location value is not a replacement for the effective Request URI (<a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 5.5</a> of <a href="#Part1" id="rfc.xref.Part1.37"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>). It is representation metadata. It has the same syntax and semantics as the header field of the same name defined for MIME 2837 2815 body parts in <a href="http://tools.ietf.org/html/rfc2557#section-4">Section 4</a> of <a href="#RFC2557" id="rfc.xref.RFC2557.1"><cite title="MIME Encapsulation of Aggregate Documents, such as HTML (MHTML)">[RFC2557]</cite></a>. However, its appearance in an HTTP message has some special implications for HTTP recipients. 2838 2816 </p> … … 2873 2851 the media type is that which would have been sent had the request been a GET. 2874 2852 </p> 2875 <div id="rfc.figure.u.4 3"></div><pre class="inline"><span id="rfc.iref.g.44"></span> <a href="#header.content-type" class="smpl">Content-Type</a> = <a href="#media.types" class="smpl">media-type</a>2853 <div id="rfc.figure.u.41"></div><pre class="inline"><span id="rfc.iref.g.44"></span> <a href="#header.content-type" class="smpl">Content-Type</a> = <a href="#media.types" class="smpl">media-type</a> 2876 2854 </pre><p id="rfc.section.9.9.p.3">Media types are defined in <a href="#media.types" title="Media Types">Section 5.5</a>. An example of the field is 2877 2855 </p> 2878 <div id="rfc.figure.u.4 4"></div><pre class="text"> Content-Type: text/html; charset=ISO-8859-42856 <div id="rfc.figure.u.42"></div><pre class="text"> Content-Type: text/html; charset=ISO-8859-4 2879 2857 </pre><p id="rfc.section.9.9.p.5">Further discussion of Content-Type is provided in <a href="#representation.data" title="Representation Data">Section 7.3</a>. 2880 2858 </p> … … 2885 2863 Origination Date Field (orig-date) defined in <a href="http://tools.ietf.org/html/rfc5322#section-3.6.1">Section 3.6.1</a> of <a href="#RFC5322" id="rfc.xref.RFC5322.2"><cite title="Internet Message Format">[RFC5322]</cite></a>. The field value is an HTTP-date, as defined in <a href="#http.date" title="Date/Time Formats">Section 5.1</a>; it <em class="bcp14">MUST</em> be sent in rfc1123-date format. 2886 2864 </p> 2887 <div id="rfc.figure.u.4 5"></div><pre class="inline"><span id="rfc.iref.g.45"></span> <a href="#header.date" class="smpl">Date</a> = <a href="#http.date" class="smpl">HTTP-date</a>2865 <div id="rfc.figure.u.43"></div><pre class="inline"><span id="rfc.iref.g.45"></span> <a href="#header.date" class="smpl">Date</a> = <a href="#http.date" class="smpl">HTTP-date</a> 2888 2866 </pre><p id="rfc.section.9.10.p.3">An example is</p> 2889 <div id="rfc.figure.u.4 6"></div><pre class="text"> Date: Tue, 15 Nov 1994 08:12:31 GMT2867 <div id="rfc.figure.u.44"></div><pre class="text"> Date: Tue, 15 Nov 1994 08:12:31 GMT 2890 2868 </pre><p id="rfc.section.9.10.p.5">Origin servers <em class="bcp14">MUST</em> include a Date header field in all responses, except in these cases: 2891 2869 </p> … … 2913 2891 <h2 id="rfc.section.9.11"><a href="#rfc.section.9.11">9.11</a> <a id="header.expect" href="#header.expect">Expect</a></h2> 2914 2892 <p id="rfc.section.9.11.p.1">The "Expect" header field is used to indicate that particular server behaviors are required by the client.</p> 2915 <div id="rfc.figure.u.4 7"></div><pre class="inline"><span id="rfc.iref.g.46"></span><span id="rfc.iref.g.47"></span><span id="rfc.iref.g.48"></span><span id="rfc.iref.g.49"></span><span id="rfc.iref.g.50"></span> <a href="#header.expect" class="smpl">Expect</a> = 1#<a href="#header.expect" class="smpl">expectation</a>2893 <div id="rfc.figure.u.45"></div><pre class="inline"><span id="rfc.iref.g.46"></span><span id="rfc.iref.g.47"></span><span id="rfc.iref.g.48"></span><span id="rfc.iref.g.49"></span><span id="rfc.iref.g.50"></span> <a href="#header.expect" class="smpl">Expect</a> = 1#<a href="#header.expect" class="smpl">expectation</a> 2916 2894 2917 <a href="#header.expect" class="smpl">expectation</a> = <a href="#header.expect" class="smpl">expect-name</a> [ <a href="# core.rules" class="smpl">BWS</a> "=" <a href="#core.rules" class="smpl">BWS</a> <a href="#header.expect" class="smpl">expect-value</a> ]2918 *( <a href="# core.rules" class="smpl">OWS</a> ";" [ <a href="#core.rules" class="smpl">OWS</a> <a href="#header.expect" class="smpl">expect-param</a> ] )2919 <a href="#header.expect" class="smpl">expect-param</a> = <a href="#header.expect" class="smpl">expect-name</a> [ <a href="# core.rules" class="smpl">BWS</a> "=" <a href="#core.rules" class="smpl">BWS</a> <a href="#header.expect" class="smpl">expect-value</a> ]2895 <a href="#header.expect" class="smpl">expectation</a> = <a href="#header.expect" class="smpl">expect-name</a> [ <a href="#imported.abnf" class="smpl">BWS</a> "=" <a href="#imported.abnf" class="smpl">BWS</a> <a href="#header.expect" class="smpl">expect-value</a> ] 2896 *( <a href="#imported.abnf" class="smpl">OWS</a> ";" [ <a href="#imported.abnf" class="smpl">OWS</a> <a href="#header.expect" class="smpl">expect-param</a> ] ) 2897 <a href="#header.expect" class="smpl">expect-param</a> = <a href="#header.expect" class="smpl">expect-name</a> [ <a href="#imported.abnf" class="smpl">BWS</a> "=" <a href="#imported.abnf" class="smpl">BWS</a> <a href="#header.expect" class="smpl">expect-value</a> ] 2920 2898 2921 <a href="#header.expect" class="smpl">expect-name</a> = <a href="# core.rules" class="smpl">token</a>2922 <a href="#header.expect" class="smpl">expect-value</a> = <a href="# core.rules" class="smpl">token</a> / <a href="#core.rules" class="smpl">quoted-string</a>2899 <a href="#header.expect" class="smpl">expect-name</a> = <a href="#imported.abnf" class="smpl">token</a> 2900 <a href="#header.expect" class="smpl">expect-value</a> = <a href="#imported.abnf" class="smpl">token</a> / <a href="#imported.abnf" class="smpl">quoted-string</a> 2923 2901 </pre><p id="rfc.section.9.11.p.3">If all received Expect header field(s) are syntactically valid but contain an expectation that the recipient does not understand 2924 2902 or cannot comply with, the recipient <em class="bcp14">MUST</em> respond with a <a href="#status.417" class="smpl">417 (Expectation Failed)</a> status code. A recipient of a syntactically invalid Expectation header field <em class="bcp14">MUST</em> respond with a <a href="#status.4xx" class="smpl">4xx</a> status code other than 417. … … 2928 2906 </p> 2929 2907 <ul class="empty"> 2930 <li>The "100-continue" expectation is defined <a href="p1-messaging.html#use.of.the.100.status" title="Use of the 100 (Continue) Status">Section 6.4.3</a> of <a href="#Part1" id="rfc.xref.Part1. 50"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>. It does not support any expect-params.2908 <li>The "100-continue" expectation is defined <a href="p1-messaging.html#use.of.the.100.status" title="Use of the 100 (Continue) Status">Section 6.4.3</a> of <a href="#Part1" id="rfc.xref.Part1.38"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>. It does not support any expect-params. 2931 2909 </li> 2932 2910 </ul> … … 2941 2919 <p id="rfc.section.9.12.p.1">The "From" header field, if given, <em class="bcp14">SHOULD</em> contain an Internet e-mail address for the human user who controls the requesting user agent. The address <em class="bcp14">SHOULD</em> be machine-usable, as defined by "mailbox" in <a href="http://tools.ietf.org/html/rfc5322#section-3.4">Section 3.4</a> of <a href="#RFC5322" id="rfc.xref.RFC5322.3"><cite title="Internet Message Format">[RFC5322]</cite></a>: 2942 2920 </p> 2943 <div id="rfc.figure.u.4 8"></div><pre class="inline"><span id="rfc.iref.g.51"></span> <a href="#header.from" class="smpl">From</a> = <a href="#header.from" class="smpl">mailbox</a>2921 <div id="rfc.figure.u.46"></div><pre class="inline"><span id="rfc.iref.g.51"></span> <a href="#header.from" class="smpl">From</a> = <a href="#header.from" class="smpl">mailbox</a> 2944 2922 2945 2923 <a href="#header.from" class="smpl">mailbox</a> = <mailbox, defined in <a href="#RFC5322" id="rfc.xref.RFC5322.4"><cite title="Internet Message Format">[RFC5322]</cite></a>, <a href="http://tools.ietf.org/html/rfc5322#section-3.4">Section 3.4</a>> 2946 2924 </pre><p id="rfc.section.9.12.p.3">An example is:</p> 2947 <div id="rfc.figure.u.4 9"></div><pre class="text"> From: webmaster@example.org2925 <div id="rfc.figure.u.47"></div><pre class="text"> From: webmaster@example.org 2948 2926 </pre><p id="rfc.section.9.12.p.5">This header field <em class="bcp14">MAY</em> be used for logging purposes and as a means for identifying the source of invalid or unwanted requests. It <em class="bcp14">SHOULD NOT</em> be used as an insecure form of access protection. The interpretation of this field is that the request is being performed 2949 2927 on behalf of the person given, who accepts responsibility for the method performed. In particular, robot agents <em class="bcp14">SHOULD</em> include this header field so that the person responsible for running the robot can be contacted if problems occur on the receiving … … 2962 2940 <p id="rfc.section.9.13.p.1">The "Location" header field <em class="bcp14">MAY</em> be sent in responses to refer to a specific resource in accordance with the semantics of the status code. 2963 2941 </p> 2964 <div id="rfc.figure.u. 50"></div><pre class="inline"><span id="rfc.iref.g.52"></span> <a href="#header.location" class="smpl">Location</a> = <a href="#abnf.dependencies" class="smpl">URI-reference</a>2942 <div id="rfc.figure.u.48"></div><pre class="inline"><span id="rfc.iref.g.52"></span> <a href="#header.location" class="smpl">Location</a> = <a href="#imported.abnf" class="smpl">URI-reference</a> 2965 2943 </pre><p id="rfc.section.9.13.p.3">For <a href="#status.201" class="smpl">201 (Created)</a> responses, the Location is the URI of the new resource which was created by the request. For <a href="#status.3xx" class="smpl">3xx (Redirection)</a> responses, the location <em class="bcp14">SHOULD</em> indicate the server's preferred URI for automatic redirection to the resource. 2966 2944 </p> … … 2968 2946 then the original URI's fragment identifier is added to the final value. 2969 2947 </p> 2970 <div id="rfc.figure.u. 51"></div>2948 <div id="rfc.figure.u.49"></div> 2971 2949 <p>For example, the original URI "http://www.example.org/~tim", combined with a field value given as:</p> <pre class="text"> Location: /pub/WWW/People.html#tim 2972 2950 </pre> <p>would result in a final value of "http://www.example.org/pub/WWW/People.html#tim"</p> 2973 <div id="rfc.figure.u.5 2"></div>2951 <div id="rfc.figure.u.50"></div> 2974 2952 <p>An original URI "http://www.example.org/index.html#larry", combined with a field value given as:</p> <pre class="text"> Location: http://www.example.net/index.html 2975 2953 </pre> <p>would result in a final value of "http://www.example.net/index.html#larry", preserving the original fragment identifier.</p> … … 2994 2972 to trace a request which appears to be failing or looping mid-chain. 2995 2973 </p> 2996 <div id="rfc.figure.u.5 3"></div><pre class="inline"><span id="rfc.iref.g.53"></span> <a href="#header.max-forwards" class="smpl">Max-Forwards</a> = 1*<a href="#notation" class="smpl">DIGIT</a>2974 <div id="rfc.figure.u.51"></div><pre class="inline"><span id="rfc.iref.g.53"></span> <a href="#header.max-forwards" class="smpl">Max-Forwards</a> = 1*<a href="#imported.abnf" class="smpl">DIGIT</a> 2997 2975 </pre><p id="rfc.section.9.14.p.3">The Max-Forwards value is a decimal integer indicating the remaining number of times this request message can be forwarded.</p> 2998 2976 <p id="rfc.section.9.14.p.4">Each recipient of a TRACE or OPTIONS request containing a Max-Forwards header field <em class="bcp14">MUST</em> check and update its value prior to forwarding the request. If the received value is zero (0), the recipient <em class="bcp14">MUST NOT</em> forward the request; instead, it <em class="bcp14">MUST</em> respond as the final recipient. If the received Max-Forwards value is greater than zero, then the forwarded message <em class="bcp14">MUST</em> contain an updated Max-Forwards field with a value decremented by one (1). … … 3014 2992 non-HTTP URIs (e.g., FTP). 3015 2993 </p> 3016 <div id="rfc.figure.u.5 4"></div><pre class="inline"><span id="rfc.iref.g.54"></span> <a href="#header.referer" class="smpl">Referer</a> = <a href="#abnf.dependencies" class="smpl">absolute-URI</a> / <a href="#abnf.dependencies" class="smpl">partial-URI</a>2994 <div id="rfc.figure.u.52"></div><pre class="inline"><span id="rfc.iref.g.54"></span> <a href="#header.referer" class="smpl">Referer</a> = <a href="#imported.abnf" class="smpl">absolute-URI</a> / <a href="#imported.abnf" class="smpl">partial-URI</a> 3017 2995 </pre><p id="rfc.section.9.15.p.5">Example:</p> 3018 <div id="rfc.figure.u.5 5"></div><pre class="text"> Referer: http://www.example.org/hypertext/Overview.html2996 <div id="rfc.figure.u.53"></div><pre class="text"> Referer: http://www.example.org/hypertext/Overview.html 3019 2997 </pre><p id="rfc.section.9.15.p.7">If the field value is a relative URI, it <em class="bcp14">SHOULD</em> be interpreted relative to the effective request URI. The URI <em class="bcp14">MUST NOT</em> include a fragment. See <a href="#encoding.sensitive.information.in.uris" title="Encoding Sensitive Information in URIs">Section 11.2</a> for security considerations. 3020 2998 </p> … … 3026 3004 </p> 3027 3005 <p id="rfc.section.9.16.p.2">The value of this field can be either an HTTP-date or an integer number of seconds (in decimal) after the time of the response.</p> 3028 <div id="rfc.figure.u.5 6"></div><pre class="inline"><span id="rfc.iref.g.55"></span> <a href="#header.retry-after" class="smpl">Retry-After</a> = <a href="#http.date" class="smpl">HTTP-date</a> / <a href="#rule.delta-seconds" class="smpl">delta-seconds</a>3006 <div id="rfc.figure.u.54"></div><pre class="inline"><span id="rfc.iref.g.55"></span> <a href="#header.retry-after" class="smpl">Retry-After</a> = <a href="#http.date" class="smpl">HTTP-date</a> / <a href="#rule.delta-seconds" class="smpl">delta-seconds</a> 3029 3007 </pre><div id="rule.delta-seconds"> 3030 3008 <p id="rfc.section.9.16.p.4"> Time spans are non-negative decimal integers, representing time in seconds.</p> 3031 3009 </div> 3032 <div id="rfc.figure.u.5 7"></div><pre class="inline"><span id="rfc.iref.g.56"></span> <a href="#rule.delta-seconds" class="smpl">delta-seconds</a> = 1*<a href="#notation" class="smpl">DIGIT</a>3010 <div id="rfc.figure.u.55"></div><pre class="inline"><span id="rfc.iref.g.56"></span> <a href="#rule.delta-seconds" class="smpl">delta-seconds</a> = 1*<a href="#imported.abnf" class="smpl">DIGIT</a> 3033 3011 </pre><p id="rfc.section.9.16.p.6">Two examples of its use are</p> 3034 <div id="rfc.figure.u.5 8"></div><pre class="text"> Retry-After: Fri, 31 Dec 1999 23:59:59 GMT3012 <div id="rfc.figure.u.56"></div><pre class="text"> Retry-After: Fri, 31 Dec 1999 23:59:59 GMT 3035 3013 Retry-After: 120 3036 3014 </pre><p id="rfc.section.9.16.p.8">In the latter example, the delay is 2 minutes.</p> … … 3039 3017 <h2 id="rfc.section.9.17"><a href="#rfc.section.9.17">9.17</a> <a id="header.server" href="#header.server">Server</a></h2> 3040 3018 <p id="rfc.section.9.17.p.1">The "Server" header field contains information about the software used by the origin server to handle the request.</p> 3041 <p id="rfc.section.9.17.p.2">The field can contain multiple product tokens (<a href="#product.tokens" title="Product Tokens">Section 5.2</a>) and comments (<a href="p1-messaging.html#header.fields" title="Header Fields">Section 3.2</a> of <a href="#Part1" id="rfc.xref.Part1. 51"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>) identifying the server and any significant subproducts. The product tokens are listed in order of their significance for3019 <p id="rfc.section.9.17.p.2">The field can contain multiple product tokens (<a href="#product.tokens" title="Product Tokens">Section 5.2</a>) and comments (<a href="p1-messaging.html#header.fields" title="Header Fields">Section 3.2</a> of <a href="#Part1" id="rfc.xref.Part1.39"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>) identifying the server and any significant subproducts. The product tokens are listed in order of their significance for 3042 3020 identifying the application. 3043 3021 </p> 3044 <div id="rfc.figure.u.5 9"></div><pre class="inline"><span id="rfc.iref.g.57"></span> <a href="#header.server" class="smpl">Server</a> = <a href="#product.tokens" class="smpl">product</a> *( <a href="#core.rules" class="smpl">RWS</a> ( <a href="#product.tokens" class="smpl">product</a> / <a href="#abnf.dependencies" class="smpl">comment</a> ) )3022 <div id="rfc.figure.u.57"></div><pre class="inline"><span id="rfc.iref.g.57"></span> <a href="#header.server" class="smpl">Server</a> = <a href="#product.tokens" class="smpl">product</a> *( <a href="#imported.abnf" class="smpl">RWS</a> ( <a href="#product.tokens" class="smpl">product</a> / <a href="#imported.abnf" class="smpl">comment</a> ) ) 3045 3023 </pre><p id="rfc.section.9.17.p.4">Example:</p> 3046 <div id="rfc.figure.u. 60"></div><pre class="text"> Server: CERN/3.0 libwww/2.173047 </pre><p id="rfc.section.9.17.p.6">If the response is being forwarded through a proxy, the proxy application <em class="bcp14">MUST NOT</em> modify the <a href="#header.server" class="smpl">Server</a> header field. Instead, it <em class="bcp14">MUST</em> include a <a href="p1-messaging.html#header.via" class="smpl">Via</a> field (as described in <a href="p1-messaging.html#header.via" title="Via">Section 6.2</a> of <a href="#Part1" id="rfc.xref.Part1. 52"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>).3024 <div id="rfc.figure.u.58"></div><pre class="text"> Server: CERN/3.0 libwww/2.17 3025 </pre><p id="rfc.section.9.17.p.6">If the response is being forwarded through a proxy, the proxy application <em class="bcp14">MUST NOT</em> modify the <a href="#header.server" class="smpl">Server</a> header field. Instead, it <em class="bcp14">MUST</em> include a <a href="p1-messaging.html#header.via" class="smpl">Via</a> field (as described in <a href="p1-messaging.html#header.via" title="Via">Section 6.2</a> of <a href="#Part1" id="rfc.xref.Part1.40"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>). 3048 3026 </p> 3049 3027 <div class="note" id="rfc.section.9.17.p.7"> … … 3061 3039 user agent limitations. 3062 3040 </p> 3063 <p id="rfc.section.9.18.p.3">The field can contain multiple product tokens (<a href="#product.tokens" title="Product Tokens">Section 5.2</a>) and comments (<a href="p1-messaging.html#header.fields" title="Header Fields">Section 3.2</a> of <a href="#Part1" id="rfc.xref.Part1. 53"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>) identifying the agent and its significant subproducts. By convention, the product tokens are listed in order of their significance3041 <p id="rfc.section.9.18.p.3">The field can contain multiple product tokens (<a href="#product.tokens" title="Product Tokens">Section 5.2</a>) and comments (<a href="p1-messaging.html#header.fields" title="Header Fields">Section 3.2</a> of <a href="#Part1" id="rfc.xref.Part1.41"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>) identifying the agent and its significant subproducts. By convention, the product tokens are listed in order of their significance 3064 3042 for identifying the application. 3065 3043 </p> … … 3072 3050 doing so makes the field value more difficult to parse. 3073 3051 </p> 3074 <div id="rfc.figure.u. 61"></div><pre class="inline"><span id="rfc.iref.g.58"></span> <a href="#header.user-agent" class="smpl">User-Agent</a> = <a href="#product.tokens" class="smpl">product</a> *( <a href="#core.rules" class="smpl">RWS</a> ( <a href="#product.tokens" class="smpl">product</a> / <a href="#abnf.dependencies" class="smpl">comment</a> ) )3052 <div id="rfc.figure.u.59"></div><pre class="inline"><span id="rfc.iref.g.58"></span> <a href="#header.user-agent" class="smpl">User-Agent</a> = <a href="#product.tokens" class="smpl">product</a> *( <a href="#imported.abnf" class="smpl">RWS</a> ( <a href="#product.tokens" class="smpl">product</a> / <a href="#imported.abnf" class="smpl">comment</a> ) ) 3075 3053 </pre><p id="rfc.section.9.18.p.7">Example:</p> 3076 <div id="rfc.figure.u.6 2"></div><pre class="text"> User-Agent: CERN-LineMode/2.15 libwww/2.17b33054 <div id="rfc.figure.u.60"></div><pre class="text"> User-Agent: CERN-LineMode/2.15 libwww/2.17b3 3077 3055 </pre><h1 id="rfc.section.10"><a href="#rfc.section.10">10.</a> <a id="IANA.considerations" href="#IANA.considerations">IANA Considerations</a></h1> 3078 3056 <h2 id="rfc.section.10.1"><a href="#rfc.section.10.1">10.1</a> <a id="method.registration" href="#method.registration">Method Registry</a></h2> … … 3558 3536 <td class="left">compress</td> 3559 3537 <td class="left">UNIX "compress" program method</td> 3560 <td class="left"> <a href="p1-messaging.html#compress.coding" title="Compress Coding">Section 4.2.1</a> of <a href="#Part1" id="rfc.xref.Part1. 54"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>3538 <td class="left"> <a href="p1-messaging.html#compress.coding" title="Compress Coding">Section 4.2.1</a> of <a href="#Part1" id="rfc.xref.Part1.42"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a> 3561 3539 </td> 3562 3540 </tr> … … 3565 3543 <td class="left">"deflate" compression mechanism (<a href="#RFC1951" id="rfc.xref.RFC1951.1"><cite title="DEFLATE Compressed Data Format Specification version 1.3">[RFC1951]</cite></a>) used inside the "zlib" data format (<a href="#RFC1950" id="rfc.xref.RFC1950.1"><cite title="ZLIB Compressed Data Format Specification version 3.3">[RFC1950]</cite></a>) 3566 3544 </td> 3567 <td class="left"> <a href="p1-messaging.html#deflate.coding" title="Deflate Coding">Section 4.2.2</a> of <a href="#Part1" id="rfc.xref.Part1. 55"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>3545 <td class="left"> <a href="p1-messaging.html#deflate.coding" title="Deflate Coding">Section 4.2.2</a> of <a href="#Part1" id="rfc.xref.Part1.43"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a> 3568 3546 </td> 3569 3547 </tr> … … 3571 3549 <td class="left">gzip</td> 3572 3550 <td class="left">Same as GNU zip <a href="#RFC1952" id="rfc.xref.RFC1952.1"><cite title="GZIP file format specification version 4.3">[RFC1952]</cite></a></td> 3573 <td class="left"> <a href="p1-messaging.html#gzip.coding" title="Gzip Coding">Section 4.2.3</a> of <a href="#Part1" id="rfc.xref.Part1. 56"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>3551 <td class="left"> <a href="p1-messaging.html#gzip.coding" title="Gzip Coding">Section 4.2.3</a> of <a href="#Part1" id="rfc.xref.Part1.44"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a> 3574 3552 </td> 3575 3553 </tr> … … 3663 3641 </p> 3664 3642 <h1 id="rfc.section.12"><a href="#rfc.section.12">12.</a> <a id="acks" href="#acks">Acknowledgments</a></h1> 3665 <p id="rfc.section.12.p.1">See <a href="p1-messaging.html#acks" title="Acknowledgments">Section 9</a> of <a href="#Part1" id="rfc.xref.Part1. 57"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>.3643 <p id="rfc.section.12.p.1">See <a href="p1-messaging.html#acks" title="Acknowledgments">Section 9</a> of <a href="#Part1" id="rfc.xref.Part1.45"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>. 3666 3644 </p> 3667 3645 <h1 id="rfc.references"><a id="rfc.section.13" href="#rfc.section.13">13.</a> References … … 3884 3862 MIME environments. 3885 3863 </p> 3886 <div id="rfc.figure.u.6 3"></div><pre class="inline"><span id="rfc.iref.g.59"></span> <a href="#mime-version" class="smpl">MIME-Version</a> = 1*<a href="#notation" class="smpl">DIGIT</a> "." 1*<a href="#notation" class="smpl">DIGIT</a>3864 <div id="rfc.figure.u.61"></div><pre class="inline"><span id="rfc.iref.g.59"></span> <a href="#mime-version" class="smpl">MIME-Version</a> = 1*<a href="#imported.abnf" class="smpl">DIGIT</a> "." 1*<a href="#imported.abnf" class="smpl">DIGIT</a> 3887 3865 </pre><p id="rfc.section.A.1.p.3">MIME version "1.0" is the default for use in HTTP/1.1. However, HTTP/1.1 message parsing and semantics are defined by this 3888 3866 document and not the MIME specification. … … 3971 3949 <p id="rfc.section.C.p.16">Allow <a href="#header.referer" class="smpl">Referer</a> field value of "about:blank" as alternative to not specifying it. (<a href="#header.referer" id="rfc.xref.header.referer.3" title="Referer">Section 9.15</a>) 3972 3950 </p> 3973 <p id="rfc.section.C.p.17">In the description of the <a href="#header.server" class="smpl">Server</a> header field, the <a href="p1-messaging.html#header.via" class="smpl">Via</a> field was described as a SHOULD. The requirement was and is stated correctly in the description of the Via header field in <a href="p1-messaging.html#header.via" title="Via">Section 6.2</a> of <a href="#Part1" id="rfc.xref.Part1. 58"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>. (<a href="#header.server" id="rfc.xref.header.server.4" title="Server">Section 9.17</a>)3951 <p id="rfc.section.C.p.17">In the description of the <a href="#header.server" class="smpl">Server</a> header field, the <a href="p1-messaging.html#header.via" class="smpl">Via</a> field was described as a SHOULD. The requirement was and is stated correctly in the description of the Via header field in <a href="p1-messaging.html#header.via" title="Via">Section 6.2</a> of <a href="#Part1" id="rfc.xref.Part1.46"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>. (<a href="#header.server" id="rfc.xref.header.server.4" title="Server">Section 9.17</a>) 3974 3952 </p> 3975 3953 <p id="rfc.section.C.p.18">Clarify contexts that charset is used in. (<a href="#character.sets" title="Character Encodings (charset)">Section 5.3</a>) … … 3994 3972 <p id="rfc.section.C.p.26">Remove discussion of Content-Disposition header field, it is now defined by <a href="#RFC6266" id="rfc.xref.RFC6266.2"><cite title="Use of the Content-Disposition Header Field in the Hypertext Transfer Protocol (HTTP)">[RFC6266]</cite></a>. (<a href="#additional.features" title="Additional Features">Appendix B</a>) 3995 3973 </p> 3996 <h1 id="rfc.section.D"><a href="#rfc.section.D">D.</a> <a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1> 3997 <div id="rfc.figure.u.64"></div> <pre class="inline"><a href="#header.accept" class="smpl">Accept</a> = [ ( "," / ( media-range [ accept-params ] ) ) *( OWS "," [ 3974 <h1 id="rfc.section.D"><a href="#rfc.section.D">D.</a> <a id="imported.abnf" href="#imported.abnf">Imported ABNF</a></h1> 3975 <p id="rfc.section.D.p.1">The following core rules are included by reference, as defined in <a href="#RFC5234" id="rfc.xref.RFC5234.3"><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 3976 (hexadecimal 0-9/A-F/a-f), HTAB (horizontal tab), LF (line feed), OCTET (any 8-bit sequence of data), SP (space), and VCHAR 3977 (any visible US-ASCII character). 3978 </p> 3979 <p id="rfc.section.D.p.2">The rules below are defined in <a href="#Part1" id="rfc.xref.Part1.47"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>: 3980 </p> 3981 <div id="rfc.figure.u.62"></div><pre class="inline"> <a href="#imported.abnf" class="smpl">BWS</a> = <BWS, defined in <a href="#Part1" id="rfc.xref.Part1.48"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>> 3982 <a href="#imported.abnf" class="smpl">OWS</a> = <OWS, defined in <a href="#Part1" id="rfc.xref.Part1.49"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>> 3983 <a href="#imported.abnf" class="smpl">RWS</a> = <RWS, defined in <a href="#Part1" id="rfc.xref.Part1.50"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>> 3984 <a href="#imported.abnf" class="smpl">quoted-string</a> = <quoted-string, defined in <a href="#Part1" id="rfc.xref.Part1.51"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>> 3985 <a href="#imported.abnf" class="smpl">token</a> = <token, defined in <a href="#Part1" id="rfc.xref.Part1.52"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>> 3986 <a href="#imported.abnf" class="smpl">word</a> = <word, defined in <a href="#Part1" id="rfc.xref.Part1.53"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>> 3987 3988 <a href="#imported.abnf" class="smpl">absolute-URI</a> = <absolute-URI, defined in <a href="#Part1" id="rfc.xref.Part1.54"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.8</a>> 3989 <a href="#imported.abnf" class="smpl">comment</a> = <comment, defined in <a href="#Part1" id="rfc.xref.Part1.55"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>> 3990 <a href="#imported.abnf" class="smpl">partial-URI</a> = <partial-URI, defined in <a href="#Part1" id="rfc.xref.Part1.56"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.8</a>> 3991 <a href="#imported.abnf" class="smpl">qvalue</a> = <qvalue, defined in <a href="#Part1" id="rfc.xref.Part1.57"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#quality.values" title="Quality Values">Section 4.3.1</a>> 3992 <a href="#imported.abnf" class="smpl">URI-reference</a> = <URI-reference, defined in <a href="#Part1" id="rfc.xref.Part1.58"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.8</a>> 3993 </pre><h1 id="rfc.section.E"><a href="#rfc.section.E">E.</a> <a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1> 3994 <div id="rfc.figure.u.63"></div> <pre class="inline"><a href="#header.accept" class="smpl">Accept</a> = [ ( "," / ( media-range [ accept-params ] ) ) *( OWS "," [ 3998 3995 OWS ( media-range [ accept-params ] ) ] ) ] 3999 3996 <a href="#header.accept-charset" class="smpl">Accept-Charset</a> = *( "," OWS ) ( ( charset / "*" ) [ OWS ";" OWS "q=" … … 4007 4004 <a href="#header.allow" class="smpl">Allow</a> = [ ( "," / method ) *( OWS "," [ OWS method ] ) ] 4008 4005 4009 <a href="# core.rules" class="smpl">BWS</a> = <BWS, defined in [Part1], Section 3.2.1>4006 <a href="#imported.abnf" class="smpl">BWS</a> = <BWS, defined in [Part1], Section 3.2.1> 4010 4007 4011 4008 <a href="#header.content-encoding" class="smpl">Content-Encoding</a> = *( "," OWS ) content-coding *( OWS "," [ OWS … … 4031 4028 <a href="#header.max-forwards" class="smpl">Max-Forwards</a> = 1*DIGIT 4032 4029 4033 <a href="# core.rules" class="smpl">OWS</a> = <OWS, defined in [Part1], Section 3.2.1>4030 <a href="#imported.abnf" class="smpl">OWS</a> = <OWS, defined in [Part1], Section 3.2.1> 4034 4031 4035 <a href="# core.rules" class="smpl">RWS</a> = <RWS, defined in [Part1], Section 3.2.1>4032 <a href="#imported.abnf" class="smpl">RWS</a> = <RWS, defined in [Part1], Section 3.2.1> 4036 4033 <a href="#header.referer" class="smpl">Referer</a> = absolute-URI / partial-URI 4037 4034 <a href="#header.retry-after" class="smpl">Retry-After</a> = HTTP-date / delta-seconds … … 4039 4036 <a href="#header.server" class="smpl">Server</a> = product *( RWS ( product / comment ) ) 4040 4037 4041 <a href="# abnf.dependencies" class="smpl">URI-reference</a> = <URI-reference, defined in [Part1], Section 2.8>4038 <a href="#imported.abnf" class="smpl">URI-reference</a> = <URI-reference, defined in [Part1], Section 2.8> 4042 4039 <a href="#header.user-agent" class="smpl">User-Agent</a> = product *( RWS ( product / comment ) ) 4043 4040 4044 <a href="# abnf.dependencies" class="smpl">absolute-URI</a> = <absolute-URI, defined in [Part1], Section 2.8>4041 <a href="#imported.abnf" class="smpl">absolute-URI</a> = <absolute-URI, defined in [Part1], Section 2.8> 4045 4042 <a href="#header.accept" class="smpl">accept-ext</a> = OWS ";" OWS token [ "=" word ] 4046 4043 <a href="#header.accept" class="smpl">accept-params</a> = OWS ";" OWS "q=" qvalue *accept-ext … … 4050 4047 <a href="#rule.charset" class="smpl">charset</a> = token 4051 4048 <a href="#header.accept-encoding" class="smpl">codings</a> = content-coding / "identity" / "*" 4052 <a href="# abnf.dependencies" class="smpl">comment</a> = <comment, defined in [Part1], Section 3.2.4>4049 <a href="#imported.abnf" class="smpl">comment</a> = <comment, defined in [Part1], Section 3.2.4> 4053 4050 <a href="#content.codings" class="smpl">content-coding</a> = token 4054 4051 … … 4106 4103 4107 4104 <a href="#rule.parameter" class="smpl">parameter</a> = attribute "=" value 4108 <a href="# abnf.dependencies" class="smpl">partial-URI</a> = <partial-URI, defined in [Part1], Section 2.8>4105 <a href="#imported.abnf" class="smpl">partial-URI</a> = <partial-URI, defined in [Part1], Section 2.8> 4109 4106 <a href="#product.tokens" class="smpl">product</a> = token [ "/" product-version ] 4110 4107 <a href="#product.tokens" class="smpl">product-version</a> = token 4111 4108 4112 <a href="# core.rules" class="smpl">quoted-string</a> = <quoted-string, defined in [Part1], Section 3.2.4>4113 <a href="# abnf.dependencies" class="smpl">qvalue</a> = <qvalue, defined in [Part1], Section 4.3.1>4109 <a href="#imported.abnf" class="smpl">quoted-string</a> = <quoted-string, defined in [Part1], Section 3.2.4> 4110 <a href="#imported.abnf" class="smpl">qvalue</a> = <qvalue, defined in [Part1], Section 4.3.1> 4114 4111 4115 4112 <a href="#preferred.date.format" class="smpl">rfc1123-date</a> = day-name "," SP date1 SP time-of-day SP GMT … … 4120 4117 4121 4118 <a href="#preferred.date.format" class="smpl">time-of-day</a> = hour ":" minute ":" second 4122 <a href="# core.rules" class="smpl">token</a> = <token, defined in [Part1], Section 3.2.4>4119 <a href="#imported.abnf" class="smpl">token</a> = <token, defined in [Part1], Section 3.2.4> 4123 4120 <a href="#media.types" class="smpl">type</a> = token 4124 4121 4125 4122 <a href="#rule.parameter" class="smpl">value</a> = word 4126 4123 4127 <a href="# core.rules" class="smpl">word</a> = <word, defined in [Part1], Section 3.2.4>4124 <a href="#imported.abnf" class="smpl">word</a> = <word, defined in [Part1], Section 3.2.4> 4128 4125 4129 4126 <a href="#preferred.date.format" class="smpl">year</a> = 4DIGIT 4130 </pre> <h1 id="rfc.section. E"><a href="#rfc.section.E">E.</a> <a id="change.log" href="#change.log">Change Log (to be removed by RFC Editor before publication)</a></h1>4131 <h2 id="rfc.section. E.1"><a href="#rfc.section.E.1">E.1</a> Since RFC 26164127 </pre> <h1 id="rfc.section.F"><a href="#rfc.section.F">F.</a> <a id="change.log" href="#change.log">Change Log (to be removed by RFC Editor before publication)</a></h1> 4128 <h2 id="rfc.section.F.1"><a href="#rfc.section.F.1">F.1</a> Since RFC 2616 4132 4129 </h2> 4133 <p id="rfc.section. E.1.p.1">Extracted relevant partitions from <a href="#RFC2616" id="rfc.xref.RFC2616.4"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a>.4134 </p> 4135 <h2 id="rfc.section. E.2"><a href="#rfc.section.E.2">E.2</a> Since draft-ietf-httpbis-p2-semantics-004130 <p id="rfc.section.F.1.p.1">Extracted relevant partitions from <a href="#RFC2616" id="rfc.xref.RFC2616.4"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a>. 4131 </p> 4132 <h2 id="rfc.section.F.2"><a href="#rfc.section.F.2">F.2</a> Since draft-ietf-httpbis-p2-semantics-00 4136 4133 </h2> 4137 <p id="rfc.section. E.2.p.1">Closed issues: </p>4134 <p id="rfc.section.F.2.p.1">Closed issues: </p> 4138 4135 <ul> 4139 4136 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/5">http://tools.ietf.org/wg/httpbis/trac/ticket/5</a>>: "Via is a MUST" (<<a href="http://purl.org/NET/http-errata#via-must">http://purl.org/NET/http-errata#via-must</a>>) … … 4154 4151 </li> 4155 4152 </ul> 4156 <p id="rfc.section. E.2.p.2">Other changes: </p>4153 <p id="rfc.section.F.2.p.2">Other changes: </p> 4157 4154 <ul> 4158 4155 <li>Move definitions of 304 and 412 condition codes to <a href="#Part4" id="rfc.xref.Part4.14"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a> 4159 4156 </li> 4160 4157 </ul> 4161 <h2 id="rfc.section. E.3"><a href="#rfc.section.E.3">E.3</a> Since draft-ietf-httpbis-p3-payload-004158 <h2 id="rfc.section.F.3"><a href="#rfc.section.F.3">F.3</a> Since draft-ietf-httpbis-p3-payload-00 4162 4159 </h2> 4163 <p id="rfc.section. E.3.p.1">Closed issues: </p>4160 <p id="rfc.section.F.3.p.1">Closed issues: </p> 4164 4161 <ul> 4165 4162 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/8">http://tools.ietf.org/wg/httpbis/trac/ticket/8</a>>: "Media Type Registrations" (<<a href="http://purl.org/NET/http-errata#media-reg">http://purl.org/NET/http-errata#media-reg</a>>) … … 4186 4183 </li> 4187 4184 </ul> 4188 <h2 id="rfc.section. E.4"><a href="#rfc.section.E.4">E.4</a> Since draft-ietf-httpbis-p2-semantics-014185 <h2 id="rfc.section.F.4"><a href="#rfc.section.F.4">F.4</a> Since draft-ietf-httpbis-p2-semantics-01 4189 4186 </h2> 4190 <p id="rfc.section. E.4.p.1">Closed issues: </p>4187 <p id="rfc.section.F.4.p.1">Closed issues: </p> 4191 4188 <ul> 4192 4189 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/21">http://tools.ietf.org/wg/httpbis/trac/ticket/21</a>>: "PUT side effects" … … 4195 4192 </li> 4196 4193 </ul> 4197 <p id="rfc.section. E.4.p.2">Ongoing work on ABNF conversion (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>>):4194 <p id="rfc.section.F.4.p.2">Ongoing work on ABNF conversion (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>>): 4198 4195 </p> 4199 4196 <ul> … … 4202 4199 <li>Copy definition of delta-seconds from Part6 instead of referencing it.</li> 4203 4200 </ul> 4204 <h2 id="rfc.section. E.5"><a href="#rfc.section.E.5">E.5</a> Since draft-ietf-httpbis-p3-payload-014201 <h2 id="rfc.section.F.5"><a href="#rfc.section.F.5">F.5</a> Since draft-ietf-httpbis-p3-payload-01 4205 4202 </h2> 4206 <p id="rfc.section. E.5.p.1">Ongoing work on ABNF conversion (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>>):4203 <p id="rfc.section.F.5.p.1">Ongoing work on ABNF conversion (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>>): 4207 4204 </p> 4208 4205 <ul> 4209 4206 <li>Add explicit references to BNF syntax and rules imported from other parts of the specification.</li> 4210 4207 </ul> 4211 <h2 id="rfc.section. E.6"><a href="#rfc.section.E.6">E.6</a> <a id="changes.since.02" href="#changes.since.02">Since draft-ietf-httpbis-p2-semantics-02</a></h2>4212 <p id="rfc.section. E.6.p.1">Closed issues: </p>4208 <h2 id="rfc.section.F.6"><a href="#rfc.section.F.6">F.6</a> <a id="changes.since.02" href="#changes.since.02">Since draft-ietf-httpbis-p2-semantics-02</a></h2> 4209 <p id="rfc.section.F.6.p.1">Closed issues: </p> 4213 4210 <ul> 4214 4211 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/24">http://tools.ietf.org/wg/httpbis/trac/ticket/24</a>>: "Requiring Allow in 405 responses" … … 4227 4224 </li> 4228 4225 </ul> 4229 <p id="rfc.section. E.6.p.2">Ongoing work on IANA Message Header Field Registration (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/40">http://tools.ietf.org/wg/httpbis/trac/ticket/40</a>>):4226 <p id="rfc.section.F.6.p.2">Ongoing work on IANA Message Header Field Registration (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/40">http://tools.ietf.org/wg/httpbis/trac/ticket/40</a>>): 4230 4227 </p> 4231 4228 <ul> 4232 4229 <li>Reference RFC 3984, and update header field registrations for header fields defined in this document.</li> 4233 4230 </ul> 4234 <p id="rfc.section. E.6.p.3">Ongoing work on ABNF conversion (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>>):4231 <p id="rfc.section.F.6.p.3">Ongoing work on ABNF conversion (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>>): 4235 4232 </p> 4236 4233 <ul> 4237 4234 <li>Replace string literals when the string really is case-sensitive (method).</li> 4238 4235 </ul> 4239 <h2 id="rfc.section. E.7"><a href="#rfc.section.E.7">E.7</a> <a id="changes.3.since.02" href="#changes.3.since.02">Since draft-ietf-httpbis-p3-payload-02</a></h2>4240 <p id="rfc.section. E.7.p.1">Closed issues: </p>4236 <h2 id="rfc.section.F.7"><a href="#rfc.section.F.7">F.7</a> <a id="changes.3.since.02" href="#changes.3.since.02">Since draft-ietf-httpbis-p3-payload-02</a></h2> 4237 <p id="rfc.section.F.7.p.1">Closed issues: </p> 4241 4238 <ul> 4242 4239 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/67">http://tools.ietf.org/wg/httpbis/trac/ticket/67</a>>: "Quoting Charsets" … … 4247 4244 </li> 4248 4245 </ul> 4249 <p id="rfc.section. E.7.p.2">Ongoing work on IANA Message Header Field Registration (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/40">http://tools.ietf.org/wg/httpbis/trac/ticket/40</a>>):4246 <p id="rfc.section.F.7.p.2">Ongoing work on IANA Message Header Field Registration (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/40">http://tools.ietf.org/wg/httpbis/trac/ticket/40</a>>): 4250 4247 </p> 4251 4248 <ul> 4252 4249 <li>Reference RFC 3984, and update header field registrations for header fields defined in this document.</li> 4253 4250 </ul> 4254 <h2 id="rfc.section. E.8"><a href="#rfc.section.E.8">E.8</a> <a id="changes.since.03" href="#changes.since.03">Since draft-ietf-httpbis-p2-semantics-03</a></h2>4255 <p id="rfc.section. E.8.p.1">Closed issues: </p>4251 <h2 id="rfc.section.F.8"><a href="#rfc.section.F.8">F.8</a> <a id="changes.since.03" href="#changes.since.03">Since draft-ietf-httpbis-p2-semantics-03</a></h2> 4252 <p id="rfc.section.F.8.p.1">Closed issues: </p> 4256 4253 <ul> 4257 4254 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/98">http://tools.ietf.org/wg/httpbis/trac/ticket/98</a>>: "OPTIONS request bodies" … … 4262 4259 </li> 4263 4260 </ul> 4264 <p id="rfc.section. E.8.p.2">Ongoing work on Method Registry (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/72">http://tools.ietf.org/wg/httpbis/trac/ticket/72</a>>):4261 <p id="rfc.section.F.8.p.2">Ongoing work on Method Registry (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/72">http://tools.ietf.org/wg/httpbis/trac/ticket/72</a>>): 4265 4262 </p> 4266 4263 <ul> 4267 4264 <li>Added initial proposal for registration process, plus initial content (non-HTTP/1.1 methods to be added by a separate specification).</li> 4268 4265 </ul> 4269 <h2 id="rfc.section. E.9"><a href="#rfc.section.E.9">E.9</a> <a id="changes.3.since.03" href="#changes.3.since.03">Since draft-ietf-httpbis-p3-payload-03</a></h2>4270 <p id="rfc.section. E.9.p.1">Closed issues: </p>4266 <h2 id="rfc.section.F.9"><a href="#rfc.section.F.9">F.9</a> <a id="changes.3.since.03" href="#changes.3.since.03">Since draft-ietf-httpbis-p3-payload-03</a></h2> 4267 <p id="rfc.section.F.9.p.1">Closed issues: </p> 4271 4268 <ul> 4272 4269 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/67">http://tools.ietf.org/wg/httpbis/trac/ticket/67</a>>: "Quoting Charsets" … … 4277 4274 </li> 4278 4275 </ul> 4279 <p id="rfc.section. E.9.p.2">Other changes: </p>4276 <p id="rfc.section.F.9.p.2">Other changes: </p> 4280 4277 <ul> 4281 4278 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/68">http://tools.ietf.org/wg/httpbis/trac/ticket/68</a>>: "Encoding References Normative" — rephrase the annotation and reference BCP97. 4282 4279 </li> 4283 4280 </ul> 4284 <h2 id="rfc.section. E.10"><a href="#rfc.section.E.10">E.10</a> <a id="changes.since.04" href="#changes.since.04">Since draft-ietf-httpbis-p2-semantics-04</a></h2>4285 <p id="rfc.section. E.10.p.1">Closed issues: </p>4281 <h2 id="rfc.section.F.10"><a href="#rfc.section.F.10">F.10</a> <a id="changes.since.04" href="#changes.since.04">Since draft-ietf-httpbis-p2-semantics-04</a></h2> 4282 <p id="rfc.section.F.10.p.1">Closed issues: </p> 4286 4283 <ul> 4287 4284 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/103">http://tools.ietf.org/wg/httpbis/trac/ticket/103</a>>: "Content-*" … … 4290 4287 </li> 4291 4288 </ul> 4292 <p id="rfc.section. E.10.p.2">Ongoing work on ABNF conversion (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>>):4289 <p id="rfc.section.F.10.p.2">Ongoing work on ABNF conversion (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>>): 4293 4290 </p> 4294 4291 <ul> … … 4297 4294 <li>Rewrite ABNFs to spell out whitespace rules, factor out header field value format definitions.</li> 4298 4295 </ul> 4299 <h2 id="rfc.section. E.11"><a href="#rfc.section.E.11">E.11</a> <a id="changes.3.since.04" href="#changes.3.since.04">Since draft-ietf-httpbis-p3-payload-04</a></h2>4300 <p id="rfc.section. E.11.p.1">Closed issues: </p>4296 <h2 id="rfc.section.F.11"><a href="#rfc.section.F.11">F.11</a> <a id="changes.3.since.04" href="#changes.3.since.04">Since draft-ietf-httpbis-p3-payload-04</a></h2> 4297 <p id="rfc.section.F.11.p.1">Closed issues: </p> 4301 4298 <ul> 4302 4299 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/132">http://tools.ietf.org/wg/httpbis/trac/ticket/132</a>>: "RFC 2822 is updated by RFC 5322" 4303 4300 </li> 4304 4301 </ul> 4305 <p id="rfc.section. E.11.p.2">Ongoing work on ABNF conversion (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>>):4302 <p id="rfc.section.F.11.p.2">Ongoing work on ABNF conversion (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>>): 4306 4303 </p> 4307 4304 <ul> … … 4310 4307 <li>Rewrite ABNFs to spell out whitespace rules, factor out header field value format definitions.</li> 4311 4308 </ul> 4312 <h2 id="rfc.section. E.12"><a href="#rfc.section.E.12">E.12</a> <a id="changes.since.05" href="#changes.since.05">Since draft-ietf-httpbis-p2-semantics-05</a></h2>4313 <p id="rfc.section. E.12.p.1">Closed issues: </p>4309 <h2 id="rfc.section.F.12"><a href="#rfc.section.F.12">F.12</a> <a id="changes.since.05" href="#changes.since.05">Since draft-ietf-httpbis-p2-semantics-05</a></h2> 4310 <p id="rfc.section.F.12.p.1">Closed issues: </p> 4314 4311 <ul> 4315 4312 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/94">http://tools.ietf.org/wg/httpbis/trac/ticket/94</a>>: "reason-phrase BNF" 4316 4313 </li> 4317 4314 </ul> 4318 <p id="rfc.section. E.12.p.2">Final work on ABNF conversion (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>>):4315 <p id="rfc.section.F.12.p.2">Final work on ABNF conversion (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>>): 4319 4316 </p> 4320 4317 <ul> 4321 4318 <li>Add appendix containing collected and expanded ABNF, reorganize ABNF introduction.</li> 4322 4319 </ul> 4323 <h2 id="rfc.section. E.13"><a href="#rfc.section.E.13">E.13</a> <a id="changes.3.since.05" href="#changes.3.since.05">Since draft-ietf-httpbis-p3-payload-05</a></h2>4324 <p id="rfc.section. E.13.p.1">Closed issues: </p>4320 <h2 id="rfc.section.F.13"><a href="#rfc.section.F.13">F.13</a> <a id="changes.3.since.05" href="#changes.3.since.05">Since draft-ietf-httpbis-p3-payload-05</a></h2> 4321 <p id="rfc.section.F.13.p.1">Closed issues: </p> 4325 4322 <ul> 4326 4323 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/118">http://tools.ietf.org/wg/httpbis/trac/ticket/118</a>>: "Join "Differences Between HTTP Entities and RFC 2045 Entities"?" 4327 4324 </li> 4328 4325 </ul> 4329 <p id="rfc.section. E.13.p.2">Final work on ABNF conversion (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>>):4326 <p id="rfc.section.F.13.p.2">Final work on ABNF conversion (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>>): 4330 4327 </p> 4331 4328 <ul> 4332 4329 <li>Add appendix containing collected and expanded ABNF, reorganize ABNF introduction.</li> 4333 4330 </ul> 4334 <p id="rfc.section. E.13.p.3">Other changes: </p>4331 <p id="rfc.section.F.13.p.3">Other changes: </p> 4335 4332 <ul> 4336 4333 <li>Move definition of quality values into Part 1.</li> 4337 4334 </ul> 4338 <h2 id="rfc.section. E.14"><a href="#rfc.section.E.14">E.14</a> <a id="changes.since.06" href="#changes.since.06">Since draft-ietf-httpbis-p2-semantics-06</a></h2>4339 <p id="rfc.section. E.14.p.1">Closed issues: </p>4335 <h2 id="rfc.section.F.14"><a href="#rfc.section.F.14">F.14</a> <a id="changes.since.06" href="#changes.since.06">Since draft-ietf-httpbis-p2-semantics-06</a></h2> 4336 <p id="rfc.section.F.14.p.1">Closed issues: </p> 4340 4337 <ul> 4341 4338 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/144">http://tools.ietf.org/wg/httpbis/trac/ticket/144</a>>: "Clarify when Referer is sent" … … 4346 4343 </li> 4347 4344 </ul> 4348 <h2 id="rfc.section. E.15"><a href="#rfc.section.E.15">E.15</a> <a id="changes.3.since.06" href="#changes.3.since.06">Since draft-ietf-httpbis-p3-payload-06</a></h2>4349 <p id="rfc.section. E.15.p.1">Closed issues: </p>4345 <h2 id="rfc.section.F.15"><a href="#rfc.section.F.15">F.15</a> <a id="changes.3.since.06" href="#changes.3.since.06">Since draft-ietf-httpbis-p3-payload-06</a></h2> 4346 <p id="rfc.section.F.15.p.1">Closed issues: </p> 4350 4347 <ul> 4351 4348 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/80">http://tools.ietf.org/wg/httpbis/trac/ticket/80</a>>: "Content-Location isn't special" … … 4354 4351 </li> 4355 4352 </ul> 4356 <h2 id="rfc.section. E.16"><a href="#rfc.section.E.16">E.16</a> <a id="changes.since.07" href="#changes.since.07">Since draft-ietf-httpbis-p2-semantics-07</a></h2>4357 <p id="rfc.section. E.16.p.1">Closed issues: </p>4353 <h2 id="rfc.section.F.16"><a href="#rfc.section.F.16">F.16</a> <a id="changes.since.07" href="#changes.since.07">Since draft-ietf-httpbis-p2-semantics-07</a></h2> 4354 <p id="rfc.section.F.16.p.1">Closed issues: </p> 4358 4355 <ul> 4359 4356 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/27">http://tools.ietf.org/wg/httpbis/trac/ticket/27</a>>: "Idempotency" … … 4374 4371 </li> 4375 4372 </ul> 4376 <p id="rfc.section. E.16.p.2">Partly resolved issues: </p>4373 <p id="rfc.section.F.16.p.2">Partly resolved issues: </p> 4377 4374 <ul> 4378 4375 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/171">http://tools.ietf.org/wg/httpbis/trac/ticket/171</a>>: "Are OPTIONS and TRACE safe?" 4379 4376 </li> 4380 4377 </ul> 4381 <h2 id="rfc.section. E.17"><a href="#rfc.section.E.17">E.17</a> <a id="changes.3.since.07" href="#changes.3.since.07">Since draft-ietf-httpbis-p3-payload-07</a></h2>4382 <p id="rfc.section. E.17.p.1">Closed issues: </p>4378 <h2 id="rfc.section.F.17"><a href="#rfc.section.F.17">F.17</a> <a id="changes.3.since.07" href="#changes.3.since.07">Since draft-ietf-httpbis-p3-payload-07</a></h2> 4379 <p id="rfc.section.F.17.p.1">Closed issues: </p> 4383 4380 <ul> 4384 4381 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/13">http://tools.ietf.org/wg/httpbis/trac/ticket/13</a>>: "Updated reference for language tags" … … 4395 4392 </li> 4396 4393 </ul> 4397 <p id="rfc.section. E.17.p.2">Partly resolved issues: </p>4394 <p id="rfc.section.F.17.p.2">Partly resolved issues: </p> 4398 4395 <ul> 4399 4396 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/148">http://tools.ietf.org/wg/httpbis/trac/ticket/148</a>>: "update IANA requirements wrt Transfer-Coding values" (add the IANA Considerations subsection) … … 4402 4399 </li> 4403 4400 </ul> 4404 <h2 id="rfc.section. E.18"><a href="#rfc.section.E.18">E.18</a> <a id="changes.since.08" href="#changes.since.08">Since draft-ietf-httpbis-p2-semantics-08</a></h2>4405 <p id="rfc.section. E.18.p.1">Closed issues: </p>4401 <h2 id="rfc.section.F.18"><a href="#rfc.section.F.18">F.18</a> <a id="changes.since.08" href="#changes.since.08">Since draft-ietf-httpbis-p2-semantics-08</a></h2> 4402 <p id="rfc.section.F.18.p.1">Closed issues: </p> 4406 4403 <ul> 4407 4404 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/10">http://tools.ietf.org/wg/httpbis/trac/ticket/10</a>>: "Safe Methods vs Redirection" (we missed the introduction to the <a href="#status.3xx" class="smpl">3xx</a> status codes when fixing this previously) 4408 4405 </li> 4409 4406 </ul> 4410 <h2 id="rfc.section. E.19"><a href="#rfc.section.E.19">E.19</a> <a id="changes.3.since.08" href="#changes.3.since.08">Since draft-ietf-httpbis-p3-payload-08</a></h2>4411 <p id="rfc.section. E.19.p.1">Closed issues: </p>4407 <h2 id="rfc.section.F.19"><a href="#rfc.section.F.19">F.19</a> <a id="changes.3.since.08" href="#changes.3.since.08">Since draft-ietf-httpbis-p3-payload-08</a></h2> 4408 <p id="rfc.section.F.19.p.1">Closed issues: </p> 4412 4409 <ul> 4413 4410 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/81">http://tools.ietf.org/wg/httpbis/trac/ticket/81</a>>: "Content Negotiation for media types" … … 4416 4413 </li> 4417 4414 </ul> 4418 <h2 id="rfc.section. E.20"><a href="#rfc.section.E.20">E.20</a> <a id="changes.since.09" href="#changes.since.09">Since draft-ietf-httpbis-p2-semantics-09</a></h2>4419 <p id="rfc.section. E.20.p.1">Closed issues: </p>4415 <h2 id="rfc.section.F.20"><a href="#rfc.section.F.20">F.20</a> <a id="changes.since.09" href="#changes.since.09">Since draft-ietf-httpbis-p2-semantics-09</a></h2> 4416 <p id="rfc.section.F.20.p.1">Closed issues: </p> 4420 4417 <ul> 4421 4418 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/43">http://tools.ietf.org/wg/httpbis/trac/ticket/43</a>>: "Fragment combination / precedence during redirects" 4422 4419 </li> 4423 4420 </ul> 4424 <p id="rfc.section. E.20.p.2">Partly resolved issues: </p>4421 <p id="rfc.section.F.20.p.2">Partly resolved issues: </p> 4425 4422 <ul> 4426 4423 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/185">http://tools.ietf.org/wg/httpbis/trac/ticket/185</a>>: "Location header field payload handling" … … 4429 4426 </li> 4430 4427 </ul> 4431 <h2 id="rfc.section. E.21"><a href="#rfc.section.E.21">E.21</a> <a id="changes.3.since.09" href="#changes.3.since.09">Since draft-ietf-httpbis-p3-payload-09</a></h2>4432 <p id="rfc.section. E.21.p.1">Closed issues: </p>4428 <h2 id="rfc.section.F.21"><a href="#rfc.section.F.21">F.21</a> <a id="changes.3.since.09" href="#changes.3.since.09">Since draft-ietf-httpbis-p3-payload-09</a></h2> 4429 <p id="rfc.section.F.21.p.1">Closed issues: </p> 4433 4430 <ul> 4434 4431 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/122">http://tools.ietf.org/wg/httpbis/trac/ticket/122</a>>: "MIME-Version not listed in P1, general header fields" … … 4441 4438 </li> 4442 4439 </ul> 4443 <p id="rfc.section. E.21.p.2">Partly resolved issues: </p>4440 <p id="rfc.section.F.21.p.2">Partly resolved issues: </p> 4444 4441 <ul> 4445 4442 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/196">http://tools.ietf.org/wg/httpbis/trac/ticket/196</a>>: "Term for the requested resource's URI" 4446 4443 </li> 4447 4444 </ul> 4448 <h2 id="rfc.section. E.22"><a href="#rfc.section.E.22">E.22</a> <a id="changes.since.10" href="#changes.since.10">Since draft-ietf-httpbis-p2-semantics-10</a></h2>4449 <p id="rfc.section. E.22.p.1">Closed issues: </p>4445 <h2 id="rfc.section.F.22"><a href="#rfc.section.F.22">F.22</a> <a id="changes.since.10" href="#changes.since.10">Since draft-ietf-httpbis-p2-semantics-10</a></h2> 4446 <p id="rfc.section.F.22.p.1">Closed issues: </p> 4450 4447 <ul> 4451 4448 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/69">http://tools.ietf.org/wg/httpbis/trac/ticket/69</a>>: "Clarify 'Requested Variant'" … … 4462 4459 </li> 4463 4460 </ul> 4464 <h2 id="rfc.section. E.23"><a href="#rfc.section.E.23">E.23</a> <a id="changes.3.since.10" href="#changes.3.since.10">Since draft-ietf-httpbis-p3-payload-10</a></h2>4465 <p id="rfc.section. E.23.p.1">Closed issues: </p>4461 <h2 id="rfc.section.F.23"><a href="#rfc.section.F.23">F.23</a> <a id="changes.3.since.10" href="#changes.3.since.10">Since draft-ietf-httpbis-p3-payload-10</a></h2> 4462 <p id="rfc.section.F.23.p.1">Closed issues: </p> 4466 4463 <ul> 4467 4464 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/69">http://tools.ietf.org/wg/httpbis/trac/ticket/69</a>>: "Clarify 'Requested Variant'" … … 4482 4479 </li> 4483 4480 </ul> 4484 <p id="rfc.section. E.23.p.2">Partly resolved issues: </p>4481 <p id="rfc.section.F.23.p.2">Partly resolved issues: </p> 4485 4482 <ul> 4486 4483 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/178">http://tools.ietf.org/wg/httpbis/trac/ticket/178</a>>: "Content-MD5 and partial responses" 4487 4484 </li> 4488 4485 </ul> 4489 <h2 id="rfc.section. E.24"><a href="#rfc.section.E.24">E.24</a> <a id="changes.since.11" href="#changes.since.11">Since draft-ietf-httpbis-p2-semantics-11</a></h2>4490 <p id="rfc.section. E.24.p.1">Closed issues: </p>4486 <h2 id="rfc.section.F.24"><a href="#rfc.section.F.24">F.24</a> <a id="changes.since.11" href="#changes.since.11">Since draft-ietf-httpbis-p2-semantics-11</a></h2> 4487 <p id="rfc.section.F.24.p.1">Closed issues: </p> 4491 4488 <ul> 4492 4489 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/229">http://tools.ietf.org/wg/httpbis/trac/ticket/229</a>>: "Considerations for new status codes" … … 4497 4494 </li> 4498 4495 </ul> 4499 <h2 id="rfc.section. E.25"><a href="#rfc.section.E.25">E.25</a> <a id="changes.3.since.11" href="#changes.3.since.11">Since draft-ietf-httpbis-p3-payload-11</a></h2>4500 <p id="rfc.section. E.25.p.1">Closed issues: </p>4496 <h2 id="rfc.section.F.25"><a href="#rfc.section.F.25">F.25</a> <a id="changes.3.since.11" href="#changes.3.since.11">Since draft-ietf-httpbis-p3-payload-11</a></h2> 4497 <p id="rfc.section.F.25.p.1">Closed issues: </p> 4501 4498 <ul> 4502 4499 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/123">http://tools.ietf.org/wg/httpbis/trac/ticket/123</a>>: "Factor out Content-Disposition" 4503 4500 </li> 4504 4501 </ul> 4505 <h2 id="rfc.section. E.26"><a href="#rfc.section.E.26">E.26</a> <a id="changes.since.12" href="#changes.since.12">Since draft-ietf-httpbis-p2-semantics-12</a></h2>4506 <p id="rfc.section. E.26.p.1">Closed issues: </p>4502 <h2 id="rfc.section.F.26"><a href="#rfc.section.F.26">F.26</a> <a id="changes.since.12" href="#changes.since.12">Since draft-ietf-httpbis-p2-semantics-12</a></h2> 4503 <p id="rfc.section.F.26.p.1">Closed issues: </p> 4507 4504 <ul> 4508 4505 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/43">http://tools.ietf.org/wg/httpbis/trac/ticket/43</a>>: "Fragment combination / precedence during redirects" (added warning about having a fragid on the redirect might cause inconvenience … … 4546 4543 </li> 4547 4544 </ul> 4548 <h2 id="rfc.section. E.27"><a href="#rfc.section.E.27">E.27</a> <a id="changes.3.since.12" href="#changes.3.since.12">Since draft-ietf-httpbis-p3-payload-12</a></h2>4549 <p id="rfc.section. E.27.p.1">Closed issues: </p>4545 <h2 id="rfc.section.F.27"><a href="#rfc.section.F.27">F.27</a> <a id="changes.3.since.12" href="#changes.3.since.12">Since draft-ietf-httpbis-p3-payload-12</a></h2> 4546 <p id="rfc.section.F.27.p.1">Closed issues: </p> 4550 4547 <ul> 4551 4548 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/224">http://tools.ietf.org/wg/httpbis/trac/ticket/224</a>>: "Header Field Classification" … … 4556 4553 </li> 4557 4554 </ul> 4558 <h2 id="rfc.section. E.28"><a href="#rfc.section.E.28">E.28</a> <a id="changes.since.13" href="#changes.since.13">Since draft-ietf-httpbis-p2-semantics-13</a></h2>4559 <p id="rfc.section. E.28.p.1">Closed issues: </p>4555 <h2 id="rfc.section.F.28"><a href="#rfc.section.F.28">F.28</a> <a id="changes.since.13" href="#changes.since.13">Since draft-ietf-httpbis-p2-semantics-13</a></h2> 4556 <p id="rfc.section.F.28.p.1">Closed issues: </p> 4560 4557 <ul> 4561 4558 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/276">http://tools.ietf.org/wg/httpbis/trac/ticket/276</a>>: "untangle ABNFs for header fields" … … 4564 4561 </li> 4565 4562 </ul> 4566 <h2 id="rfc.section. E.29"><a href="#rfc.section.E.29">E.29</a> <a id="changes.3.since.13" href="#changes.3.since.13">Since draft-ietf-httpbis-p3-payload-13</a></h2>4567 <p id="rfc.section. E.29.p.1">Closed issues: </p>4563 <h2 id="rfc.section.F.29"><a href="#rfc.section.F.29">F.29</a> <a id="changes.3.since.13" href="#changes.3.since.13">Since draft-ietf-httpbis-p3-payload-13</a></h2> 4564 <p id="rfc.section.F.29.p.1">Closed issues: </p> 4568 4565 <ul> 4569 4566 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/20">http://tools.ietf.org/wg/httpbis/trac/ticket/20</a>>: "Default charsets for text media types" … … 4576 4573 </li> 4577 4574 </ul> 4578 <h2 id="rfc.section. E.30"><a href="#rfc.section.E.30">E.30</a> <a id="changes.since.14" href="#changes.since.14">Since draft-ietf-httpbis-p2-semantics-14</a></h2>4579 <p id="rfc.section. E.30.p.1">Closed issues: </p>4575 <h2 id="rfc.section.F.30"><a href="#rfc.section.F.30">F.30</a> <a id="changes.since.14" href="#changes.since.14">Since draft-ietf-httpbis-p2-semantics-14</a></h2> 4576 <p id="rfc.section.F.30.p.1">Closed issues: </p> 4580 4577 <ul> 4581 4578 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/255">http://tools.ietf.org/wg/httpbis/trac/ticket/255</a>>: "Clarify status code for rate limiting" … … 4588 4585 </li> 4589 4586 </ul> 4590 <h2 id="rfc.section. E.31"><a href="#rfc.section.E.31">E.31</a> <a id="changes.3.since.14" href="#changes.3.since.14">Since draft-ietf-httpbis-p3-payload-14</a></h2>4591 <p id="rfc.section. E.31.p.1">None.</p>4592 <h2 id="rfc.section. E.32"><a href="#rfc.section.E.32">E.32</a> <a id="changes.since.15" href="#changes.since.15">Since draft-ietf-httpbis-p2-semantics-15</a></h2>4593 <p id="rfc.section. E.32.p.1">Closed issues: </p>4587 <h2 id="rfc.section.F.31"><a href="#rfc.section.F.31">F.31</a> <a id="changes.3.since.14" href="#changes.3.since.14">Since draft-ietf-httpbis-p3-payload-14</a></h2> 4588 <p id="rfc.section.F.31.p.1">None.</p> 4589 <h2 id="rfc.section.F.32"><a href="#rfc.section.F.32">F.32</a> <a id="changes.since.15" href="#changes.since.15">Since draft-ietf-httpbis-p2-semantics-15</a></h2> 4590 <p id="rfc.section.F.32.p.1">Closed issues: </p> 4594 4591 <ul> 4595 4592 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/285">http://tools.ietf.org/wg/httpbis/trac/ticket/285</a>>: "Strength of requirements on Accept re: 406" … … 4598 4595 </li> 4599 4596 </ul> 4600 <h2 id="rfc.section. E.33"><a href="#rfc.section.E.33">E.33</a> <a id="changes.3.since.15" href="#changes.3.since.15">Since draft-ietf-httpbis-p3-payload-15</a></h2>4601 <p id="rfc.section. E.33.p.1">Closed issues: </p>4597 <h2 id="rfc.section.F.33"><a href="#rfc.section.F.33">F.33</a> <a id="changes.3.since.15" href="#changes.3.since.15">Since draft-ietf-httpbis-p3-payload-15</a></h2> 4598 <p id="rfc.section.F.33.p.1">Closed issues: </p> 4602 4599 <ul> 4603 4600 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/285">http://tools.ietf.org/wg/httpbis/trac/ticket/285</a>>: "Strength of requirements on Accept re: 406" 4604 4601 </li> 4605 4602 </ul> 4606 <h2 id="rfc.section. E.34"><a href="#rfc.section.E.34">E.34</a> <a id="changes.since.16" href="#changes.since.16">Since draft-ietf-httpbis-p2-semantics-16</a></h2>4607 <p id="rfc.section. E.34.p.1">Closed issues: </p>4603 <h2 id="rfc.section.F.34"><a href="#rfc.section.F.34">F.34</a> <a id="changes.since.16" href="#changes.since.16">Since draft-ietf-httpbis-p2-semantics-16</a></h2> 4604 <p id="rfc.section.F.34.p.1">Closed issues: </p> 4608 4605 <ul> 4609 4606 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/160">http://tools.ietf.org/wg/httpbis/trac/ticket/160</a>>: "Redirects and non-GET methods" … … 4616 4613 </li> 4617 4614 </ul> 4618 <h2 id="rfc.section. E.35"><a href="#rfc.section.E.35">E.35</a> <a id="changes.3.since.16" href="#changes.3.since.16">Since draft-ietf-httpbis-p3-payload-16</a></h2>4619 <p id="rfc.section. E.35.p.1">Closed issues: </p>4615 <h2 id="rfc.section.F.35"><a href="#rfc.section.F.35">F.35</a> <a id="changes.3.since.16" href="#changes.3.since.16">Since draft-ietf-httpbis-p3-payload-16</a></h2> 4616 <p id="rfc.section.F.35.p.1">Closed issues: </p> 4620 4617 <ul> 4621 4618 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/186">http://tools.ietf.org/wg/httpbis/trac/ticket/186</a>>: "Document HTTP's error-handling philosophy" 4622 4619 </li> 4623 4620 </ul> 4624 <h2 id="rfc.section. E.36"><a href="#rfc.section.E.36">E.36</a> <a id="changes.since.17" href="#changes.since.17">Since draft-ietf-httpbis-p2-semantics-17</a></h2>4625 <p id="rfc.section. E.36.p.1">Closed issues: </p>4621 <h2 id="rfc.section.F.36"><a href="#rfc.section.F.36">F.36</a> <a id="changes.since.17" href="#changes.since.17">Since draft-ietf-httpbis-p2-semantics-17</a></h2> 4622 <p id="rfc.section.F.36.p.1">Closed issues: </p> 4626 4623 <ul> 4627 4624 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/185">http://tools.ietf.org/wg/httpbis/trac/ticket/185</a>>: "Location header field payload handling" … … 4638 4635 </li> 4639 4636 </ul> 4640 <h2 id="rfc.section. E.37"><a href="#rfc.section.E.37">E.37</a> <a id="changes.3.since.17" href="#changes.3.since.17">Since draft-ietf-httpbis-p3-payload-17</a></h2>4641 <p id="rfc.section. E.37.p.1">Closed issues: </p>4637 <h2 id="rfc.section.F.37"><a href="#rfc.section.F.37">F.37</a> <a id="changes.3.since.17" href="#changes.3.since.17">Since draft-ietf-httpbis-p3-payload-17</a></h2> 4638 <p id="rfc.section.F.37.p.1">Closed issues: </p> 4642 4639 <ul> 4643 4640 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/323">http://tools.ietf.org/wg/httpbis/trac/ticket/323</a>>: "intended maturity level vs normative references" 4644 4641 </li> 4645 4642 </ul> 4646 <h2 id="rfc.section. E.38"><a href="#rfc.section.E.38">E.38</a> <a id="changes.since.18" href="#changes.since.18">Since draft-ietf-httpbis-p2-semantics-18</a></h2>4647 <p id="rfc.section. E.38.p.1">Closed issues: </p>4643 <h2 id="rfc.section.F.38"><a href="#rfc.section.F.38">F.38</a> <a id="changes.since.18" href="#changes.since.18">Since draft-ietf-httpbis-p2-semantics-18</a></h2> 4644 <p id="rfc.section.F.38.p.1">Closed issues: </p> 4648 4645 <ul> 4649 4646 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/227">http://tools.ietf.org/wg/httpbis/trac/ticket/227</a>>: "Combining HEAD responses" … … 4666 4663 </li> 4667 4664 </ul> 4668 <h2 id="rfc.section. E.39"><a href="#rfc.section.E.39">E.39</a> <a id="changes.3.since.18" href="#changes.3.since.18">Since draft-ietf-httpbis-p3-payload-18</a></h2>4669 <p id="rfc.section. E.39.p.1">Closed issues: </p>4665 <h2 id="rfc.section.F.39"><a href="#rfc.section.F.39">F.39</a> <a id="changes.3.since.18" href="#changes.3.since.18">Since draft-ietf-httpbis-p3-payload-18</a></h2> 4666 <p id="rfc.section.F.39.p.1">Closed issues: </p> 4670 4667 <ul> 4671 4668 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/330">http://tools.ietf.org/wg/httpbis/trac/ticket/330</a>>: "is ETag a representation header field?" … … 4676 4673 </li> 4677 4674 </ul> 4678 <h2 id="rfc.section. E.40"><a href="#rfc.section.E.40">E.40</a> <a id="changes.since.19" href="#changes.since.19">Since draft-ietf-httpbis-p2-semantics-19 and draft-ietf-httpbis-p3-payload-19</a></h2>4679 <p id="rfc.section. E.40.p.1">Closed issues: </p>4675 <h2 id="rfc.section.F.40"><a href="#rfc.section.F.40">F.40</a> <a id="changes.since.19" href="#changes.since.19">Since draft-ietf-httpbis-p2-semantics-19 and draft-ietf-httpbis-p3-payload-19</a></h2> 4676 <p id="rfc.section.F.40.p.1">Closed issues: </p> 4680 4677 <ul> 4681 4678 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/312">http://tools.ietf.org/wg/httpbis/trac/ticket/312</a>>: "should there be a permanent variant of 307" … … 4924 4921 </li> 4925 4922 <li><a id="rfc.index.P" href="#rfc.index.P"><b>P</b></a><ul> 4926 <li><em>Part1</em> <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.1</a>, <a href="#rfc.xref.Part1.5">1.2.1</a>, <a href="#rfc.xref.Part1.6">1.2.1</a>, <a href="#rfc.xref.Part1.7">1.2.1</a>, <a href="#rfc.xref.Part1.8">1.2.1</a>, <a href="#rfc.xref.Part1.9">1.2.1</a>, <a href="#rfc.xref.Part1.10">1.2.1</a>, <a href="#rfc.xref.Part1.11">1.2.2</a>, <a href="#rfc.xref.Part1.12">1.2.2</a>, <a href="#rfc.xref.Part1.13">1.2.2</a>, <a href="#rfc.xref.Part1.14">1.2.2</a>, <a href="#rfc.xref.Part1.15">1.2.2</a>, <a href="#rfc.xref.Part1.16">2</a>, <a href="#rfc.xref.Part1.17">2.2.1</a>, <a href="#rfc.xref.Part1.18">2.3.1</a>, <a href="#rfc.xref.Part1.19">2.3.7</a>, <a href="#rfc.xref.Part1.20">2.3.7</a>, <a href="#rfc.xref.Part1.21">2.3.8</a>, <a href="#rfc.xref.Part1.22">3</a>, <a href="#rfc.xref.Part1.23">3.1</a>, <a href="#rfc.xref.Part1.24">3.1</a>, <a href="#rfc.xref.Part1.25">3.1</a>, <a href="#rfc.xref.Part1.26">3.1</a>, <a href="#rfc.xref.Part1.27">3.1</a>, <a href="#rfc.xref.Part1.28">3.2</a>, <a href="#rfc.xref.Part1.29">3.2</a>, <a href="#rfc.xref.Part1.30">3.3</a>, <a href="#rfc.xref.Part1.31">4.3.1</a>, <a href="#rfc.xref.Part1.32">4.3.2</a>, <a href="#rfc.xref.Part1.33">4.4.4</a>, <a href="#rfc.xref.Part1.34">4.4.6</a>, <a href="#rfc.xref.Part1.35">4.6.15</a>, <a href="#rfc.xref.Part1.36">4.7.6</a>, <a href="#rfc.xref.Part1.37">5.4</a>, <a href="#rfc.xref.Part1.38">5.4</a>, <a href="#rfc.xref.Part1.39">5.4</a>, <a href="#rfc.xref.Part1.40">5.4.1</a>, <a href="#rfc.xref.Part1.41">5.4.1</a>, <a href="#rfc.xref.Part1.42">6.1</a>, <a href="#rfc.xref.Part1.43">6.2</a>, <a href="#rfc.xref.Part1.44">7</a>, <a href="#rfc.xref.Part1.45">7.1</a>, <a href="#rfc.xref.Part1.46">8.1</a>, <a href="#rfc.xref.Part1.47">9.1</a>, <a href="#rfc.xref.Part1.48">9.3</a>, <a href="#rfc.xref.Part1.49">9.8</a>, <a href="#rfc.xref.Part1.50">9.11</a>, <a href="#rfc.xref.Part1.51">9.17</a>, <a href="#rfc.xref.Part1.52">9.17</a>, <a href="#rfc.xref.Part1.53">9.18</a>, <a href="#rfc.xref.Part1.54">10.4</a>, <a href="#rfc.xref.Part1.55">10.4</a>, <a href="#rfc.xref.Part1.56">10.4</a>, <a href="#rfc.xref.Part1.57">12</a>, <a href="#Part1"><b>13.1</b></a>, <a href="#rfc.xref.Part1.58">C</a><ul>4923 <li><em>Part1</em> <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">2</a>, <a href="#rfc.xref.Part1.5">2.2.1</a>, <a href="#rfc.xref.Part1.6">2.3.1</a>, <a href="#rfc.xref.Part1.7">2.3.7</a>, <a href="#rfc.xref.Part1.8">2.3.7</a>, <a href="#rfc.xref.Part1.9">2.3.8</a>, <a href="#rfc.xref.Part1.10">3</a>, <a href="#rfc.xref.Part1.11">3.1</a>, <a href="#rfc.xref.Part1.12">3.1</a>, <a href="#rfc.xref.Part1.13">3.1</a>, <a href="#rfc.xref.Part1.14">3.1</a>, <a href="#rfc.xref.Part1.15">3.1</a>, <a href="#rfc.xref.Part1.16">3.2</a>, <a href="#rfc.xref.Part1.17">3.2</a>, <a href="#rfc.xref.Part1.18">3.3</a>, <a href="#rfc.xref.Part1.19">4.3.1</a>, <a href="#rfc.xref.Part1.20">4.3.2</a>, <a href="#rfc.xref.Part1.21">4.4.4</a>, <a href="#rfc.xref.Part1.22">4.4.6</a>, <a href="#rfc.xref.Part1.23">4.6.15</a>, <a href="#rfc.xref.Part1.24">4.7.6</a>, <a href="#rfc.xref.Part1.25">5.4</a>, <a href="#rfc.xref.Part1.26">5.4</a>, <a href="#rfc.xref.Part1.27">5.4</a>, <a href="#rfc.xref.Part1.28">5.4.1</a>, <a href="#rfc.xref.Part1.29">5.4.1</a>, <a href="#rfc.xref.Part1.30">6.1</a>, <a href="#rfc.xref.Part1.31">6.2</a>, <a href="#rfc.xref.Part1.32">7</a>, <a href="#rfc.xref.Part1.33">7.1</a>, <a href="#rfc.xref.Part1.34">8.1</a>, <a href="#rfc.xref.Part1.35">9.1</a>, <a href="#rfc.xref.Part1.36">9.3</a>, <a href="#rfc.xref.Part1.37">9.8</a>, <a href="#rfc.xref.Part1.38">9.11</a>, <a href="#rfc.xref.Part1.39">9.17</a>, <a href="#rfc.xref.Part1.40">9.17</a>, <a href="#rfc.xref.Part1.41">9.18</a>, <a href="#rfc.xref.Part1.42">10.4</a>, <a href="#rfc.xref.Part1.43">10.4</a>, <a href="#rfc.xref.Part1.44">10.4</a>, <a href="#rfc.xref.Part1.45">12</a>, <a href="#Part1"><b>13.1</b></a>, <a href="#rfc.xref.Part1.46">C</a>, <a href="#rfc.xref.Part1.47">D</a>, <a href="#rfc.xref.Part1.48">D</a>, <a href="#rfc.xref.Part1.49">D</a>, <a href="#rfc.xref.Part1.50">D</a>, <a href="#rfc.xref.Part1.51">D</a>, <a href="#rfc.xref.Part1.52">D</a>, <a href="#rfc.xref.Part1.53">D</a>, <a href="#rfc.xref.Part1.54">D</a>, <a href="#rfc.xref.Part1.55">D</a>, <a href="#rfc.xref.Part1.56">D</a>, <a href="#rfc.xref.Part1.57">D</a>, <a href="#rfc.xref.Part1.58">D</a><ul> 4927 4924 <li><em>Section 1.2</em> <a href="#rfc.xref.Part1.3">1.2</a></li> 4928 4925 <li><em>Section 2</em> <a href="#rfc.xref.Part1.2">1.1</a></li> 4929 <li><em>Section 2.4</em> <a href="#rfc.xref.Part1. 33">4.4.4</a></li>4930 <li><em>Section 2.7</em> <a href="#rfc.xref.Part1. 36">4.7.6</a></li>4931 <li><em>Section 2.8</em> <a href="#rfc.xref.Part1. 11">1.2.2</a>, <a href="#rfc.xref.Part1.13">1.2.2</a>, <a href="#rfc.xref.Part1.15">1.2.2</a></li>4932 <li><em>Section 3.2 .1</em> <a href="#rfc.xref.Part1.5">1.2.1</a>, <a href="#rfc.xref.Part1.6">1.2.1</a>, <a href="#rfc.xref.Part1.7">1.2.1</a></li>4933 <li><em>Section 3.2 </em> <a href="#rfc.xref.Part1.22">3</a>, <a href="#rfc.xref.Part1.25">3.1</a>, <a href="#rfc.xref.Part1.51">9.17</a>, <a href="#rfc.xref.Part1.53">9.18</a></li>4934 <li><em>Section 3.2.4</em> <a href="#rfc.xref.Part1. 8">1.2.1</a>, <a href="#rfc.xref.Part1.9">1.2.1</a>, <a href="#rfc.xref.Part1.10">1.2.1</a>, <a href="#rfc.xref.Part1.12">1.2.2</a>, <a href="#rfc.xref.Part1.24">3.1</a></li>4935 <li><em>Section 3.3</em> <a href="#rfc.xref.Part1. 17">2.2.1</a>, <a href="#rfc.xref.Part1.34">4.4.6</a>, <a href="#rfc.xref.Part1.43">6.2</a>, <a href="#rfc.xref.Part1.44">7</a></li>4936 <li><em>Section 3.3.2</em> <a href="#rfc.xref.Part1. 42">6.1</a></li>4937 <li><em>Section 4</em> <a href="#rfc.xref.Part1. 40">5.4.1</a></li>4938 <li><em>Section 4.1</em> <a href="#rfc.xref.Part1. 27">3.1</a></li>4939 <li><em>Section 4.2.1</em> <a href="#rfc.xref.Part1. 37">5.4</a>, <a href="#rfc.xref.Part1.54">10.4</a></li>4940 <li><em>Section 4.2</em> <a href="#rfc.xref.Part1. 41">5.4.1</a></li>4941 <li><em>Section 4.2.2</em> <a href="#rfc.xref.Part1. 38">5.4</a>, <a href="#rfc.xref.Part1.55">10.4</a></li>4942 <li><em>Section 4.2.3</em> <a href="#rfc.xref.Part1. 39">5.4</a>, <a href="#rfc.xref.Part1.56">10.4</a></li>4943 <li><em>Section 4.3 .1</em> <a href="#rfc.xref.Part1.14">1.2.2</a>, <a href="#rfc.xref.Part1.46">8.1</a>, <a href="#rfc.xref.Part1.47">9.1</a>, <a href="#rfc.xref.Part1.48">9.3</a></li>4944 <li><em>Section 4.3 </em> <a href="#rfc.xref.Part1.29">3.2</a></li>4945 <li><em>Section 5.3</em> <a href="#rfc.xref.Part1. 18">2.3.1</a>, <a href="#rfc.xref.Part1.21">2.3.8</a></li>4946 <li><em>Section 5.4</em> <a href="#rfc.xref.Part1. 28">3.2</a></li>4947 <li><em>Section 5.5</em> <a href="#rfc.xref.Part1. 16">2</a>, <a href="#rfc.xref.Part1.30">3.3</a>, <a href="#rfc.xref.Part1.45">7.1</a>, <a href="#rfc.xref.Part1.49">9.8</a></li>4948 <li><em>Section 6.1</em> <a href="#rfc.xref.Part1. 26">3.1</a></li>4949 <li><em>Section 6.2</em> <a href="#rfc.xref.Part1. 19">2.3.7</a>, <a href="#rfc.xref.Part1.52">9.17</a>, <a href="#rfc.xref.Part1.58">C</a></li>4950 <li><em>Section 6.4.3</em> <a href="#rfc.xref.Part1. 31">4.3.1</a>, <a href="#rfc.xref.Part1.50">9.11</a></li>4951 <li><em>Section 6.5</em> <a href="#rfc.xref.Part1. 32">4.3.2</a>, <a href="#rfc.xref.Part1.35">4.6.15</a></li>4952 <li><em>Section 7.3.1</em> <a href="#rfc.xref.Part1. 20">2.3.7</a></li>4953 <li><em>Section 9</em> <a href="#rfc.xref.Part1. 57">12</a></li>4954 <li><em>Appendix B</em> <a href="#rfc.xref.Part1. 23">3.1</a></li>4926 <li><em>Section 2.4</em> <a href="#rfc.xref.Part1.21">4.4.4</a></li> 4927 <li><em>Section 2.7</em> <a href="#rfc.xref.Part1.24">4.7.6</a></li> 4928 <li><em>Section 2.8</em> <a href="#rfc.xref.Part1.54">D</a>, <a href="#rfc.xref.Part1.56">D</a>, <a href="#rfc.xref.Part1.58">D</a></li> 4929 <li><em>Section 3.2</em> <a href="#rfc.xref.Part1.10">3</a>, <a href="#rfc.xref.Part1.13">3.1</a>, <a href="#rfc.xref.Part1.39">9.17</a>, <a href="#rfc.xref.Part1.41">9.18</a></li> 4930 <li><em>Section 3.2.1</em> <a href="#rfc.xref.Part1.48">D</a>, <a href="#rfc.xref.Part1.49">D</a>, <a href="#rfc.xref.Part1.50">D</a></li> 4931 <li><em>Section 3.2.4</em> <a href="#rfc.xref.Part1.12">3.1</a>, <a href="#rfc.xref.Part1.51">D</a>, <a href="#rfc.xref.Part1.52">D</a>, <a href="#rfc.xref.Part1.53">D</a>, <a href="#rfc.xref.Part1.55">D</a></li> 4932 <li><em>Section 3.3</em> <a href="#rfc.xref.Part1.5">2.2.1</a>, <a href="#rfc.xref.Part1.22">4.4.6</a>, <a href="#rfc.xref.Part1.31">6.2</a>, <a href="#rfc.xref.Part1.32">7</a></li> 4933 <li><em>Section 3.3.2</em> <a href="#rfc.xref.Part1.30">6.1</a></li> 4934 <li><em>Section 4</em> <a href="#rfc.xref.Part1.28">5.4.1</a></li> 4935 <li><em>Section 4.1</em> <a href="#rfc.xref.Part1.15">3.1</a></li> 4936 <li><em>Section 4.2.1</em> <a href="#rfc.xref.Part1.25">5.4</a>, <a href="#rfc.xref.Part1.42">10.4</a></li> 4937 <li><em>Section 4.2</em> <a href="#rfc.xref.Part1.29">5.4.1</a></li> 4938 <li><em>Section 4.2.2</em> <a href="#rfc.xref.Part1.26">5.4</a>, <a href="#rfc.xref.Part1.43">10.4</a></li> 4939 <li><em>Section 4.2.3</em> <a href="#rfc.xref.Part1.27">5.4</a>, <a href="#rfc.xref.Part1.44">10.4</a></li> 4940 <li><em>Section 4.3</em> <a href="#rfc.xref.Part1.17">3.2</a></li> 4941 <li><em>Section 4.3.1</em> <a href="#rfc.xref.Part1.34">8.1</a>, <a href="#rfc.xref.Part1.35">9.1</a>, <a href="#rfc.xref.Part1.36">9.3</a>, <a href="#rfc.xref.Part1.57">D</a></li> 4942 <li><em>Section 5.3</em> <a href="#rfc.xref.Part1.6">2.3.1</a>, <a href="#rfc.xref.Part1.9">2.3.8</a></li> 4943 <li><em>Section 5.4</em> <a href="#rfc.xref.Part1.16">3.2</a></li> 4944 <li><em>Section 5.5</em> <a href="#rfc.xref.Part1.4">2</a>, <a href="#rfc.xref.Part1.18">3.3</a>, <a href="#rfc.xref.Part1.33">7.1</a>, <a href="#rfc.xref.Part1.37">9.8</a></li> 4945 <li><em>Section 6.1</em> <a href="#rfc.xref.Part1.14">3.1</a></li> 4946 <li><em>Section 6.2</em> <a href="#rfc.xref.Part1.7">2.3.7</a>, <a href="#rfc.xref.Part1.40">9.17</a>, <a href="#rfc.xref.Part1.46">C</a></li> 4947 <li><em>Section 6.4.3</em> <a href="#rfc.xref.Part1.19">4.3.1</a>, <a href="#rfc.xref.Part1.38">9.11</a></li> 4948 <li><em>Section 6.5</em> <a href="#rfc.xref.Part1.20">4.3.2</a>, <a href="#rfc.xref.Part1.23">4.6.15</a></li> 4949 <li><em>Section 7.3.1</em> <a href="#rfc.xref.Part1.8">2.3.7</a></li> 4950 <li><em>Section 9</em> <a href="#rfc.xref.Part1.45">12</a></li> 4951 <li><em>Appendix B</em> <a href="#rfc.xref.Part1.11">3.1</a></li> 4955 4952 </ul> 4956 4953 </li> 4957 <li><em>Part4</em> <a href="#rfc.xref.Part4.1">2.3.2</a>, <a href="#rfc.xref.Part4.2">3.2</a>, <a href="#rfc.xref.Part4.3">3.2</a>, <a href="#rfc.xref.Part4.4">3.2</a>, <a href="#rfc.xref.Part4.5">3.2</a>, <a href="#rfc.xref.Part4.6">3.3</a>, <a href="#rfc.xref.Part4.7">4.1</a>, <a href="#rfc.xref.Part4.8">4.1</a>, <a href="#rfc.xref.Part4.9">4.1</a>, <a href="#rfc.xref.Part4.10">4.4.2</a>, <a href="#rfc.xref.Part4.11">4.5</a>, <a href="#rfc.xref.Part4.12">7.2</a>, <a href="#rfc.xref.Part4.13">7.2</a>, <a href="#Part4"><b>13.1</b></a>, <a href="#rfc.xref.Part4.14"> E.2</a><ul>4954 <li><em>Part4</em> <a href="#rfc.xref.Part4.1">2.3.2</a>, <a href="#rfc.xref.Part4.2">3.2</a>, <a href="#rfc.xref.Part4.3">3.2</a>, <a href="#rfc.xref.Part4.4">3.2</a>, <a href="#rfc.xref.Part4.5">3.2</a>, <a href="#rfc.xref.Part4.6">3.3</a>, <a href="#rfc.xref.Part4.7">4.1</a>, <a href="#rfc.xref.Part4.8">4.1</a>, <a href="#rfc.xref.Part4.9">4.1</a>, <a href="#rfc.xref.Part4.10">4.4.2</a>, <a href="#rfc.xref.Part4.11">4.5</a>, <a href="#rfc.xref.Part4.12">7.2</a>, <a href="#rfc.xref.Part4.13">7.2</a>, <a href="#Part4"><b>13.1</b></a>, <a href="#rfc.xref.Part4.14">F.2</a><ul> 4958 4955 <li><em>Section 2.2</em> <a href="#rfc.xref.Part4.13">7.2</a></li> 4959 4956 <li><em>Section 2.3</em> <a href="#rfc.xref.Part4.6">3.3</a>, <a href="#rfc.xref.Part4.10">4.4.2</a>, <a href="#rfc.xref.Part4.12">7.2</a></li> … … 5043 5040 </ul> 5044 5041 </li> 5045 <li><em>RFC2616</em> <a href="#rfc.xref.RFC2616.1">1</a>, <a href="#rfc.xref.RFC2616.2">4.5</a>, <a href="#rfc.xref.RFC2616.3">9.4</a>, <a href="#RFC2616"><b>13.2</b></a>, <a href="#rfc.xref.RFC2616.4"> E.1</a><ul>5042 <li><em>RFC2616</em> <a href="#rfc.xref.RFC2616.1">1</a>, <a href="#rfc.xref.RFC2616.2">4.5</a>, <a href="#rfc.xref.RFC2616.3">9.4</a>, <a href="#RFC2616"><b>13.2</b></a>, <a href="#rfc.xref.RFC2616.4">F.1</a><ul> 5046 5043 <li><em>Section 10.3.8</em> <a href="#rfc.xref.RFC2616.2">4.5</a></li> 5047 5044 <li><em>Section 14.4</em> <a href="#rfc.xref.RFC2616.3">9.4</a></li> … … 5074 5071 </ul> 5075 5072 </li> 5076 <li><em>RFC5234</em> <a href="#rfc.xref.RFC5234.1">1.2</a>, <a href="#rfc.xref.RFC5234.2"> 1.2</a>, <a href="#rfc.xref.RFC5234.3">3.1</a>, <a href="#RFC5234"><b>13.1</b></a><ul>5077 <li><em>Appendix B.1</em> <a href="#rfc.xref.RFC5234. 2">1.2</a></li>5073 <li><em>RFC5234</em> <a href="#rfc.xref.RFC5234.1">1.2</a>, <a href="#rfc.xref.RFC5234.2">3.1</a>, <a href="#RFC5234"><b>13.1</b></a>, <a href="#rfc.xref.RFC5234.3">D</a><ul> 5074 <li><em>Appendix B.1</em> <a href="#rfc.xref.RFC5234.3">D</a></li> 5078 5075 </ul> 5079 5076 </li> -
draft-ietf-httpbis/latest/p2-semantics.xml
r1803 r1805 299 299 300 300 <section title="Syntax Notation" anchor="notation"> 301 <x:anchor-alias value="ALPHA"/>302 <x:anchor-alias value="CR"/>303 <x:anchor-alias value="DIGIT"/>304 <x:anchor-alias value="LF"/>305 <x:anchor-alias value="OCTET"/>306 <x:anchor-alias value="SP"/>307 <x:anchor-alias value="VCHAR"/>308 301 <t> 309 302 This specification uses the Augmented Backus-Naur Form (ABNF) notation 310 303 of <xref target="RFC5234"/> with the list rule extension defined in 311 ¬ation;. <xref target="collected.abnf"/> shows the collected ABNF 304 ¬ation;. <xref target="imported.abnf"/> describes rules imported from 305 other documents. <xref target="collected.abnf"/> shows the collected ABNF 312 306 with the list rule expanded. 313 307 </t> 314 <t>315 The following core rules are included by316 reference, as defined in <xref target="RFC5234" x:fmt="," x:sec="B.1"/>:317 ALPHA (letters), CR (carriage return), CRLF (CR LF), CTL (controls),318 DIGIT (decimal 0-9), DQUOTE (double quote),319 HEXDIG (hexadecimal 0-9/A-F/a-f), HTAB (horizontal tab), LF (line feed),320 OCTET (any 8-bit sequence of data), SP (space), and321 VCHAR (any visible US-ASCII character).322 </t>323 324 <section title="Core Rules" anchor="core.rules">325 <x:anchor-alias value="quoted-string"/>326 <x:anchor-alias value="token"/>327 <x:anchor-alias value="word"/>328 <x:anchor-alias value="BWS"/>329 <x:anchor-alias value="OWS"/>330 <x:anchor-alias value="RWS"/>331 <t>332 The core rules below are defined in <xref target="Part1"/>:333 </t>334 <figure><artwork type="abnf2616">335 <x:ref>BWS</x:ref> = <BWS, defined in &whitespace;>336 <x:ref>OWS</x:ref> = <OWS, defined in &whitespace;>337 <x:ref>RWS</x:ref> = <RWS, defined in &whitespace;>338 <x:ref>quoted-string</x:ref> = <quoted-string, defined in &field-components;>339 <x:ref>token</x:ref> = <token, defined in &field-components;>340 <x:ref>word</x:ref> = <word, defined in &field-components;>341 </artwork></figure>342 </section>343 344 <section title="ABNF Rules defined in other Parts of the Specification" anchor="abnf.dependencies">345 <x:anchor-alias value="absolute-URI"/>346 <x:anchor-alias value="comment"/>347 <x:anchor-alias value="partial-URI"/>348 <x:anchor-alias value="qvalue"/>349 <x:anchor-alias value="URI-reference"/>350 <t>351 The ABNF rules below are defined in other parts:352 </t>353 <figure><!--Part1--><artwork type="abnf2616">354 <x:ref>absolute-URI</x:ref> = <absolute-URI, defined in &uri;>355 <x:ref>comment</x:ref> = <comment, defined in &field-components;>356 <x:ref>partial-URI</x:ref> = <partial-URI, defined in &uri;>357 <x:ref>qvalue</x:ref> = <qvalue, defined in &qvalue;>358 <x:ref>URI-reference</x:ref> = <URI-reference, defined in &uri;>359 </artwork></figure>360 </section>361 308 </section> 362 309 </section> … … 5611 5558 </section> 5612 5559 5560 <section title="Imported ABNF" anchor="imported.abnf"> 5561 <x:anchor-alias value="ALPHA"/> 5562 <x:anchor-alias value="CR"/> 5563 <x:anchor-alias value="DIGIT"/> 5564 <x:anchor-alias value="LF"/> 5565 <x:anchor-alias value="OCTET"/> 5566 <x:anchor-alias value="SP"/> 5567 <x:anchor-alias value="VCHAR"/> 5568 <x:anchor-alias value="quoted-string"/> 5569 <x:anchor-alias value="token"/> 5570 <x:anchor-alias value="word"/> 5571 <x:anchor-alias value="BWS"/> 5572 <x:anchor-alias value="OWS"/> 5573 <x:anchor-alias value="RWS"/> 5574 <x:anchor-alias value="absolute-URI"/> 5575 <x:anchor-alias value="comment"/> 5576 <x:anchor-alias value="partial-URI"/> 5577 <x:anchor-alias value="qvalue"/> 5578 <x:anchor-alias value="URI-reference"/> 5579 <t> 5580 The following core rules are included by 5581 reference, as defined in <xref target="RFC5234" x:fmt="," x:sec="B.1"/>: 5582 ALPHA (letters), CR (carriage return), CRLF (CR LF), CTL (controls), 5583 DIGIT (decimal 0-9), DQUOTE (double quote), 5584 HEXDIG (hexadecimal 0-9/A-F/a-f), HTAB (horizontal tab), LF (line feed), 5585 OCTET (any 8-bit sequence of data), SP (space), and 5586 VCHAR (any visible US-ASCII character). 5587 </t> 5588 <t> 5589 The rules below are defined in <xref target="Part1"/>: 5590 </t> 5591 <figure><artwork type="abnf2616"> 5592 <x:ref>BWS</x:ref> = <BWS, defined in &whitespace;> 5593 <x:ref>OWS</x:ref> = <OWS, defined in &whitespace;> 5594 <x:ref>RWS</x:ref> = <RWS, defined in &whitespace;> 5595 <x:ref>quoted-string</x:ref> = <quoted-string, defined in &field-components;> 5596 <x:ref>token</x:ref> = <token, defined in &field-components;> 5597 <x:ref>word</x:ref> = <word, defined in &field-components;> 5598 5599 <x:ref>absolute-URI</x:ref> = <absolute-URI, defined in &uri;> 5600 <x:ref>comment</x:ref> = <comment, defined in &field-components;> 5601 <x:ref>partial-URI</x:ref> = <partial-URI, defined in &uri;> 5602 <x:ref>qvalue</x:ref> = <qvalue, defined in &qvalue;> 5603 <x:ref>URI-reference</x:ref> = <URI-reference, defined in &uri;> 5604 </artwork></figure> 5605 </section> 5606 5613 5607 <?BEGININC p2-semantics.abnf-appendix ?> 5614 5608 <section xmlns:x="http://purl.org/net/xml2rfc/ext" title="Collected ABNF" anchor="collected.abnf"> -
draft-ietf-httpbis/latest/p4-conditional.html
r1803 r1805 481 481 <link rel="Chapter" href="#rfc.section.9" title="9 References"> 482 482 <link rel="Appendix" title="A Changes from RFC 2616" href="#rfc.section.A"> 483 <link rel="Appendix" title="B Collected ABNF" href="#rfc.section.B"> 484 <link rel="Appendix" title="C Change Log (to be removed by RFC Editor before publication)" href="#rfc.section.C"> 483 <link rel="Appendix" title="B Imported ABNF" href="#rfc.section.B"> 484 <link rel="Appendix" title="C Collected ABNF" href="#rfc.section.C"> 485 <link rel="Appendix" title="D Change Log (to be removed by RFC Editor before publication)" href="#rfc.section.D"> 485 486 <link href="p3-payload.html" rel="prev"> 486 487 <link href="p5-range.html" rel="next"> … … 542 543 <p>The current issues list is at <<a href="http://tools.ietf.org/wg/httpbis/trac/report/3">http://tools.ietf.org/wg/httpbis/trac/report/3</a>> and related documents (including fancy diffs) can be found at <<a href="http://tools.ietf.org/wg/httpbis/">http://tools.ietf.org/wg/httpbis/</a>>. 543 544 </p> 544 <p>The changes in this draft are summarized in <a href="#changes.since.19" title="Since draft-ietf-httpbis-p4-conditional-19">Appendix C.1</a>.545 <p>The changes in this draft are summarized in <a href="#changes.since.19" title="Since draft-ietf-httpbis-p4-conditional-19">Appendix D.1</a>. 545 546 </p> 546 547 <h1><a id="rfc.status" href="#rfc.status">Status of This Memo</a></h1> … … 620 621 <li><a href="#rfc.authors">Authors' Addresses</a></li> 621 622 <li>A. <a href="#changes.from.rfc.2616">Changes from RFC 2616</a></li> 622 <li>B. <a href="#collected.abnf">Collected ABNF</a></li> 623 <li>C. <a href="#change.log">Change Log (to be removed by RFC Editor before publication)</a><ul> 624 <li>C.1 <a href="#changes.since.19">Since draft-ietf-httpbis-p4-conditional-19</a></li> 623 <li>B. <a href="#imported.abnf">Imported ABNF</a></li> 624 <li>C. <a href="#collected.abnf">Collected ABNF</a></li> 625 <li>D. <a href="#change.log">Change Log (to be removed by RFC Editor before publication)</a><ul> 626 <li>D.1 <a href="#changes.since.19">Since draft-ietf-httpbis-p4-conditional-19</a></li> 625 627 </ul> 626 628 </li> … … 672 674 </p> 673 675 <h2 id="rfc.section.1.2"><a href="#rfc.section.1.2">1.2</a> <a id="notation" href="#notation">Syntax Notation</a></h2> 674 <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: Message Routing and Syntax"">[Part1]</cite></a>. <a href="#collected.abnf" title="Collected ABNF">Appendix B</a> shows the collected ABNF with the list rule expanded. 675 </p> 676 <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 677 (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 678 character). 679 </p> 680 <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: Message Routing and Syntax"">[Part1]</cite></a> and <a href="#Part2" id="rfc.xref.Part2.2"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>: 681 </p> 682 <div id="rfc.figure.u.1"></div><pre class="inline"> <a href="#notation" class="smpl">OWS</a> = <OWS, defined in <a href="#Part1" id="rfc.xref.Part1.5"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>> 683 <a href="#notation" class="smpl">obs-text</a> = <obs-text, defined in <a href="#Part1" id="rfc.xref.Part1.6"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>> 684 <a href="#notation" class="smpl">HTTP-date</a> = <HTTP-date, defined in <a href="#Part2" id="rfc.xref.Part2.3"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>, <a href="p2-semantics.html#http.date" title="Date/Time Formats">Section 5.1</a>> 685 </pre><div id="rfc.iref.m.1"></div> 676 <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: Message Routing and Syntax"">[Part1]</cite></a>. <a href="#imported.abnf" title="Imported ABNF">Appendix B</a> describes rules imported from other documents. <a href="#collected.abnf" title="Collected ABNF">Appendix C</a> shows the collected ABNF with the list rule expanded. 677 </p> 678 <div id="rfc.iref.m.1"></div> 686 679 <div id="rfc.iref.v.1"></div> 687 680 <h1 id="rfc.section.2"><a href="#rfc.section.2">2.</a> <a id="validators" href="#validators">Validators</a></h1> … … 740 733 was last modified. 741 734 </p> 742 <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>735 <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="#imported.abnf" class="smpl">HTTP-date</a> 743 736 </pre><p id="rfc.section.2.2.p.3">An example of its use is</p> 744 <div id="rfc.figure.u. 3"></div><pre class="text"> Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT737 <div id="rfc.figure.u.2"></div><pre class="text"> Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT 745 738 </pre><h3 id="rfc.section.2.2.1"><a href="#rfc.section.2.2.1">2.2.1</a> <a id="lastmod.generation" href="#lastmod.generation">Generation</a></h3> 746 739 <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, … … 802 795 same time, or both. An entity-tag consists of an opaque quoted string, possibly prefixed by a weakness indicator. 803 796 </p> 804 <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>797 <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> 805 798 806 799 <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> 807 800 <a href="#header.etag" class="smpl">weak</a> = %x57.2F ; "W/", case-sensitive 808 <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>809 <a href="#header.etag" class="smpl">etagc</a> = %x21 / %x23-7E / <a href="# notation" class="smpl">obs-text</a>810 ; <a href="# notation" class="smpl">VCHAR</a> except double quotes, plus obs-text801 <a href="#header.etag" class="smpl">opaque-tag</a> = <a href="#imported.abnf" class="smpl">DQUOTE</a> *<a href="#header.etag" class="smpl">etagc</a> <a href="#imported.abnf" class="smpl">DQUOTE</a> 802 <a href="#header.etag" class="smpl">etagc</a> = %x21 / %x23-7E / <a href="#imported.abnf" class="smpl">obs-text</a> 803 ; <a href="#imported.abnf" class="smpl">VCHAR</a> except double quotes, plus obs-text 811 804 </pre><div class="note" id="rfc.section.2.3.p.3"> 812 805 <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 … … 818 811 not consistently maintained. 819 812 </p> 820 <div id="rfc.figure.u. 5"></div>813 <div id="rfc.figure.u.4"></div> 821 814 <p>Examples:</p> <pre class="text"> ETag: "xyzzy" 822 815 ETag: W/"xyzzy" … … 890 883 </div> 891 884 <h3 id="rfc.section.2.3.3"><a href="#rfc.section.2.3.3">2.3.3</a> <a id="example.entity.tag.vs.conneg" href="#example.entity.tag.vs.conneg">Example: Entity-tags varying on Content-Negotiated Resources</a></h3> 892 <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: Semantics and Payloads">[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: Semantics and Payloads">[Part2]</cite></a>):893 </p> 894 <div id="rfc.figure.u. 6"></div>885 <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: Semantics and Payloads">[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: Semantics and Payloads">[Part2]</cite></a>): 886 </p> 887 <div id="rfc.figure.u.5"></div> 895 888 <p>>> Request:</p><pre class="text2">GET /index HTTP/1.1 896 889 Host: www.example.com … … 898 891 899 892 </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> 900 <div id="rfc.figure.u. 7"></div>893 <div id="rfc.figure.u.6"></div> 901 894 <p>>> Response:</p><pre class="text">HTTP/1.1 200 OK 902 895 Date: Thu, 26 Mar 2010 00:05:00 GMT … … 912 905 Hello World! 913 906 </span></pre><p id="rfc.section.2.3.3.p.5">An alternative representation that does use gzip content coding would be:</p> 914 <div id="rfc.figure.u. 8"></div>907 <div id="rfc.figure.u.7"></div> 915 908 <p>>> Response:</p><pre class="text">HTTP/1.1 200 OK 916 909 Date: Thu, 26 Mar 2010 00:05:00 GMT … … 924 917 <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 925 918 from an unencoded representation to prevent conflicts during cache updates and range requests. In contrast, transfer codings 926 (<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: Message Routing and Syntax"">[Part1]</cite></a>) apply only during message transfer and do not require distinct entity-tags.919 (<a href="p1-messaging.html#transfer.codings" title="Transfer Codings">Section 4</a> of <a href="#Part1" id="rfc.xref.Part1.4"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>) apply only during message transfer and do not require distinct entity-tags. 927 920 </p> 928 921 </div> … … 982 975 field-value of "*" places the precondition on the existence of any current representation for the target resource. 983 976 </p> 984 <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>977 <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> 985 978 </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 986 979 of the selected representation for the target resource (as per <a href="#entity.tag.comparison" title="Comparison">Section 2.3.2</a>), or if "*" is given and any current representation exists for the target resource. … … 996 989 </p> 997 990 <p id="rfc.section.3.1.p.9">Examples:</p> 998 <div id="rfc.figure.u. 10"></div><pre class="text"> If-Match: "xyzzy"991 <div id="rfc.figure.u.9"></div><pre class="text"> If-Match: "xyzzy" 999 992 If-Match: "xyzzy", "r2d2xxxx", "c3piozzzz" 1000 993 If-Match: * … … 1015 1008 for the target resource. 1016 1009 </p> 1017 <div id="rfc.figure.u.1 1"></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>1010 <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> 1018 1011 </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 1019 1012 entity-tag of the selected representation for the target resource (as per <a href="#entity.tag.comparison" title="Comparison">Section 2.3.2</a>), or if "*" is given and no current representation exists for that resource. … … 1028 1021 </p> 1029 1022 <p id="rfc.section.3.2.p.9">Examples:</p> 1030 <div id="rfc.figure.u.1 2"></div><pre class="text"> If-None-Match: "xyzzy"1023 <div id="rfc.figure.u.11"></div><pre class="text"> If-None-Match: "xyzzy" 1031 1024 If-None-Match: W/"xyzzy" 1032 1025 If-None-Match: "xyzzy", "r2d2xxxx", "c3piozzzz" … … 1040 1033 method; instead, respond as detailed below. 1041 1034 </p> 1042 <div id="rfc.figure.u.1 3"></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>1035 <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="#imported.abnf" class="smpl">HTTP-date</a> 1043 1036 </pre><p id="rfc.section.3.3.p.3">An example of the field is:</p> 1044 <div id="rfc.figure.u.1 4"></div><pre class="text"> If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT1037 <div id="rfc.figure.u.13"></div><pre class="text"> If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT 1045 1038 </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 1046 1039 the If-Modified-Since header field. The algorithm for determining this includes the following cases: … … 1080 1073 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. 1081 1074 </p> 1082 <div id="rfc.figure.u.1 5"></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>1075 <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="#imported.abnf" class="smpl">HTTP-date</a> 1083 1076 </pre><p id="rfc.section.3.4.p.3">An example of the field is:</p> 1084 <div id="rfc.figure.u.1 6"></div><pre class="text"> If-Unmodified-Since: Sat, 29 Oct 1994 19:43:31 GMT1077 <div id="rfc.figure.u.15"></div><pre class="text"> If-Unmodified-Since: Sat, 29 Oct 1994 19:43:31 GMT 1085 1078 </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. 1086 1079 </p> … … 1099 1092 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. 1100 1093 </p> 1101 <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: Semantics and Payloads">[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">2001094 <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: Semantics and Payloads">[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 1102 1095 (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. 1103 1096 </p> … … 1258 1251 <p id="rfc.section.6.2.p.2">The change controller is: "IETF (iesg@ietf.org) - Internet Engineering Task Force".</p> 1259 1252 <h1 id="rfc.section.7"><a href="#rfc.section.7">7.</a> <a id="security.considerations" href="#security.considerations">Security Considerations</a></h1> 1260 <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. 8"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>.1253 <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.5"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>. 1261 1254 </p> 1262 1255 <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 … … 1266 1259 </p> 1267 1260 <h1 id="rfc.section.8"><a href="#rfc.section.8">8.</a> <a id="acks" href="#acks">Acknowledgments</a></h1> 1268 <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. 9"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>.1261 <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.6"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>. 1269 1262 </p> 1270 1263 <h1 id="rfc.references"><a id="rfc.section.9" href="#rfc.section.9">9.</a> References … … 1342 1335 <p id="rfc.section.A.p.3">Change ABNF productions for header fields to only define the field value. (<a href="#header.field.definitions" title="Precondition Header Fields">Section 3</a>) 1343 1336 </p> 1344 <h1 id="rfc.section.B"><a href="#rfc.section.B">B.</a> <a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1> 1345 <div id="rfc.figure.u.17"></div> <pre class="inline"><a href="#header.etag" class="smpl">ETag</a> = entity-tag 1346 1347 <a href="#notation" class="smpl">HTTP-date</a> = <HTTP-date, defined in [Part2], Section 5.1> 1337 <h1 id="rfc.section.B"><a href="#rfc.section.B">B.</a> <a id="imported.abnf" href="#imported.abnf">Imported ABNF</a></h1> 1338 <p id="rfc.section.B.p.1">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 1339 (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 1340 character). 1341 </p> 1342 <p id="rfc.section.B.p.2">The rules below are defined in <a href="#Part1" id="rfc.xref.Part1.7"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>: 1343 </p> 1344 <div id="rfc.figure.u.16"></div><pre class="inline"> <a href="#imported.abnf" class="smpl">OWS</a> = <OWS, defined in <a href="#Part1" id="rfc.xref.Part1.8"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>> 1345 <a href="#imported.abnf" class="smpl">obs-text</a> = <obs-text, defined in <a href="#Part1" id="rfc.xref.Part1.9"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>> 1346 </pre><p id="rfc.section.B.p.4">The rules below are defined in other parts:</p> 1347 <div id="rfc.figure.u.17"></div><pre class="inline"> <a href="#imported.abnf" class="smpl">HTTP-date</a> = <HTTP-date, defined in <a href="#Part2" id="rfc.xref.Part2.5"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>, <a href="p2-semantics.html#http.date" title="Date/Time Formats">Section 5.1</a>> 1348 </pre><h1 id="rfc.section.C"><a href="#rfc.section.C">C.</a> <a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1> 1349 <div id="rfc.figure.u.18"></div> <pre class="inline"><a href="#header.etag" class="smpl">ETag</a> = entity-tag 1350 1351 <a href="#imported.abnf" class="smpl">HTTP-date</a> = <HTTP-date, defined in [Part2], Section 5.1> 1348 1352 1349 1353 <a href="#header.if-match" class="smpl">If-Match</a> = "*" / ( *( "," OWS ) entity-tag *( OWS "," [ OWS … … 1356 1360 <a href="#header.last-modified" class="smpl">Last-Modified</a> = HTTP-date 1357 1361 1358 <a href="# notation" class="smpl">OWS</a> = <OWS, defined in [Part1], Section 3.2.1>1362 <a href="#imported.abnf" class="smpl">OWS</a> = <OWS, defined in [Part1], Section 3.2.1> 1359 1363 1360 1364 <a href="#header.etag" class="smpl">entity-tag</a> = [ weak ] opaque-tag … … 1362 1366 / obs-text 1363 1367 1364 <a href="# notation" class="smpl">obs-text</a> = <obs-text, defined in [Part1], Section 3.2.4>1368 <a href="#imported.abnf" class="smpl">obs-text</a> = <obs-text, defined in [Part1], Section 3.2.4> 1365 1369 <a href="#header.etag" class="smpl">opaque-tag</a> = DQUOTE *etagc DQUOTE 1366 1370 1367 1371 <a href="#header.etag" class="smpl">weak</a> = %x57.2F ; W/ 1368 </pre> <h1 id="rfc.section. C"><a href="#rfc.section.C">C.</a> <a id="change.log" href="#change.log">Change Log (to be removed by RFC Editor before publication)</a></h1>1369 <p id="rfc.section. C.p.1">Changes up to the first Working Group Last Call draft are summarized in <<a href="http://tools.ietf.org/html/draft-ietf-httpbis-p4-conditional-19#appendix-C">http://tools.ietf.org/html/draft-ietf-httpbis-p4-conditional-19#appendix-C</a>>.1370 </p> 1371 <h2 id="rfc.section. C.1"><a href="#rfc.section.C.1">C.1</a> <a id="changes.since.19" href="#changes.since.19">Since draft-ietf-httpbis-p4-conditional-19</a></h2>1372 <p id="rfc.section. C.1.p.1">Closed issues: </p>1372 </pre> <h1 id="rfc.section.D"><a href="#rfc.section.D">D.</a> <a id="change.log" href="#change.log">Change Log (to be removed by RFC Editor before publication)</a></h1> 1373 <p id="rfc.section.D.p.1">Changes up to the first Working Group Last Call draft are summarized in <<a href="http://tools.ietf.org/html/draft-ietf-httpbis-p4-conditional-19#appendix-C">http://tools.ietf.org/html/draft-ietf-httpbis-p4-conditional-19#appendix-C</a>>. 1374 </p> 1375 <h2 id="rfc.section.D.1"><a href="#rfc.section.D.1">D.1</a> <a id="changes.since.19" href="#changes.since.19">Since draft-ietf-httpbis-p4-conditional-19</a></h2> 1376 <p id="rfc.section.D.1.p.1">Closed issues: </p> 1373 1377 <ul> 1374 1378 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/241">http://tools.ietf.org/wg/httpbis/trac/ticket/241</a>>: "Need to clarify eval order/interaction of conditional headers" … … 1450 1454 </li> 1451 1455 <li><a id="rfc.index.P" href="#rfc.index.P"><b>P</b></a><ul> 1452 <li><em>Part1</em> <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">7</a>, <a href="#rfc.xref.Part1.9">8</a>, <a href="#Part1"><b>9.1</b></a><ul>1456 <li><em>Part1</em> <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">2.3.3</a>, <a href="#rfc.xref.Part1.5">7</a>, <a href="#rfc.xref.Part1.6">8</a>, <a href="#Part1"><b>9.1</b></a>, <a href="#rfc.xref.Part1.7">B</a>, <a href="#rfc.xref.Part1.8">B</a>, <a href="#rfc.xref.Part1.9">B</a><ul> 1453 1457 <li><em>Section 1.2</em> <a href="#rfc.xref.Part1.3">1.2</a></li> 1454 1458 <li><em>Section 2</em> <a href="#rfc.xref.Part1.2">1.1</a></li> 1455 <li><em>Section 3.2.1</em> <a href="#rfc.xref.Part1. 5">1.2</a></li>1456 <li><em>Section 3.2.4</em> <a href="#rfc.xref.Part1. 6">1.2</a></li>1457 <li><em>Section 4</em> <a href="#rfc.xref.Part1. 7">2.3.3</a></li>1458 <li><em>Section 9</em> <a href="#rfc.xref.Part1. 9">8</a></li>1459 <li><em>Section 3.2.1</em> <a href="#rfc.xref.Part1.8">B</a></li> 1460 <li><em>Section 3.2.4</em> <a href="#rfc.xref.Part1.9">B</a></li> 1461 <li><em>Section 4</em> <a href="#rfc.xref.Part1.4">2.3.3</a></li> 1462 <li><em>Section 9</em> <a href="#rfc.xref.Part1.6">8</a></li> 1459 1463 </ul> 1460 1464 </li> 1461 <li><em>Part2</em> <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>9.1</b></a><ul>1462 <li><em>Section 5.1</em> <a href="#rfc.xref.Part2. 3">1.2</a></li>1463 <li><em>Section 8</em> <a href="#rfc.xref.Part2. 4">2.3.3</a></li>1464 <li><em>Section 9.3</em> <a href="#rfc.xref.Part2. 5">2.3.3</a></li>1465 <li><em>Section 9.10</em> <a href="#rfc.xref.Part2. 6">4.1</a></li>1465 <li><em>Part2</em> <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="#Part2"><b>9.1</b></a>, <a href="#rfc.xref.Part2.5">B</a><ul> 1466 <li><em>Section 5.1</em> <a href="#rfc.xref.Part2.5">B</a></li> 1467 <li><em>Section 8</em> <a href="#rfc.xref.Part2.2">2.3.3</a></li> 1468 <li><em>Section 9.3</em> <a href="#rfc.xref.Part2.3">2.3.3</a></li> 1469 <li><em>Section 9.10</em> <a href="#rfc.xref.Part2.4">4.1</a></li> 1466 1470 </ul> 1467 1471 </li> … … 1482 1486 <li><em>RFC3864</em> <a href="#rfc.xref.RFC3864.1">6.2</a>, <a href="#RFC3864"><b>9.2</b></a></li> 1483 1487 <li><em>RFC4918</em> <a href="#rfc.xref.RFC4918.1">2</a>, <a href="#RFC4918"><b>9.2</b></a></li> 1484 <li><em>RFC5234</em> <a href="#rfc.xref.RFC5234.1">1.2</a>, <a href="# rfc.xref.RFC5234.2">1.2</a>, <a href="#RFC5234"><b>9.1</b></a><ul>1485 <li><em>Appendix B.1</em> <a href="#rfc.xref.RFC5234.2"> 1.2</a></li>1488 <li><em>RFC5234</em> <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> 1489 <li><em>Appendix B.1</em> <a href="#rfc.xref.RFC5234.2">B</a></li> 1486 1490 </ul> 1487 1491 </li> -
draft-ietf-httpbis/latest/p4-conditional.xml
r1803 r1805 221 221 222 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 223 <t> 235 224 This specification uses the Augmented Backus-Naur Form (ABNF) notation 236 225 of <xref target="RFC5234"/> with the list rule extension defined in 237 ¬ation;. <xref target="collected.abnf"/> shows the collected ABNF 226 ¬ation;. <xref target="imported.abnf"/> describes rules imported from 227 other documents. <xref target="collected.abnf"/> shows the collected ABNF 238 228 with the list rule expanded. 239 229 </t> 240 <t>241 The following core rules are included by242 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), and247 VCHAR (any visible US-ASCII character).248 </t>249 <t>250 The ABNF rules below are defined in <xref target="Part1"/> and251 <xref target="Part2"/>:252 </t>253 <figure><artwork type="abnf2616">254 <x:ref>OWS</x:ref> = <OWS, defined in &whitespace;>255 <x:ref>obs-text</x:ref> = <obs-text, defined in &field-components;>256 <x:ref>HTTP-date</x:ref> = <HTTP-date, defined in &http-date;>257 </artwork></figure>258 230 </section> 259 231 </section> … … 1482 1454 </section> 1483 1455 1456 <section title="Imported ABNF" anchor="imported.abnf"> 1457 <x:anchor-alias value="ALPHA"/> 1458 <x:anchor-alias value="CR"/> 1459 <x:anchor-alias value="DIGIT"/> 1460 <x:anchor-alias value="DQUOTE"/> 1461 <x:anchor-alias value="LF"/> 1462 <x:anchor-alias value="OCTET"/> 1463 <x:anchor-alias value="VCHAR"/> 1464 <x:anchor-alias value="core.rules"/> 1465 <x:anchor-alias value="obs-text"/> 1466 <x:anchor-alias value="OWS"/> 1467 <x:anchor-alias value="HTTP-date"/> 1468 <t> 1469 The following core rules are included by 1470 reference, as defined in <xref target="RFC5234" x:fmt="," x:sec="B.1"/>: 1471 ALPHA (letters), CR (carriage return), CRLF (CR LF), CTL (controls), 1472 DIGIT (decimal 0-9), DQUOTE (double quote), 1473 HEXDIG (hexadecimal 0-9/A-F/a-f), LF (line feed), 1474 OCTET (any 8-bit sequence of data), SP (space), and 1475 VCHAR (any visible US-ASCII character). 1476 </t> 1477 <t> 1478 The rules below are defined in <xref target="Part1"/>: 1479 </t> 1480 <figure><artwork type="abnf2616"> 1481 <x:ref>OWS</x:ref> = <OWS, defined in &whitespace;> 1482 <x:ref>obs-text</x:ref> = <obs-text, defined in &field-components;> 1483 </artwork></figure> 1484 <t> 1485 The rules below are defined in other parts: 1486 </t> 1487 <figure><artwork type="abnf2616"> 1488 <x:ref>HTTP-date</x:ref> = <HTTP-date, defined in &http-date;> 1489 </artwork></figure> 1490 </section> 1491 1484 1492 <?BEGININC p4-conditional.abnf-appendix ?> 1485 1493 <section xmlns:x="http://purl.org/net/xml2rfc/ext" title="Collected ABNF" anchor="collected.abnf"> -
draft-ietf-httpbis/latest/p5-range.html
r1804 r1805 482 482 <link rel="Appendix" title="A Internet Media Type multipart/byteranges" href="#rfc.section.A"> 483 483 <link rel="Appendix" title="B Changes from RFC 2616" href="#rfc.section.B"> 484 <link rel="Appendix" title="C Collected ABNF" href="#rfc.section.C"> 485 <link rel="Appendix" title="D Change Log (to be removed by RFC Editor before publication)" href="#rfc.section.D"> 484 <link rel="Appendix" title="C Imported ABNF" href="#rfc.section.C"> 485 <link rel="Appendix" title="D Collected ABNF" href="#rfc.section.D"> 486 <link rel="Appendix" title="E Change Log (to be removed by RFC Editor before publication)" href="#rfc.section.E"> 486 487 <link href="p4-conditional.html" rel="prev"> 487 488 <link href="p6-cache.html" rel="next"> … … 543 544 <p>The current issues list is at <<a href="http://tools.ietf.org/wg/httpbis/trac/report/3">http://tools.ietf.org/wg/httpbis/trac/report/3</a>> and related documents (including fancy diffs) can be found at <<a href="http://tools.ietf.org/wg/httpbis/">http://tools.ietf.org/wg/httpbis/</a>>. 544 545 </p> 545 <p>The changes in this draft are summarized in <a href="#changes.since.19" title="Since draft-ietf-httpbis-p5-range-19">Appendix D.1</a>.546 <p>The changes in this draft are summarized in <a href="#changes.since.19" title="Since draft-ietf-httpbis-p5-range-19">Appendix E.1</a>. 546 547 </p> 547 548 <h1><a id="rfc.status" href="#rfc.status">Status of This Memo</a></h1> … … 574 575 <li>1. <a href="#introduction">Introduction</a><ul> 575 576 <li>1.1 <a href="#intro.conformance.and.error.handling">Conformance and Error Handling</a></li> 576 <li>1.2 <a href="#notation">Syntax Notation</a><ul> 577 <li>1.2.1 <a href="#core.rules">Core Rules</a></li> 578 <li>1.2.2 <a href="#abnf.dependencies">ABNF Rules defined in other Parts of the Specification</a></li> 579 </ul> 580 </li> 577 <li>1.2 <a href="#notation">Syntax Notation</a></li> 581 578 </ul> 582 579 </li> … … 625 622 <li>A. <a href="#internet.media.type.multipart.byteranges">Internet Media Type multipart/byteranges</a></li> 626 623 <li>B. <a href="#changes.from.rfc.2616">Changes from RFC 2616</a></li> 627 <li>C. <a href="#collected.abnf">Collected ABNF</a></li> 628 <li>D. <a href="#change.log">Change Log (to be removed by RFC Editor before publication)</a><ul> 629 <li>D.1 <a href="#changes.since.19">Since draft-ietf-httpbis-p5-range-19</a></li> 624 <li>C. <a href="#imported.abnf">Imported ABNF</a></li> 625 <li>D. <a href="#collected.abnf">Collected ABNF</a></li> 626 <li>E. <a href="#change.log">Change Log (to be removed by RFC Editor before publication)</a><ul> 627 <li>E.1 <a href="#changes.since.19">Since draft-ietf-httpbis-p5-range-19</a></li> 630 628 </ul> 631 629 </li> … … 671 669 </p> 672 670 <h2 id="rfc.section.1.2"><a href="#rfc.section.1.2">1.2</a> <a id="notation" href="#notation">Syntax Notation</a></h2> 673 <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.2"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>. <a href="#collected.abnf" title="Collected ABNF">Appendix C</a> shows the collected ABNF with the list rule expanded. 674 </p> 675 <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 676 (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 677 character). 678 </p> 679 <p id="rfc.section.1.2.p.3">Note that all rules derived from <a href="#core.rules" class="smpl">token</a> are to be compared case-insensitively, like <a href="#range.units" class="smpl">range-unit</a> and <a href="#header.accept-ranges" class="smpl">acceptable-ranges</a>. 680 </p> 681 <h3 id="rfc.section.1.2.1"><a href="#rfc.section.1.2.1">1.2.1</a> <a id="core.rules" href="#core.rules">Core Rules</a></h3> 682 <p id="rfc.section.1.2.1.p.1">The core rules below are defined in <a href="#Part1" id="rfc.xref.Part1.3"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a> and <a href="#Part2" id="rfc.xref.Part2.1"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>: 683 </p> 684 <div id="rfc.figure.u.1"></div><pre class="inline"> <a href="#core.rules" class="smpl">OWS</a> = <OWS, defined in <a href="#Part1" id="rfc.xref.Part1.4"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>> 685 <a href="#core.rules" class="smpl">token</a> = <token, defined in <a href="#Part1" id="rfc.xref.Part1.5"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>> 686 <a href="#core.rules" class="smpl">HTTP-date</a> = <HTTP-date, defined in <a href="#Part2" id="rfc.xref.Part2.2"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>, <a href="p2-semantics.html#http.date" title="Date/Time Formats">Section 5.1</a>> 687 </pre><h3 id="rfc.section.1.2.2"><a href="#rfc.section.1.2.2">1.2.2</a> <a id="abnf.dependencies" href="#abnf.dependencies">ABNF Rules defined in other Parts of the Specification</a></h3> 688 <p id="rfc.section.1.2.2.p.1">The ABNF rules below are defined in other parts:</p> 689 <div id="rfc.figure.u.2"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">entity-tag</a> = <entity-tag, defined in <a href="#Part4" id="rfc.xref.Part4.1"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>, <a href="p4-conditional.html#header.etag" title="ETag">Section 2.3</a>> 690 </pre><h1 id="rfc.section.2"><a href="#rfc.section.2">2.</a> <a id="range.units" href="#range.units">Range Units</a></h1> 671 <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.2"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>. <a href="#imported.abnf" title="Imported ABNF">Appendix C</a> describes rules imported from other documents. <a href="#collected.abnf" title="Collected ABNF">Appendix D</a> shows the collected ABNF with the list rule expanded. 672 </p> 673 <h1 id="rfc.section.2"><a href="#rfc.section.2">2.</a> <a id="range.units" href="#range.units">Range Units</a></h1> 691 674 <p id="rfc.section.2.p.1">HTTP/1.1 allows a client to request that only part (a range) of the representation be included within the response. HTTP/1.1 692 675 uses range units in the <a href="#range.retrieval.requests" class="smpl">Range</a> (<a href="#header.range" id="rfc.xref.header.range.1" title="Range">Section 5.4</a>) and <a href="#header.content-range" class="smpl">Content-Range</a> (<a href="#header.content-range" id="rfc.xref.header.content-range.1" title="Content-Range">Section 5.2</a>) header fields. A representation can be broken down into subranges according to various structural units. 693 676 </p> 694 <div id="rfc.figure.u. 3"></div><pre class="inline"><span id="rfc.iref.g.1"></span><span id="rfc.iref.g.2"></span><span id="rfc.iref.g.3"></span> <a href="#range.units" class="smpl">range-unit</a> = <a href="#range.units" class="smpl">bytes-unit</a> / <a href="#range.units" class="smpl">other-range-unit</a>677 <div id="rfc.figure.u.1"></div><pre class="inline"><span id="rfc.iref.g.1"></span><span id="rfc.iref.g.2"></span><span id="rfc.iref.g.3"></span> <a href="#range.units" class="smpl">range-unit</a> = <a href="#range.units" class="smpl">bytes-unit</a> / <a href="#range.units" class="smpl">other-range-unit</a> 695 678 <a href="#range.units" class="smpl">bytes-unit</a> = "bytes" 696 <a href="#range.units" class="smpl">other-range-unit</a> = <a href="# core.rules" class="smpl">token</a>679 <a href="#range.units" class="smpl">other-range-unit</a> = <a href="#imported.abnf" class="smpl">token</a> 697 680 </pre><p id="rfc.section.2.p.3">HTTP/1.1 has been designed to allow implementations of applications that do not depend on knowledge of ranges. The only range 698 681 unit defined by HTTP/1.1 is "bytes". Additional specifiers can be defined as described in <a href="#range.specifier.registry" title="Range Specifier Registry">Section 2.1</a>. … … 741 724 <p id="rfc.section.3.2.p.2">When this status code is returned for a byte-range request, the response <em class="bcp14">SHOULD</em> include a <a href="#header.content-range" class="smpl">Content-Range</a> header field specifying the current length of the representation (see <a href="#header.content-range" id="rfc.xref.header.content-range.3" title="Content-Range">Section 5.2</a>). This response <em class="bcp14">MUST NOT</em> use the multipart/byteranges content-type. For example, 742 725 </p> 743 <div id="rfc.figure.u. 4"></div><pre class="text">HTTP/1.1 416 Requested Range Not Satisfiable726 <div id="rfc.figure.u.2"></div><pre class="text">HTTP/1.1 416 Requested Range Not Satisfiable 744 727 Date: Mon, 20 Jan 2012 15:41:54 GMT 745 728 Content-Range: bytes */47022 … … 757 740 a request for a set of ranges that overlap without any holes), this content is transmitted with a <a href="#header.content-range" class="smpl">Content-Range</a> header field, and a <a href="p1-messaging.html#header.content-length" class="smpl">Content-Length</a> header field showing the number of bytes actually transferred. For example, 758 741 </p> 759 <div id="rfc.figure.u. 5"></div><pre class="text">HTTP/1.1 206 Partial Content742 <div id="rfc.figure.u.3"></div><pre class="text">HTTP/1.1 206 Partial Content 760 743 Date: Wed, 15 Nov 1995 06:25:24 GMT 761 744 Last-Modified: Wed, 15 Nov 1995 04:58:08 GMT … … 777 760 one or more Range specifications. After several such transfers, a client might have received several ranges of the same representation. 778 761 These ranges can only be safely combined if they all have in common the same strong validator, where "strong validator" is 779 defined to be either an entity-tag that is not marked as weak (<a href="p4-conditional.html#header.etag" title="ETag">Section 2.3</a> of <a href="#Part4" id="rfc.xref.Part4. 2"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>) or, if no entity-tag is provided, a <a href="p4-conditional.html#header.last-modified" class="smpl">Last-Modified</a> value that is strong in the sense defined by <a href="p4-conditional.html#lastmod.comparison" title="Comparison">Section 2.2.2</a> of <a href="#Part4" id="rfc.xref.Part4.3"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>.762 defined to be either an entity-tag that is not marked as weak (<a href="p4-conditional.html#header.etag" title="ETag">Section 2.3</a> of <a href="#Part4" id="rfc.xref.Part4.1"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>) or, if no entity-tag is provided, a <a href="p4-conditional.html#header.last-modified" class="smpl">Last-Modified</a> value that is strong in the sense defined by <a href="p4-conditional.html#lastmod.comparison" title="Comparison">Section 2.2.2</a> of <a href="#Part4" id="rfc.xref.Part4.2"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>. 780 763 </p> 781 764 <p id="rfc.section.4.2.p.2">When a client receives an incomplete <a href="p2-semantics.html#status.200" class="smpl">200 (OK)</a> or <a href="#status.206" class="smpl">206 (Partial Content)</a> response and already has one or more stored responses for the same method and effective request URI, all of the stored responses … … 800 783 <h2 id="rfc.section.5.1"><a href="#rfc.section.5.1">5.1</a> <a id="header.accept-ranges" href="#header.accept-ranges">Accept-Ranges</a></h2> 801 784 <p id="rfc.section.5.1.p.1">The "Accept-Ranges" header field allows a resource to indicate its acceptance of range requests.</p> 802 <div id="rfc.figure.u. 6"></div><pre class="inline"><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span> <a href="#header.accept-ranges" class="smpl">Accept-Ranges</a> = <a href="#header.accept-ranges" class="smpl">acceptable-ranges</a>785 <div id="rfc.figure.u.4"></div><pre class="inline"><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span> <a href="#header.accept-ranges" class="smpl">Accept-Ranges</a> = <a href="#header.accept-ranges" class="smpl">acceptable-ranges</a> 803 786 <a href="#header.accept-ranges" class="smpl">acceptable-ranges</a> = 1#<a href="#range.units" class="smpl">range-unit</a> / "none" 804 787 </pre><p id="rfc.section.5.1.p.3">Origin servers that accept byte-range requests <em class="bcp14">MAY</em> send 805 788 </p> 806 <div id="rfc.figure.u. 7"></div><pre class="text"> Accept-Ranges: bytes789 <div id="rfc.figure.u.5"></div><pre class="text"> Accept-Ranges: bytes 807 790 </pre><p id="rfc.section.5.1.p.5">but are not required to do so. Clients <em class="bcp14">MAY</em> generate range requests without having received this header field for the resource involved. Range units are defined in <a href="#range.units" title="Range Units">Section 2</a>. 808 791 </p> 809 792 <p id="rfc.section.5.1.p.6">Servers that do not accept any kind of range request for a resource <em class="bcp14">MAY</em> send 810 793 </p> 811 <div id="rfc.figure.u. 8"></div><pre class="text"> Accept-Ranges: none794 <div id="rfc.figure.u.6"></div><pre class="text"> Accept-Ranges: none 812 795 </pre><p id="rfc.section.5.1.p.8">to advise the client not to attempt a range request.</p> 813 796 <div id="rfc.iref.c.1"></div> … … 819 802 <p id="rfc.section.5.2.p.2">Range units are defined in <a href="#range.units" title="Range Units">Section 2</a>. 820 803 </p> 821 <div id="rfc.figure.u. 9"></div><pre class="inline"><span id="rfc.iref.g.6"></span><span id="rfc.iref.g.7"></span><span id="rfc.iref.g.8"></span><span id="rfc.iref.g.9"></span> <a href="#header.content-range" class="smpl">Content-Range</a> = <a href="#header.content-range" class="smpl">byte-content-range-spec</a>804 <div id="rfc.figure.u.7"></div><pre class="inline"><span id="rfc.iref.g.6"></span><span id="rfc.iref.g.7"></span><span id="rfc.iref.g.8"></span><span id="rfc.iref.g.9"></span> <a href="#header.content-range" class="smpl">Content-Range</a> = <a href="#header.content-range" class="smpl">byte-content-range-spec</a> 822 805 / <a href="#header.content-range" class="smpl">other-content-range-spec</a> 823 806 824 <a href="#header.content-range" class="smpl">byte-content-range-spec</a> = <a href="#range.units" class="smpl">bytes-unit</a> <a href="# notation" class="smpl">SP</a>807 <a href="#header.content-range" class="smpl">byte-content-range-spec</a> = <a href="#range.units" class="smpl">bytes-unit</a> <a href="#imported.abnf" class="smpl">SP</a> 825 808 <a href="#header.content-range" class="smpl">byte-range-resp-spec</a> "/" 826 809 ( <a href="#header.content-range" class="smpl">instance-length</a> / "*" ) … … 829 812 / "*" 830 813 831 <a href="#header.content-range" class="smpl">instance-length</a> = 1*<a href="# notation" class="smpl">DIGIT</a>814 <a href="#header.content-range" class="smpl">instance-length</a> = 1*<a href="#imported.abnf" class="smpl">DIGIT</a> 832 815 833 <a href="#header.content-range" class="smpl">other-content-range-spec</a> = <a href="#range.units" class="smpl">other-range-unit</a> <a href="# notation" class="smpl">SP</a>816 <a href="#header.content-range" class="smpl">other-content-range-spec</a> = <a href="#range.units" class="smpl">other-range-unit</a> <a href="#imported.abnf" class="smpl">SP</a> 834 817 <a href="#header.content-range" class="smpl">other-range-resp-spec</a> 835 <a href="#header.content-range" class="smpl">other-range-resp-spec</a> = *<a href="# notation" class="smpl">CHAR</a>818 <a href="#header.content-range" class="smpl">other-range-resp-spec</a> = *<a href="#imported.abnf" class="smpl">CHAR</a> 836 819 </pre><p id="rfc.section.5.2.p.4">The header field <em class="bcp14">SHOULD</em> indicate the total length of the full representation, unless this length is unknown or difficult to determine. The asterisk 837 820 "*" character means that the instance-length is unknown at the time when the response was generated. … … 852 835 <ul> 853 836 <li>The first 500 bytes: 854 <div id="rfc.figure.u. 10"></div><pre class="text"> bytes 0-499/1234837 <div id="rfc.figure.u.8"></div><pre class="text"> bytes 0-499/1234 855 838 </pre> </li> 856 839 <li>The second 500 bytes: 857 <div id="rfc.figure.u. 11"></div><pre class="text"> bytes 500-999/1234840 <div id="rfc.figure.u.9"></div><pre class="text"> bytes 500-999/1234 858 841 </pre> </li> 859 842 <li>All except for the first 500 bytes: 860 <div id="rfc.figure.u.1 2"></div><pre class="text"> bytes 500-1233/1234843 <div id="rfc.figure.u.10"></div><pre class="text"> bytes 500-1233/1234 861 844 </pre> </li> 862 845 <li>The last 500 bytes: 863 <div id="rfc.figure.u.1 3"></div><pre class="text"> bytes 734-1233/1234846 <div id="rfc.figure.u.11"></div><pre class="text"> bytes 734-1233/1234 864 847 </pre> </li> 865 848 </ul> … … 877 860 is unchanged, send me the part(s) that I am missing; otherwise, send me the entire new representation". 878 861 </p> 879 <div id="rfc.figure.u.1 4"></div><pre class="inline"><span id="rfc.iref.g.10"></span> <a href="#header.if-range" class="smpl">If-Range</a> = <a href="#abnf.dependencies" class="smpl">entity-tag</a> / <a href="#core.rules" class="smpl">HTTP-date</a>862 <div id="rfc.figure.u.12"></div><pre class="inline"><span id="rfc.iref.g.10"></span> <a href="#header.if-range" class="smpl">If-Range</a> = <a href="#imported.abnf" class="smpl">entity-tag</a> / <a href="#imported.abnf" class="smpl">HTTP-date</a> 880 863 </pre><p id="rfc.section.5.3.p.4">Clients <em class="bcp14">MUST NOT</em> use an entity-tag marked as weak in an If-Range field value and <em class="bcp14">MUST NOT</em> use a <a href="p4-conditional.html#header.last-modified" class="smpl">Last-Modified</a> date in an If-Range field value unless it has no entity-tag for the representation and the Last-Modified date it does have 881 for the representation is strong in the sense defined by <a href="p4-conditional.html#lastmod.comparison" title="Comparison">Section 2.2.2</a> of <a href="#Part4" id="rfc.xref.Part4. 4"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>.864 for the representation is strong in the sense defined by <a href="p4-conditional.html#lastmod.comparison" title="Comparison">Section 2.2.2</a> of <a href="#Part4" id="rfc.xref.Part4.3"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>. 882 865 </p> 883 866 <p id="rfc.section.5.3.p.5">A server that evaluates a conditional range request that is applicable to one of its representations <em class="bcp14">MUST</em> evaluate the condition as false if the entity-tag used as a validator is marked as weak or, when an HTTP-date is used as the 884 validator, if the date value is not strong in the sense defined by <a href="p4-conditional.html#lastmod.comparison" title="Comparison">Section 2.2.2</a> of <a href="#Part4" id="rfc.xref.Part4. 5"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>. (A server can distinguish between a valid HTTP-date and any form of entity-tag by examining the first two characters.)867 validator, if the date value is not strong in the sense defined by <a href="p4-conditional.html#lastmod.comparison" title="Comparison">Section 2.2.2</a> of <a href="#Part4" id="rfc.xref.Part4.4"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>. (A server can distinguish between a valid HTTP-date and any form of entity-tag by examining the first two characters.) 885 868 </p> 886 869 <p id="rfc.section.5.3.p.6">The If-Range header field <em class="bcp14">SHOULD</em> only be sent by clients together with a Range header field. The If-Range header field <em class="bcp14">MUST</em> be ignored if it is received in a request that does not include a Range header field. The If-Range header field <em class="bcp14">MUST</em> be ignored by a server that does not support the sub-range operation. … … 903 886 </p> 904 887 </div> 905 <div id="rfc.figure.u.1 5"></div><pre class="inline"><span id="rfc.iref.g.11"></span><span id="rfc.iref.g.12"></span><span id="rfc.iref.g.13"></span><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span><span id="rfc.iref.g.16"></span> <a href="#rule.ranges-specifier" class="smpl">byte-ranges-specifier</a> = <a href="#range.units" class="smpl">bytes-unit</a> "=" <a href="#rule.ranges-specifier" class="smpl">byte-range-set</a>888 <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.11"></span><span id="rfc.iref.g.12"></span><span id="rfc.iref.g.13"></span><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span><span id="rfc.iref.g.16"></span> <a href="#rule.ranges-specifier" class="smpl">byte-ranges-specifier</a> = <a href="#range.units" class="smpl">bytes-unit</a> "=" <a href="#rule.ranges-specifier" class="smpl">byte-range-set</a> 906 889 <a href="#rule.ranges-specifier" class="smpl">byte-range-set</a> = 1#( <a href="#rule.ranges-specifier" class="smpl">byte-range-spec</a> / <a href="#rule.ranges-specifier" class="smpl">suffix-byte-range-spec</a> ) 907 890 <a href="#rule.ranges-specifier" class="smpl">byte-range-spec</a> = <a href="#rule.ranges-specifier" class="smpl">first-byte-pos</a> "-" [ <a href="#rule.ranges-specifier" class="smpl">last-byte-pos</a> ] 908 <a href="#rule.ranges-specifier" class="smpl">first-byte-pos</a> = 1*<a href="# notation" class="smpl">DIGIT</a>909 <a href="#rule.ranges-specifier" class="smpl">last-byte-pos</a> = 1*<a href="# notation" class="smpl">DIGIT</a>891 <a href="#rule.ranges-specifier" class="smpl">first-byte-pos</a> = 1*<a href="#imported.abnf" class="smpl">DIGIT</a> 892 <a href="#rule.ranges-specifier" class="smpl">last-byte-pos</a> = 1*<a href="#imported.abnf" class="smpl">DIGIT</a> 910 893 </pre><p id="rfc.section.5.4.1.p.5">The first-byte-pos value in a byte-range-spec gives the byte-offset of the first byte in a range. The last-byte-pos value 911 894 gives the byte-offset of the last byte in the range; that is, the byte positions specified are inclusive. Byte offsets start … … 919 902 </p> 920 903 <p id="rfc.section.5.4.1.p.8">By its choice of last-byte-pos, a client can limit the number of bytes retrieved without knowing the size of the representation.</p> 921 <div id="rfc.figure.u.1 6"></div><pre class="inline"><span id="rfc.iref.g.17"></span><span id="rfc.iref.g.18"></span> <a href="#rule.ranges-specifier" class="smpl">suffix-byte-range-spec</a> = "-" <a href="#rule.ranges-specifier" class="smpl">suffix-length</a>922 <a href="#rule.ranges-specifier" class="smpl">suffix-length</a> = 1*<a href="# notation" class="smpl">DIGIT</a>904 <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.17"></span><span id="rfc.iref.g.18"></span> <a href="#rule.ranges-specifier" class="smpl">suffix-byte-range-spec</a> = "-" <a href="#rule.ranges-specifier" class="smpl">suffix-length</a> 905 <a href="#rule.ranges-specifier" class="smpl">suffix-length</a> = 1*<a href="#imported.abnf" class="smpl">DIGIT</a> 923 906 </pre><p id="rfc.section.5.4.1.p.10">A suffix-byte-range-spec is used to specify the suffix of the representation body, of a length given by the suffix-length 924 907 value. (That is, this form specifies the last N bytes of a representation.) If the representation is shorter than the specified … … 934 917 <ul> 935 918 <li>The first 500 bytes (byte offsets 0-499, inclusive): 936 <div id="rfc.figure.u.1 7"></div><pre class="text"> bytes=0-499919 <div id="rfc.figure.u.15"></div><pre class="text"> bytes=0-499 937 920 </pre> </li> 938 921 <li>The second 500 bytes (byte offsets 500-999, inclusive): 939 <div id="rfc.figure.u.1 8"></div><pre class="text"> bytes=500-999922 <div id="rfc.figure.u.16"></div><pre class="text"> bytes=500-999 940 923 </pre> </li> 941 924 <li>The final 500 bytes (byte offsets 9500-9999, inclusive): 942 <div id="rfc.figure.u.1 9"></div><pre class="text"> bytes=-500943 </pre> Or: <div id="rfc.figure.u. 20"></div><pre class="text"> bytes=9500-925 <div id="rfc.figure.u.17"></div><pre class="text"> bytes=-500 926 </pre> Or: <div id="rfc.figure.u.18"></div><pre class="text"> bytes=9500- 944 927 </pre> </li> 945 928 <li>The first and last bytes only (bytes 0 and 9999): 946 <div id="rfc.figure.u. 21"></div><pre class="text"> bytes=0-0,-1929 <div id="rfc.figure.u.19"></div><pre class="text"> bytes=0-0,-1 947 930 </pre> </li> 948 931 <li>Several legal but not canonical specifications of the second 500 bytes (byte offsets 500-999, inclusive): 949 <div id="rfc.figure.u.2 2"></div><pre class="text"> bytes=500-600,601-999932 <div id="rfc.figure.u.20"></div><pre class="text"> bytes=500-600,601-999 950 933 bytes=500-700,601-999 951 934 </pre> </li> … … 955 938 body, instead of the entire representation body. 956 939 </p> 957 <div id="rfc.figure.u.2 3"></div><pre class="inline"><span id="rfc.iref.g.19"></span> <a href="#range.retrieval.requests" class="smpl">Range</a> = <a href="#rule.ranges-specifier" class="smpl">byte-ranges-specifier</a> / <a href="#range.retrieval.requests" class="smpl">other-ranges-specifier</a>940 <div id="rfc.figure.u.21"></div><pre class="inline"><span id="rfc.iref.g.19"></span> <a href="#range.retrieval.requests" class="smpl">Range</a> = <a href="#rule.ranges-specifier" class="smpl">byte-ranges-specifier</a> / <a href="#range.retrieval.requests" class="smpl">other-ranges-specifier</a> 958 941 <a href="#range.retrieval.requests" class="smpl">other-ranges-specifier</a> = <a href="#range.units" class="smpl">other-range-unit</a> "=" <a href="#range.retrieval.requests" class="smpl">other-range-set</a> 959 <a href="#range.retrieval.requests" class="smpl">other-range-set</a> = 1*<a href="# notation" class="smpl">CHAR</a>942 <a href="#range.retrieval.requests" class="smpl">other-range-set</a> = 1*<a href="#imported.abnf" class="smpl">CHAR</a> 960 943 </pre><p id="rfc.section.5.4.2.p.3">A server <em class="bcp14">MAY</em> ignore the Range header field. However, origin servers and intermediate caches ought to support byte ranges when possible, 961 944 since Range supports efficient recovery from partially failed transfers, and supports efficient partial retrieval of large … … 1092 1075 </p> 1093 1076 <h1 id="rfc.section.8"><a href="#rfc.section.8">8.</a> <a id="acks" href="#acks">Acknowledgments</a></h1> 1094 <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. 6"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>.1077 <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.3"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>. 1095 1078 </p> 1096 1079 <h1 id="rfc.references"><a id="rfc.section.9" href="#rfc.section.9">9.</a> References … … 1224 1207 </p> 1225 1208 </div> 1226 <div id="rfc.figure.u.2 4"></div>1209 <div id="rfc.figure.u.22"></div> 1227 1210 <p>For example:</p><pre class="text"> HTTP/1.1 206 Partial Content 1228 1211 Date: Wed, 15 Nov 1995 06:25:24 GMT … … 1241 1224 ...the second range 1242 1225 --THIS_STRING_SEPARATES-- 1243 </pre><div id="rfc.figure.u.2 5"></div>1226 </pre><div id="rfc.figure.u.23"></div> 1244 1227 <p>Another example, using the "exampleunit" range unit:</p> <pre class="text"> HTTP/1.1 206 Partial Content 1245 1228 Date: Tue, 14 Nov 1995 06:25:24 GMT … … 1276 1259 <p id="rfc.section.B.p.4">Clarify that multipart/byteranges can consist of a single part. (<a href="#internet.media.type.multipart.byteranges" title="Internet Media Type multipart/byteranges">Appendix A</a>) 1277 1260 </p> 1278 <h1 id="rfc.section.C"><a href="#rfc.section.C">C.</a> <a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1> 1261 <h1 id="rfc.section.C"><a href="#rfc.section.C">C.</a> <a id="imported.abnf" href="#imported.abnf">Imported ABNF</a></h1> 1262 <p id="rfc.section.C.p.1">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 1263 (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 1264 character). 1265 </p> 1266 <p id="rfc.section.C.p.2">Note that all rules derived from <a href="#imported.abnf" class="smpl">token</a> are to be compared case-insensitively, like <a href="#range.units" class="smpl">range-unit</a> and <a href="#header.accept-ranges" class="smpl">acceptable-ranges</a>. 1267 </p> 1268 <p id="rfc.section.C.p.3">The rules below are defined in <a href="#Part1" id="rfc.xref.Part1.4"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>: 1269 </p> 1270 <div id="rfc.figure.u.24"></div><pre class="inline"> <a href="#imported.abnf" class="smpl">OWS</a> = <OWS, defined in <a href="#Part1" id="rfc.xref.Part1.5"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>> 1271 <a href="#imported.abnf" class="smpl">token</a> = <token, defined in <a href="#Part1" id="rfc.xref.Part1.6"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>> 1272 </pre><p id="rfc.section.C.p.5">The rules below are defined in other parts:</p> 1273 <div id="rfc.figure.u.25"></div><pre class="inline"> <a href="#imported.abnf" class="smpl">HTTP-date</a> = <HTTP-date, defined in <a href="#Part2" id="rfc.xref.Part2.1"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>, <a href="p2-semantics.html#http.date" title="Date/Time Formats">Section 5.1</a>> 1274 <a href="#imported.abnf" class="smpl">entity-tag</a> = <entity-tag, defined in <a href="#Part4" id="rfc.xref.Part4.5"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>, <a href="p4-conditional.html#header.etag" title="ETag">Section 2.3</a>> 1275 </pre><h1 id="rfc.section.D"><a href="#rfc.section.D">D.</a> <a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1> 1279 1276 <div id="rfc.figure.u.26"></div> <pre class="inline"><a href="#header.accept-ranges" class="smpl">Accept-Ranges</a> = acceptable-ranges 1280 1277 1281 1278 <a href="#header.content-range" class="smpl">Content-Range</a> = byte-content-range-spec / other-content-range-spec 1282 1279 1283 <a href="# core.rules" class="smpl">HTTP-date</a> = <HTTP-date, defined in [Part2], Section 5.1>1280 <a href="#imported.abnf" class="smpl">HTTP-date</a> = <HTTP-date, defined in [Part2], Section 5.1> 1284 1281 1285 1282 <a href="#header.if-range" class="smpl">If-Range</a> = entity-tag / HTTP-date 1286 1283 1287 <a href="# core.rules" class="smpl">OWS</a> = <OWS, defined in [Part1], Section 3.2.1>1284 <a href="#imported.abnf" class="smpl">OWS</a> = <OWS, defined in [Part1], Section 3.2.1> 1288 1285 1289 1286 <a href="#range.retrieval.requests" class="smpl">Range</a> = byte-ranges-specifier / other-ranges-specifier … … 1302 1299 <a href="#range.units" class="smpl">bytes-unit</a> = "bytes" 1303 1300 1304 <a href="# abnf.dependencies" class="smpl">entity-tag</a> = <entity-tag, defined in [Part4], Section 2.3>1301 <a href="#imported.abnf" class="smpl">entity-tag</a> = <entity-tag, defined in [Part4], Section 2.3> 1305 1302 1306 1303 <a href="#rule.ranges-specifier" class="smpl">first-byte-pos</a> = 1*DIGIT … … 1321 1318 <a href="#rule.ranges-specifier" class="smpl">suffix-length</a> = 1*DIGIT 1322 1319 1323 <a href="# core.rules" class="smpl">token</a> = <token, defined in [Part1], Section 3.2.4>1324 </pre> <h1 id="rfc.section. D"><a href="#rfc.section.D">D.</a> <a id="change.log" href="#change.log">Change Log (to be removed by RFC Editor before publication)</a></h1>1325 <p id="rfc.section. D.p.1">Changes up to the first Working Group Last Call draft are summarized in <<a href="http://tools.ietf.org/html/draft-ietf-httpbis-p5-range-19#appendix-D">http://tools.ietf.org/html/draft-ietf-httpbis-p5-range-19#appendix-D</a>>.1326 </p> 1327 <h2 id="rfc.section. D.1"><a href="#rfc.section.D.1">D.1</a> <a id="changes.since.19" href="#changes.since.19">Since draft-ietf-httpbis-p5-range-19</a></h2>1328 <p id="rfc.section. D.1.p.1">Closed issues: </p>1320 <a href="#imported.abnf" class="smpl">token</a> = <token, defined in [Part1], Section 3.2.4> 1321 </pre> <h1 id="rfc.section.E"><a href="#rfc.section.E">E.</a> <a id="change.log" href="#change.log">Change Log (to be removed by RFC Editor before publication)</a></h1> 1322 <p id="rfc.section.E.p.1">Changes up to the first Working Group Last Call draft are summarized in <<a href="http://tools.ietf.org/html/draft-ietf-httpbis-p5-range-19#appendix-D">http://tools.ietf.org/html/draft-ietf-httpbis-p5-range-19#appendix-D</a>>. 1323 </p> 1324 <h2 id="rfc.section.E.1"><a href="#rfc.section.E.1">E.1</a> <a id="changes.since.19" href="#changes.since.19">Since draft-ietf-httpbis-p5-range-19</a></h2> 1325 <p id="rfc.section.E.1.p.1">Closed issues: </p> 1329 1326 <ul> 1330 1327 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/358">http://tools.ietf.org/wg/httpbis/trac/ticket/358</a>>: "ABNF list expansion code problem" … … 1413 1410 </li> 1414 1411 <li><a id="rfc.index.P" href="#rfc.index.P"><b>P</b></a><ul> 1415 <li><em>Part1</em> <a href="#rfc.xref.Part1.1">1.1</a>, <a href="#rfc.xref.Part1.2">1.2</a>, <a href="#rfc.xref.Part1.3"> 1.2.1</a>, <a href="#rfc.xref.Part1.4">1.2.1</a>, <a href="#rfc.xref.Part1.5">1.2.1</a>, <a href="#rfc.xref.Part1.6">8</a>, <a href="#Part1"><b>9.1</b></a><ul>1412 <li><em>Part1</em> <a href="#rfc.xref.Part1.1">1.1</a>, <a href="#rfc.xref.Part1.2">1.2</a>, <a href="#rfc.xref.Part1.3">8</a>, <a href="#Part1"><b>9.1</b></a>, <a href="#rfc.xref.Part1.4">C</a>, <a href="#rfc.xref.Part1.5">C</a>, <a href="#rfc.xref.Part1.6">C</a><ul> 1416 1413 <li><em>Section 1.2</em> <a href="#rfc.xref.Part1.2">1.2</a></li> 1417 1414 <li><em>Section 2</em> <a href="#rfc.xref.Part1.1">1.1</a></li> 1418 <li><em>Section 3.2.1</em> <a href="#rfc.xref.Part1. 4">1.2.1</a></li>1419 <li><em>Section 3.2.4</em> <a href="#rfc.xref.Part1. 5">1.2.1</a></li>1420 <li><em>Section 9</em> <a href="#rfc.xref.Part1. 6">8</a></li>1415 <li><em>Section 3.2.1</em> <a href="#rfc.xref.Part1.5">C</a></li> 1416 <li><em>Section 3.2.4</em> <a href="#rfc.xref.Part1.6">C</a></li> 1417 <li><em>Section 9</em> <a href="#rfc.xref.Part1.3">8</a></li> 1421 1418 </ul> 1422 1419 </li> 1423 <li><em>Part2</em> <a href="# rfc.xref.Part2.1">1.2.1</a>, <a href="#rfc.xref.Part2.2">1.2.1</a>, <a href="#Part2"><b>9.1</b></a><ul>1424 <li><em>Section 5.1</em> <a href="#rfc.xref.Part2. 2">1.2.1</a></li>1420 <li><em>Part2</em> <a href="#Part2"><b>9.1</b></a>, <a href="#rfc.xref.Part2.1">C</a><ul> 1421 <li><em>Section 5.1</em> <a href="#rfc.xref.Part2.1">C</a></li> 1425 1422 </ul> 1426 1423 </li> 1427 <li><em>Part4</em> <a href="#rfc.xref.Part4.1"> 1.2.2</a>, <a href="#rfc.xref.Part4.2">4.2</a>, <a href="#rfc.xref.Part4.3">4.2</a>, <a href="#rfc.xref.Part4.4">5.3</a>, <a href="#rfc.xref.Part4.5">5.3</a>, <a href="#Part4"><b>9.1</b></a><ul>1428 <li><em>Section 2.2.2</em> <a href="#rfc.xref.Part4. 3">4.2</a>, <a href="#rfc.xref.Part4.4">5.3</a>, <a href="#rfc.xref.Part4.5">5.3</a></li>1429 <li><em>Section 2.3</em> <a href="#rfc.xref.Part4.1"> 1.2.2</a>, <a href="#rfc.xref.Part4.2">4.2</a></li>1424 <li><em>Part4</em> <a href="#rfc.xref.Part4.1">4.2</a>, <a href="#rfc.xref.Part4.2">4.2</a>, <a href="#rfc.xref.Part4.3">5.3</a>, <a href="#rfc.xref.Part4.4">5.3</a>, <a href="#Part4"><b>9.1</b></a>, <a href="#rfc.xref.Part4.5">C</a><ul> 1425 <li><em>Section 2.2.2</em> <a href="#rfc.xref.Part4.2">4.2</a>, <a href="#rfc.xref.Part4.3">5.3</a>, <a href="#rfc.xref.Part4.4">5.3</a></li> 1426 <li><em>Section 2.3</em> <a href="#rfc.xref.Part4.1">4.2</a>, <a href="#rfc.xref.Part4.5">C</a></li> 1430 1427 </ul> 1431 1428 </li> … … 1450 1447 </ul> 1451 1448 </li> 1452 <li><em>RFC5234</em> <a href="#rfc.xref.RFC5234.1">1.2</a>, <a href="# rfc.xref.RFC5234.2">1.2</a>, <a href="#RFC5234"><b>9.1</b></a><ul>1453 <li><em>Appendix B.1</em> <a href="#rfc.xref.RFC5234.2"> 1.2</a></li>1449 <li><em>RFC5234</em> <a href="#rfc.xref.RFC5234.1">1.2</a>, <a href="#RFC5234"><b>9.1</b></a>, <a href="#rfc.xref.RFC5234.2">C</a><ul> 1450 <li><em>Appendix B.1</em> <a href="#rfc.xref.RFC5234.2">C</a></li> 1454 1451 </ul> 1455 1452 </li> -
draft-ietf-httpbis/latest/p5-range.xml
r1804 r1805 207 207 208 208 <section title="Syntax Notation" anchor="notation"> 209 <x:anchor-alias value="ALPHA"/>210 <x:anchor-alias value="CHAR"/>211 <x:anchor-alias value="CR"/>212 <x:anchor-alias value="DIGIT"/>213 <x:anchor-alias value="LF"/>214 <x:anchor-alias value="OCTET"/>215 <x:anchor-alias value="SP"/>216 <x:anchor-alias value="VCHAR"/>217 209 <t> 218 210 This specification uses the Augmented Backus-Naur Form (ABNF) notation 219 211 of <xref target="RFC5234"/> with the list rule extension defined in 220 ¬ation;. <xref target="collected.abnf"/> shows the collected ABNF 212 ¬ation;. <xref target="imported.abnf"/> describes rules imported from 213 other documents. <xref target="collected.abnf"/> shows the collected ABNF 221 214 with the list rule expanded. 222 215 </t> 223 <t>224 The following core rules are included by225 reference, as defined in <xref target="RFC5234" x:fmt="," x:sec="B.1"/>:226 ALPHA (letters), CR (carriage return), CRLF (CR LF), CTL (controls),227 DIGIT (decimal 0-9), DQUOTE (double quote),228 HEXDIG (hexadecimal 0-9/A-F/a-f), LF (line feed),229 OCTET (any 8-bit sequence of data), SP (space), and230 VCHAR (any visible US-ASCII character).231 </t>232 233 <t>234 Note that all rules derived from <x:ref>token</x:ref> are to235 be compared case-insensitively, like <x:ref>range-unit</x:ref> and236 <x:ref>acceptable-ranges</x:ref>.237 </t>238 239 <section title="Core Rules" anchor="core.rules">240 <x:anchor-alias value="token"/>241 <x:anchor-alias value="OWS"/>242 <x:anchor-alias value="HTTP-date"/>243 <t>244 The core rules below are defined in <xref target="Part1"/> and245 <xref target="Part2"/>:246 </t>247 <figure><artwork type="abnf2616">248 <x:ref>OWS</x:ref> = <OWS, defined in &whitespace;>249 <x:ref>token</x:ref> = <token, defined in &field-components;>250 <x:ref>HTTP-date</x:ref> = <HTTP-date, defined in &http-date;>251 </artwork></figure>252 </section>253 254 <section title="ABNF Rules defined in other Parts of the Specification" anchor="abnf.dependencies">255 <x:anchor-alias value="entity-tag"/>256 <t>257 The ABNF rules below are defined in other parts:258 </t>259 <figure><!--Part4--><artwork type="abnf2616">260 <x:ref>entity-tag</x:ref> = <entity-tag, defined in &entity-tags;>261 </artwork></figure>262 </section>263 264 216 </section> 265 217 … … 1422 1374 </section> 1423 1375 1376 <section title="Imported ABNF" anchor="imported.abnf"> 1377 <x:anchor-alias value="ALPHA"/> 1378 <x:anchor-alias value="CHAR"/> 1379 <x:anchor-alias value="CR"/> 1380 <x:anchor-alias value="DIGIT"/> 1381 <x:anchor-alias value="LF"/> 1382 <x:anchor-alias value="OCTET"/> 1383 <x:anchor-alias value="SP"/> 1384 <x:anchor-alias value="VCHAR"/> 1385 <x:anchor-alias value="token"/> 1386 <x:anchor-alias value="OWS"/> 1387 <x:anchor-alias value="HTTP-date"/> 1388 <x:anchor-alias value="entity-tag"/> 1389 <t> 1390 The following core rules are included by 1391 reference, as defined in <xref target="RFC5234" x:fmt="," x:sec="B.1"/>: 1392 ALPHA (letters), CR (carriage return), CRLF (CR LF), CTL (controls), 1393 DIGIT (decimal 0-9), DQUOTE (double quote), 1394 HEXDIG (hexadecimal 0-9/A-F/a-f), LF (line feed), 1395 OCTET (any 8-bit sequence of data), SP (space), and 1396 VCHAR (any visible US-ASCII character). 1397 </t> 1398 <t> 1399 Note that all rules derived from <x:ref>token</x:ref> are to 1400 be compared case-insensitively, like <x:ref>range-unit</x:ref> and 1401 <x:ref>acceptable-ranges</x:ref>. 1402 </t> 1403 <t> 1404 The rules below are defined in <xref target="Part1"/>: 1405 </t> 1406 <figure><artwork type="abnf2616"> 1407 <x:ref>OWS</x:ref> = <OWS, defined in &whitespace;> 1408 <x:ref>token</x:ref> = <token, defined in &field-components;> 1409 </artwork></figure> 1410 <t> 1411 The rules below are defined in other parts: 1412 </t> 1413 <figure><artwork type="abnf2616"> 1414 <x:ref>HTTP-date</x:ref> = <HTTP-date, defined in &http-date;> 1415 <x:ref>entity-tag</x:ref> = <entity-tag, defined in &entity-tags;> 1416 </artwork></figure> 1417 </section> 1418 1424 1419 <?BEGININC p5-range.abnf-appendix ?> 1425 1420 <section xmlns:x="http://purl.org/net/xml2rfc/ext" title="Collected ABNF" anchor="collected.abnf"> -
draft-ietf-httpbis/latest/p6-cache.html
r1803 r1805 487 487 <link rel="Chapter" href="#rfc.section.12" title="12 References"> 488 488 <link rel="Appendix" title="A Changes from RFC 2616" href="#rfc.section.A"> 489 <link rel="Appendix" title="B Collected ABNF" href="#rfc.section.B"> 490 <link rel="Appendix" title="C Change Log (to be removed by RFC Editor before publication)" href="#rfc.section.C"> 489 <link rel="Appendix" title="B Imported ABNF" href="#rfc.section.B"> 490 <link rel="Appendix" title="C Collected ABNF" href="#rfc.section.C"> 491 <link rel="Appendix" title="D Change Log (to be removed by RFC Editor before publication)" href="#rfc.section.D"> 491 492 <link href="p5-range.html" rel="prev"> 492 493 <link href="p7-auth.html" rel="next"> … … 559 560 <p>The current issues list is at <<a href="http://tools.ietf.org/wg/httpbis/trac/report/3">http://tools.ietf.org/wg/httpbis/trac/report/3</a>> and related documents (including fancy diffs) can be found at <<a href="http://tools.ietf.org/wg/httpbis/">http://tools.ietf.org/wg/httpbis/</a>>. 560 561 </p> 561 <p>The changes in this draft are summarized in <a href="#changes.since.19" title="Since draft-ietf-httpbis-p6-cache-19">Appendix C.1</a>.562 <p>The changes in this draft are summarized in <a href="#changes.since.19" title="Since draft-ietf-httpbis-p6-cache-19">Appendix D.1</a>. 562 563 </p> 563 564 <h1><a id="rfc.status" href="#rfc.status">Status of This Memo</a></h1> … … 593 594 <li>1.3 <a href="#intro.conformance.and.error.handling">Conformance and Error Handling</a></li> 594 595 <li>1.4 <a href="#notation">Syntax Notation</a><ul> 595 <li>1.4.1 <a href="#core.rules">Core Rules</a></li> 596 <li>1.4.2 <a href="#abnf.dependencies">ABNF Rules defined in other Parts of the Specification</a></li> 597 <li>1.4.3 <a href="#delta-seconds">Delta Seconds</a></li> 596 <li>1.4.1 <a href="#delta-seconds">Delta Seconds</a></li> 598 597 </ul> 599 598 </li> … … 684 683 <li><a href="#rfc.authors">Authors' Addresses</a></li> 685 684 <li>A. <a href="#changes.from.rfc.2616">Changes from RFC 2616</a></li> 686 <li>B. <a href="#collected.abnf">Collected ABNF</a></li> 687 <li>C. <a href="#change.log">Change Log (to be removed by RFC Editor before publication)</a><ul> 688 <li>C.1 <a href="#changes.since.19">Since draft-ietf-httpbis-p6-cache-19</a></li> 685 <li>B. <a href="#imported.abnf">Imported ABNF</a></li> 686 <li>C. <a href="#collected.abnf">Collected ABNF</a></li> 687 <li>D. <a href="#change.log">Change Log (to be removed by RFC Editor before publication)</a><ul> 688 <li>D.1 <a href="#changes.since.19">Since draft-ietf-httpbis-p6-cache-19</a></li> 689 689 </ul> 690 690 </li> … … 807 807 </p> 808 808 <h2 id="rfc.section.1.4"><a href="#rfc.section.1.4">1.4</a> <a id="notation" href="#notation">Syntax Notation</a></h2> 809 <p id="rfc.section.1.4.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.2"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>. <a href="#collected.abnf" title="Collected ABNF">Appendix B</a> shows the collected ABNF with the list rule expanded. 810 </p> 811 <p id="rfc.section.1.4.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 812 (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 813 character). 814 </p> 815 <h3 id="rfc.section.1.4.1"><a href="#rfc.section.1.4.1">1.4.1</a> <a id="core.rules" href="#core.rules">Core Rules</a></h3> 816 <p id="rfc.section.1.4.1.p.1">The core rules below are defined in <a href="#Part1" id="rfc.xref.Part1.3"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>: 817 </p> 818 <div id="rfc.figure.u.1"></div><pre class="inline"> <a href="#core.rules" class="smpl">OWS</a> = <OWS, defined in <a href="#Part1" id="rfc.xref.Part1.4"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>> 819 <a href="#core.rules" class="smpl">quoted-string</a> = <quoted-string, defined in <a href="#Part1" id="rfc.xref.Part1.5"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>> 820 <a href="#core.rules" class="smpl">token</a> = <token, defined in <a href="#Part1" id="rfc.xref.Part1.6"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>> 821 </pre><h3 id="rfc.section.1.4.2"><a href="#rfc.section.1.4.2">1.4.2</a> <a id="abnf.dependencies" href="#abnf.dependencies">ABNF Rules defined in other Parts of the Specification</a></h3> 822 <p id="rfc.section.1.4.2.p.1">The ABNF rules below are defined in other parts:</p> 823 <div id="rfc.figure.u.2"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">field-name</a> = <field-name, defined in <a href="#Part1" id="rfc.xref.Part1.7"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#header.fields" title="Header Fields">Section 3.2</a>> 824 <a href="#abnf.dependencies" class="smpl">HTTP-date</a> = <HTTP-date, defined in <a href="#Part2" id="rfc.xref.Part2.1"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>, <a href="p2-semantics.html#http.date" title="Date/Time Formats">Section 5.1</a>> 825 <a href="#abnf.dependencies" class="smpl">port</a> = <port, defined in <a href="#Part1" id="rfc.xref.Part1.8"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.8</a>> 826 <a href="#abnf.dependencies" class="smpl">pseudonym</a> = <pseudonym, defined in <a href="#Part1" id="rfc.xref.Part1.9"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#header.via" title="Via">Section 6.2</a>> 827 <a href="#abnf.dependencies" class="smpl">uri-host</a> = <uri-host, defined in <a href="#Part1" id="rfc.xref.Part1.10"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.8</a>> 828 </pre><h3 id="rfc.section.1.4.3"><a href="#rfc.section.1.4.3">1.4.3</a> <a id="delta-seconds" href="#delta-seconds">Delta Seconds</a></h3> 829 <p id="rfc.section.1.4.3.p.1">The delta-seconds rule specifies a non-negative integer, representing time in seconds.</p> 830 <div id="rfc.figure.u.3"></div><pre class="inline"><span id="rfc.iref.g.1"></span> <a href="#delta-seconds" class="smpl">delta-seconds</a> = 1*<a href="#notation" class="smpl">DIGIT</a> 831 </pre><p id="rfc.section.1.4.3.p.3">If an implementation receives a delta-seconds value larger than the largest positive integer it can represent, or if any of 809 <p id="rfc.section.1.4.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.2"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>. <a href="#imported.abnf" title="Imported ABNF">Appendix B</a> describes rules imported from other documents. <a href="#collected.abnf" title="Collected ABNF">Appendix C</a> shows the collected ABNF with the list rule expanded. 810 </p> 811 <h3 id="rfc.section.1.4.1"><a href="#rfc.section.1.4.1">1.4.1</a> <a id="delta-seconds" href="#delta-seconds">Delta Seconds</a></h3> 812 <p id="rfc.section.1.4.1.p.1">The delta-seconds rule specifies a non-negative integer, representing time in seconds.</p> 813 <div id="rfc.figure.u.1"></div><pre class="inline"><span id="rfc.iref.g.1"></span> <a href="#delta-seconds" class="smpl">delta-seconds</a> = 1*<a href="#imported.abnf" class="smpl">DIGIT</a> 814 </pre><p id="rfc.section.1.4.1.p.3">If an implementation receives a delta-seconds value larger than the largest positive integer it can represent, or if any of 832 815 its subsequent calculations overflows, it <em class="bcp14">MUST</em> consider the value to be 2147483648 (2<sup>31</sup>). Recipients parsing a delta-seconds value <em class="bcp14">MUST</em> use an arithmetic type of at least 31 bits of range, and senders <em class="bcp14">MUST NOT</em> send delta-seconds with a value greater than 2147483648. 833 816 </p> … … 835 818 <div id="rfc.iref.c.5"></div> 836 819 <h1 id="rfc.section.2"><a href="#rfc.section.2">2.</a> <a id="caching.overview" href="#caching.overview">Overview of Cache Operation</a></h1> 837 <p id="rfc.section.2.p.1">Proper cache operation preserves the semantics of HTTP transfers (<a href="#Part2" id="rfc.xref.Part2. 2"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>) while eliminating the transfer of information already held in the cache. Although caching is an entirely <em class="bcp14">OPTIONAL</em> feature of HTTP, we assume that reusing the cached response is desirable and that such reuse is the default behavior when820 <p id="rfc.section.2.p.1">Proper cache operation preserves the semantics of HTTP transfers (<a href="#Part2" id="rfc.xref.Part2.1"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>) while eliminating the transfer of information already held in the cache. Although caching is an entirely <em class="bcp14">OPTIONAL</em> feature of HTTP, we assume that reusing the cached response is desirable and that such reuse is the default behavior when 838 821 no requirement or locally-desired configuration prevents it. Therefore, HTTP cache requirements are focused on preventing 839 822 a cache from either storing a non-reusable response or reusing a stored response inappropriately. … … 887 870 </p> 888 871 <h2 id="rfc.section.3.1"><a href="#rfc.section.3.1">3.1</a> <a id="incomplete.responses" href="#incomplete.responses">Storing Incomplete Responses</a></h2> 889 <p id="rfc.section.3.1.p.1">A response message is considered complete when all of the octets indicated by the message framing (<a href="#Part1" id="rfc.xref.Part1. 11"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>) are received prior to the connection being closed. If the request is GET, the response status is <a href="p2-semantics.html#status.200" class="smpl">200872 <p id="rfc.section.3.1.p.1">A response message is considered complete when all of the octets indicated by the message framing (<a href="#Part1" id="rfc.xref.Part1.3"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>) are received prior to the connection being closed. If the request is GET, the response status is <a href="p2-semantics.html#status.200" class="smpl">200 890 873 (OK)</a>, and the entire response header block has been received, a cache <em class="bcp14">MAY</em> store an incomplete response message body if the cache entry is recorded as incomplete. Likewise, a <a href="p5-range.html#status.206" class="smpl">206 (Partial Content)</a> response <em class="bcp14">MAY</em> be stored as if it were an incomplete <a href="p2-semantics.html#status.200" class="smpl">200 891 874 (OK)</a> cache entry. However, a cache <em class="bcp14">MUST NOT</em> store incomplete or partial content responses if it does not support the <a href="p5-range.html#range.retrieval.requests" class="smpl">Range</a> and <a href="p5-range.html#header.content-range" class="smpl">Content-Range</a> header fields or if it does not understand the range units used in those fields. … … 907 890 </p> 908 891 <ul> 909 <li>The presented effective request URI (<a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 5.5</a> of <a href="#Part1" id="rfc.xref.Part1. 12"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>) and that of the stored response match, and892 <li>The presented effective request URI (<a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 5.5</a> of <a href="#Part1" id="rfc.xref.Part1.4"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>) and that of the stored response match, and 910 893 </li> 911 894 <li>the request method associated with the stored response allows it to be used for the presented request, and</li> … … 931 914 <p id="rfc.section.4.p.3">When a stored response is used to satisfy a request without validation, a cache <em class="bcp14">MUST</em> include a single <a href="#header.age" class="smpl">Age</a> header field (<a href="#header.age" id="rfc.xref.header.age.1" title="Age">Section 7.1</a>) in the response with a value equal to the stored response's current_age; see <a href="#age.calculations" title="Calculating Age">Section 4.1.3</a>. 932 915 </p> 933 <p id="rfc.section.4.p.4">A cache <em class="bcp14">MUST</em> write through requests with methods that are unsafe (<a href="p2-semantics.html#safe.methods" title="Safe Methods">Section 2.1.1</a> of <a href="#Part2" id="rfc.xref.Part2. 3"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>) to the origin server; i.e., a cache is not allowed to generate a reply to such a request before having forwarded the request916 <p id="rfc.section.4.p.4">A cache <em class="bcp14">MUST</em> write through requests with methods that are unsafe (<a href="p2-semantics.html#safe.methods" title="Safe Methods">Section 2.1.1</a> of <a href="#Part2" id="rfc.xref.Part2.2"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>) to the origin server; i.e., a cache is not allowed to generate a reply to such a request before having forwarded the request 934 917 and having received a corresponding response. 935 918 </p> … … 957 940 constraints on their results. 958 941 </p> 959 <div id="rfc.figure.u. 4"></div>942 <div id="rfc.figure.u.2"></div> 960 943 <p>The calculation to determine if a response is fresh is:</p> <pre class="text"> response_is_fresh = (freshness_lifetime > current_age) 961 944 </pre> <p id="rfc.section.4.1.p.6">The freshness_lifetime is defined in <a href="#calculating.freshness.lifetime" title="Calculating Freshness Lifetime">Section 4.1.1</a>; the current_age is defined in <a href="#age.calculations" title="Calculating Age">Section 4.1.3</a>. … … 985 968 <h3 id="rfc.section.4.1.2"><a href="#rfc.section.4.1.2">4.1.2</a> <a id="heuristic.freshness" href="#heuristic.freshness">Calculating Heuristic Freshness</a></h3> 986 969 <p id="rfc.section.4.1.2.p.1">If no explicit expiration time is present in a stored response that has a status code whose definition allows heuristic freshness 987 to be used (including the following in <a href="p2-semantics.html#status.codes" title="Status Codes">Section 4</a> of <a href="#Part2" id="rfc.xref.Part2. 4"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>: <a href="p2-semantics.html#status.200" class="smpl">200 (OK)</a>, <a href="p2-semantics.html#status.203" class="smpl">203 (Non-Authoritative Information)</a>, <a href="p5-range.html#status.206" class="smpl">206 (Partial970 to be used (including the following in <a href="p2-semantics.html#status.codes" title="Status Codes">Section 4</a> of <a href="#Part2" id="rfc.xref.Part2.3"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>: <a href="p2-semantics.html#status.200" class="smpl">200 (OK)</a>, <a href="p2-semantics.html#status.203" class="smpl">203 (Non-Authoritative Information)</a>, <a href="p5-range.html#status.206" class="smpl">206 (Partial 988 971 Content)</a>, <a href="p2-semantics.html#status.300" class="smpl">300 (Multiple Choices)</a>, <a href="p2-semantics.html#status.301" class="smpl">301 (Moved 989 972 Permanently)</a> and <a href="p2-semantics.html#status.410" class="smpl">410 (Gone)</a>), a cache <em class="bcp14">MAY</em> calculate a heuristic expiration time. A cache <em class="bcp14">MUST NOT</em> use heuristics to determine freshness for responses with status codes that do not explicitly allow it. … … 1018 1001 <ul class="empty"> 1019 1002 <li>HTTP/1.1 requires origin servers to send a <a href="p2-semantics.html#header.date" class="smpl">Date</a> header field, if possible, with every response, giving the time at which the response was generated. The term "date_value" 1020 denotes the value of the Date header field, in a form appropriate for arithmetic operations. See <a href="p2-semantics.html#header.date" title="Date">Section 9.10</a> of <a href="#Part2" id="rfc.xref.Part2. 5"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a> for the definition of the Date header field, and for requirements regarding responses without it.1003 denotes the value of the Date header field, in a form appropriate for arithmetic operations. See <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: Semantics and Payloads">[Part2]</cite></a> for the definition of the Date header field, and for requirements regarding responses without it. 1021 1004 </li> 1022 1005 </ul> … … 1045 1028 </li> 1046 1029 </ol> 1047 <div id="rfc.figure.u. 5"></div> <pre class="text"> apparent_age = max(0, response_time - date_value);1030 <div id="rfc.figure.u.3"></div> <pre class="text"> apparent_age = max(0, response_time - date_value); 1048 1031 1049 1032 response_delay = response_time - request_time; 1050 1033 corrected_age_value = age_value + response_delay; 1051 </pre> <div id="rfc.figure.u. 6"></div>1034 </pre> <div id="rfc.figure.u.4"></div> 1052 1035 <p>These <em class="bcp14">SHOULD</em> be combined as 1053 1036 </p> <pre class="text"> corrected_initial_age = max(apparent_age, corrected_age_value); … … 1057 1040 was last validated by the origin server to the corrected_initial_age. 1058 1041 </p> 1059 <div id="rfc.figure.u. 7"></div><pre class="text"> resident_time = now - response_time;1042 <div id="rfc.figure.u.5"></div><pre class="text"> resident_time = now - response_time; 1060 1043 current_age = corrected_initial_age + resident_time; 1061 1044 </pre><p id="rfc.section.4.1.3.p.14">Additionally, to avoid common problems in date parsing:</p> … … 1149 1132 <ul> 1150 1133 <li>adding or removing whitespace, where allowed in the header field's syntax</li> 1151 <li>combining multiple header fields with the same field name (see <a href="p1-messaging.html#header.fields" title="Header Fields">Section 3.2</a> of <a href="#Part1" id="rfc.xref.Part1. 13"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>)1134 <li>combining multiple header fields with the same field name (see <a href="p1-messaging.html#header.fields" title="Header Fields">Section 3.2</a> of <a href="#Part1" id="rfc.xref.Part1.5"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>) 1152 1135 </li> 1153 1136 <li>normalizing both header field values in a way that is known to have identical semantics, according to the header field's specification … … 1200 1183 </ul> 1201 1184 <h1 id="rfc.section.6"><a href="#rfc.section.6">6.</a> <a id="invalidation.after.updates.or.deletions" href="#invalidation.after.updates.or.deletions">Request Methods that Invalidate</a></h1> 1202 <p id="rfc.section.6.p.1">Because unsafe request methods (<a href="p2-semantics.html#safe.methods" title="Safe Methods">Section 2.1.1</a> of <a href="#Part2" id="rfc.xref.Part2. 6"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>) such as PUT, POST or DELETE have the potential for changing state on the origin server, intervening caches can use them1185 <p id="rfc.section.6.p.1">Because unsafe request methods (<a href="p2-semantics.html#safe.methods" title="Safe Methods">Section 2.1.1</a> of <a href="#Part2" id="rfc.xref.Part2.5"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>) such as PUT, POST or DELETE have the potential for changing state on the origin server, intervening caches can use them 1203 1186 to keep their contents up-to-date. 1204 1187 </p> 1205 <p id="rfc.section.6.p.2">A cache <em class="bcp14">MUST</em> invalidate the effective Request URI (<a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 5.5</a> of <a href="#Part1" id="rfc.xref.Part1. 14"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>) as well as the URI(s) in the <a href="p2-semantics.html#header.location" class="smpl">Location</a> and <a href="p2-semantics.html#header.content-location" class="smpl">Content-Location</a> response header fields (if present) when a non-error response to a request with an unsafe method is received.1206 </p> 1207 <p id="rfc.section.6.p.3">However, a cache <em class="bcp14">MUST NOT</em> invalidate a URI from a <a href="p2-semantics.html#header.location" class="smpl">Location</a> or <a href="p2-semantics.html#header.content-location" class="smpl">Content-Location</a> response header field if the host part of that URI differs from the host part in the effective request URI (<a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 5.5</a> of <a href="#Part1" id="rfc.xref.Part1. 15"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>). This helps prevent denial of service attacks.1208 </p> 1209 <p id="rfc.section.6.p.4">A cache <em class="bcp14">MUST</em> invalidate the effective request URI (<a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 5.5</a> of <a href="#Part1" id="rfc.xref.Part1. 16"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>) when it receives a non-error response to a request with a method whose safety is unknown.1188 <p id="rfc.section.6.p.2">A cache <em class="bcp14">MUST</em> invalidate the effective Request URI (<a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 5.5</a> of <a href="#Part1" id="rfc.xref.Part1.6"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>) as well as the URI(s) in the <a href="p2-semantics.html#header.location" class="smpl">Location</a> and <a href="p2-semantics.html#header.content-location" class="smpl">Content-Location</a> response header fields (if present) when a non-error response to a request with an unsafe method is received. 1189 </p> 1190 <p id="rfc.section.6.p.3">However, a cache <em class="bcp14">MUST NOT</em> invalidate a URI from a <a href="p2-semantics.html#header.location" class="smpl">Location</a> or <a href="p2-semantics.html#header.content-location" class="smpl">Content-Location</a> response header field if the host part of that URI differs from the host part in the effective request URI (<a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 5.5</a> of <a href="#Part1" id="rfc.xref.Part1.7"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>). This helps prevent denial of service attacks. 1191 </p> 1192 <p id="rfc.section.6.p.4">A cache <em class="bcp14">MUST</em> invalidate the effective request URI (<a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 5.5</a> of <a href="#Part1" id="rfc.xref.Part1.8"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>) when it receives a non-error response to a request with a method whose safety is unknown. 1210 1193 </p> 1211 1194 <p id="rfc.section.6.p.5">Here, a "non-error response" is one with a <a href="p2-semantics.html#status.2xx" class="smpl">2xx (Successful)</a> or <a href="p2-semantics.html#status.3xx" class="smpl">3xx (Redirection)</a> status code. "Invalidate" means that the cache will either remove all stored responses related to the effective request URI, … … 1224 1207 validated at the origin server. Age values are calculated as specified in <a href="#age.calculations" title="Calculating Age">Section 4.1.3</a>. 1225 1208 </p> 1226 <div id="rfc.figure.u. 8"></div><pre class="inline"><span id="rfc.iref.g.2"></span> <a href="#header.age" class="smpl">Age</a> = <a href="#delta-seconds" class="smpl">delta-seconds</a>1227 </pre><p id="rfc.section.7.1.p.3">Age field-values are non-negative integers, representing time in seconds (see <a href="#delta-seconds" title="Delta Seconds">Section 1.4. 3</a>).1209 <div id="rfc.figure.u.6"></div><pre class="inline"><span id="rfc.iref.g.2"></span> <a href="#header.age" class="smpl">Age</a> = <a href="#delta-seconds" class="smpl">delta-seconds</a> 1210 </pre><p id="rfc.section.7.1.p.3">Age field-values are non-negative integers, representing time in seconds (see <a href="#delta-seconds" title="Delta Seconds">Section 1.4.1</a>). 1228 1211 </p> 1229 1212 <p id="rfc.section.7.1.p.4">The presence of an Age header field in a response implies that a response is not first-hand. However, the converse is not … … 1251 1234 forms, even if one is documented to be preferred. For any directive not defined by this specification, recipients <em class="bcp14">MUST</em> accept both forms. 1252 1235 </p> 1253 <div id="rfc.figure.u. 9"></div><pre class="inline"><span id="rfc.iref.g.3"></span><span id="rfc.iref.g.4"></span> <a href="#header.cache-control" class="smpl">Cache-Control</a> = 1#<a href="#header.cache-control" class="smpl">cache-directive</a>1254 1255 <a href="#header.cache-control" class="smpl">cache-directive</a> = <a href="# core.rules" class="smpl">token</a> [ "=" ( <a href="#core.rules" class="smpl">token</a> / <a href="#core.rules" class="smpl">quoted-string</a> ) ]1236 <div id="rfc.figure.u.7"></div><pre class="inline"><span id="rfc.iref.g.3"></span><span id="rfc.iref.g.4"></span> <a href="#header.cache-control" class="smpl">Cache-Control</a> = 1#<a href="#header.cache-control" class="smpl">cache-directive</a> 1237 1238 <a href="#header.cache-control" class="smpl">cache-directive</a> = <a href="#imported.abnf" class="smpl">token</a> [ "=" ( <a href="#imported.abnf" class="smpl">token</a> / <a href="#imported.abnf" class="smpl">quoted-string</a> ) ] 1256 1239 </pre><p id="rfc.section.7.2.p.7">For the cache directives defined below, no argument is defined (nor allowed) otherwise stated otherwise.</p> 1257 1240 <h3 id="rfc.section.7.2.1"><a href="#rfc.section.7.2.1">7.2.1</a> <a id="cache-request-directive" href="#cache-request-directive">Request Cache-Control Directives</a></h3> … … 1277 1260 <p id="rfc.section.7.2.1.3.p.1">Argument syntax: </p> 1278 1261 <ul class="empty"> 1279 <li> <a href="#delta-seconds" class="smpl">delta-seconds</a> (see <a href="#delta-seconds" title="Delta Seconds">Section 1.4. 3</a>)1262 <li> <a href="#delta-seconds" class="smpl">delta-seconds</a> (see <a href="#delta-seconds" title="Delta Seconds">Section 1.4.1</a>) 1280 1263 </li> 1281 1264 </ul> … … 1291 1274 <p id="rfc.section.7.2.1.4.p.1">Argument syntax: </p> 1292 1275 <ul class="empty"> 1293 <li> <a href="#delta-seconds" class="smpl">delta-seconds</a> (see <a href="#delta-seconds" title="Delta Seconds">Section 1.4. 3</a>)1276 <li> <a href="#delta-seconds" class="smpl">delta-seconds</a> (see <a href="#delta-seconds" title="Delta Seconds">Section 1.4.1</a>) 1294 1277 </li> 1295 1278 </ul> … … 1306 1289 <p id="rfc.section.7.2.1.5.p.1">Argument syntax: </p> 1307 1290 <ul class="empty"> 1308 <li> <a href="#delta-seconds" class="smpl">delta-seconds</a> (see <a href="#delta-seconds" title="Delta Seconds">Section 1.4. 3</a>)1291 <li> <a href="#delta-seconds" class="smpl">delta-seconds</a> (see <a href="#delta-seconds" title="Delta Seconds">Section 1.4.1</a>) 1309 1292 </li> 1310 1293 </ul> … … 1338 1321 <p id="rfc.section.7.2.2.2.p.1">Argument syntax: </p> 1339 1322 <ul class="empty"> 1340 <li>#<a href="# abnf.dependencies" class="smpl">field-name</a>1323 <li>#<a href="#imported.abnf" class="smpl">field-name</a> 1341 1324 </li> 1342 1325 </ul> … … 1360 1343 <p id="rfc.section.7.2.2.3.p.1">Argument syntax: </p> 1361 1344 <ul class="empty"> 1362 <li>#<a href="# abnf.dependencies" class="smpl">field-name</a>1345 <li>#<a href="#imported.abnf" class="smpl">field-name</a> 1363 1346 </li> 1364 1347 </ul> … … 1410 1393 <p id="rfc.section.7.2.2.7.p.1">Argument syntax: </p> 1411 1394 <ul class="empty"> 1412 <li> <a href="#delta-seconds" class="smpl">delta-seconds</a> (see <a href="#delta-seconds" title="Delta Seconds">Section 1.4. 3</a>)1395 <li> <a href="#delta-seconds" class="smpl">delta-seconds</a> (see <a href="#delta-seconds" title="Delta Seconds">Section 1.4.1</a>) 1413 1396 </li> 1414 1397 </ul> … … 1423 1406 <p id="rfc.section.7.2.2.8.p.1">Argument syntax: </p> 1424 1407 <ul class="empty"> 1425 <li> <a href="#delta-seconds" class="smpl">delta-seconds</a> (see <a href="#delta-seconds" title="Delta Seconds">Section 1.4. 3</a>)1408 <li> <a href="#delta-seconds" class="smpl">delta-seconds</a> (see <a href="#delta-seconds" title="Delta Seconds">Section 1.4.1</a>) 1426 1409 </li> 1427 1410 </ul> … … 1453 1436 use an otherwise private response in their shared cache(s) could do so by including 1454 1437 </p> 1455 <div id="rfc.figure.u. 10"></div><pre class="text"> Cache-Control: private, community="UCI"1438 <div id="rfc.figure.u.8"></div><pre class="text"> Cache-Control: private, community="UCI" 1456 1439 </pre><p id="rfc.section.7.2.3.p.5">A cache seeing this header field will act correctly even if the cache does not understand the community cache-extension, since 1457 1440 it will also see and understand the private directive and thus default to the safe behavior. … … 1487 1470 that time. 1488 1471 </p> 1489 <p id="rfc.section.7.3.p.3">The field-value is an absolute date and time as defined by HTTP-date in <a href="p2-semantics.html#http.date" title="Date/Time Formats">Section 5.1</a> of <a href="#Part2" id="rfc.xref.Part2. 7"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>; a sender <em class="bcp14">MUST</em> use the rfc1123-date format.1490 </p> 1491 <div id="rfc.figure.u. 11"></div><pre class="inline"><span id="rfc.iref.g.5"></span> <a href="#header.expires" class="smpl">Expires</a> = <a href="#abnf.dependencies" class="smpl">HTTP-date</a>1492 </pre><div id="rfc.figure.u.1 2"></div>1472 <p id="rfc.section.7.3.p.3">The field-value is an absolute date and time as defined by HTTP-date in <a href="p2-semantics.html#http.date" title="Date/Time Formats">Section 5.1</a> of <a href="#Part2" id="rfc.xref.Part2.6"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>; a sender <em class="bcp14">MUST</em> use the rfc1123-date format. 1473 </p> 1474 <div id="rfc.figure.u.9"></div><pre class="inline"><span id="rfc.iref.g.5"></span> <a href="#header.expires" class="smpl">Expires</a> = <a href="#imported.abnf" class="smpl">HTTP-date</a> 1475 </pre><div id="rfc.figure.u.10"></div> 1493 1476 <p>For example</p> <pre class="text"> Expires: Thu, 01 Dec 1994 16:00:00 GMT 1494 1477 </pre><p id="rfc.section.7.3.p.6">A cache <em class="bcp14">MUST</em> treat other invalid date formats, especially including the value "0", as in the past (i.e., "already expired"). … … 1517 1500 deprecates such extensions to improve interoperability. 1518 1501 </p> 1519 <div id="rfc.figure.u.1 3"></div><pre class="inline"><span id="rfc.iref.g.6"></span><span id="rfc.iref.g.7"></span><span id="rfc.iref.g.8"></span> <a href="#header.pragma" class="smpl">Pragma</a> = 1#<a href="#header.pragma" class="smpl">pragma-directive</a>1502 <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.6"></span><span id="rfc.iref.g.7"></span><span id="rfc.iref.g.8"></span> <a href="#header.pragma" class="smpl">Pragma</a> = 1#<a href="#header.pragma" class="smpl">pragma-directive</a> 1520 1503 <a href="#header.pragma" class="smpl">pragma-directive</a> = "no-cache" / <a href="#header.pragma" class="smpl">extension-pragma</a> 1521 <a href="#header.pragma" class="smpl">extension-pragma</a> = <a href="# core.rules" class="smpl">token</a> [ "=" ( <a href="#core.rules" class="smpl">token</a> / <a href="#core.rules" class="smpl">quoted-string</a> ) ]1504 <a href="#header.pragma" class="smpl">extension-pragma</a> = <a href="#imported.abnf" class="smpl">token</a> [ "=" ( <a href="#imported.abnf" class="smpl">token</a> / <a href="#imported.abnf" class="smpl">quoted-string</a> ) ] 1522 1505 </pre><p id="rfc.section.7.4.p.4">When the <a href="#header.cache-control" class="smpl">Cache-Control</a> header field is not present in a request, the no-cache request pragma-directive <em class="bcp14">MUST</em> have the same effect on caches as if "Cache-Control: no-cache" were present (see <a href="#cache-request-directive" title="Request Cache-Control Directives">Section 7.2.1</a>). 1523 1506 </p> … … 1525 1508 no-cache is purposefully omitted to target other <a href="#header.cache-control" class="smpl">Cache-Control</a> response directives at HTTP/1.1 caches. For example: 1526 1509 </p> 1527 <div id="rfc.figure.u.1 4"></div> <pre class="text">GET / HTTP/1.11510 <div id="rfc.figure.u.12"></div> <pre class="text">GET / HTTP/1.1 1528 1511 Host: www.example.com 1529 1512 Cache-Control: max-age=30 … … 1547 1530 the representation. 1548 1531 </p> 1549 <div id="rfc.figure.u.1 5"></div><pre class="inline"><span id="rfc.iref.g.9"></span> <a href="#header.vary" class="smpl">Vary</a> = "*" / 1#<a href="#abnf.dependencies" class="smpl">field-name</a>1532 <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.9"></span> <a href="#header.vary" class="smpl">Vary</a> = "*" / 1#<a href="#imported.abnf" class="smpl">field-name</a> 1550 1533 </pre><p id="rfc.section.7.5.p.5">The set of header fields named by the Vary field value is known as the selecting header fields.</p> 1551 1534 <p id="rfc.section.7.5.p.6">A server <em class="bcp14">SHOULD</em> include a Vary header field with any cacheable response that is subject to server-driven negotiation. Doing so allows a cache … … 1574 1557 be applied to response messages. 1575 1558 </p> 1576 <div id="rfc.figure.u.1 6"></div><pre class="inline"><span id="rfc.iref.g.10"></span><span id="rfc.iref.g.11"></span><span id="rfc.iref.g.12"></span><span id="rfc.iref.g.13"></span><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span> <a href="#header.warning" class="smpl">Warning</a> = 1#<a href="#header.warning" class="smpl">warning-value</a>1559 <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.10"></span><span id="rfc.iref.g.11"></span><span id="rfc.iref.g.12"></span><span id="rfc.iref.g.13"></span><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span> <a href="#header.warning" class="smpl">Warning</a> = 1#<a href="#header.warning" class="smpl">warning-value</a> 1577 1560 1578 <a href="#header.warning" class="smpl">warning-value</a> = <a href="#header.warning" class="smpl">warn-code</a> <a href="# notation" class="smpl">SP</a> <a href="#header.warning" class="smpl">warn-agent</a> <a href="#notation" class="smpl">SP</a> <a href="#header.warning" class="smpl">warn-text</a>1579 [<a href="# notation" class="smpl">SP</a> <a href="#header.warning" class="smpl">warn-date</a>]1561 <a href="#header.warning" class="smpl">warning-value</a> = <a href="#header.warning" class="smpl">warn-code</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#header.warning" class="smpl">warn-agent</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#header.warning" class="smpl">warn-text</a> 1562 [<a href="#imported.abnf" class="smpl">SP</a> <a href="#header.warning" class="smpl">warn-date</a>] 1580 1563 1581 <a href="#header.warning" class="smpl">warn-code</a> = 3<a href="# notation" class="smpl">DIGIT</a>1582 <a href="#header.warning" class="smpl">warn-agent</a> = ( <a href="# abnf.dependencies" class="smpl">uri-host</a> [ ":" <a href="#abnf.dependencies" class="smpl">port</a> ] ) / <a href="#abnf.dependencies" class="smpl">pseudonym</a>1564 <a href="#header.warning" class="smpl">warn-code</a> = 3<a href="#imported.abnf" class="smpl">DIGIT</a> 1565 <a href="#header.warning" class="smpl">warn-agent</a> = ( <a href="#imported.abnf" class="smpl">uri-host</a> [ ":" <a href="#imported.abnf" class="smpl">port</a> ] ) / <a href="#imported.abnf" class="smpl">pseudonym</a> 1583 1566 ; the name or pseudonym of the server adding 1584 1567 ; the Warning header field, for use in debugging 1585 <a href="#header.warning" class="smpl">warn-text</a> = <a href="# core.rules" class="smpl">quoted-string</a>1586 <a href="#header.warning" class="smpl">warn-date</a> = <a href="# notation" class="smpl">DQUOTE</a> <a href="#abnf.dependencies" class="smpl">HTTP-date</a> <a href="#notation" class="smpl">DQUOTE</a>1568 <a href="#header.warning" class="smpl">warn-text</a> = <a href="#imported.abnf" class="smpl">quoted-string</a> 1569 <a href="#header.warning" class="smpl">warn-date</a> = <a href="#imported.abnf" class="smpl">DQUOTE</a> <a href="#imported.abnf" class="smpl">HTTP-date</a> <a href="#imported.abnf" class="smpl">DQUOTE</a> 1587 1570 </pre><p id="rfc.section.7.6.p.5">Multiple warnings can be attached to a response (either by the origin server or by a cache), including multiple warnings with 1588 1571 the same code number, only differing in warn-text. … … 1891 1874 </p> 1892 1875 <h1 id="rfc.section.11"><a href="#rfc.section.11">11.</a> <a id="acks" href="#acks">Acknowledgments</a></h1> 1893 <p id="rfc.section.11.p.1">See <a href="p1-messaging.html#acks" title="Acknowledgments">Section 9</a> of <a href="#Part1" id="rfc.xref.Part1. 17"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>.1876 <p id="rfc.section.11.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: Message Routing and Syntax"">[Part1]</cite></a>. 1894 1877 </p> 1895 1878 <h1 id="rfc.references"><a id="rfc.section.12" href="#rfc.section.12">12.</a> References … … 1991 1974 <p id="rfc.section.A.p.6">Introduce Cache Directive and Warn Code Registries. (<a href="#cache.control.extensions" title="Cache Control Extensions">Section 7.2.3</a> and <a href="#warn.code.extensions" title="Warn Code Extensions">Section 7.6.8</a>) 1992 1975 </p> 1993 <h1 id="rfc.section.B"><a href="#rfc.section.B">B.</a> <a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1> 1976 <h1 id="rfc.section.B"><a href="#rfc.section.B">B.</a> <a id="imported.abnf" href="#imported.abnf">Imported ABNF</a></h1> 1977 <p id="rfc.section.B.p.1">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 1978 (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 1979 character). 1980 </p> 1981 <p id="rfc.section.B.p.2">The rules below are defined in <a href="#Part1" id="rfc.xref.Part1.10"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>: 1982 </p> 1983 <div id="rfc.figure.u.15"></div><pre class="inline"> <a href="#imported.abnf" class="smpl">OWS</a> = <OWS, defined in <a href="#Part1" id="rfc.xref.Part1.11"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>> 1984 <a href="#imported.abnf" class="smpl">field-name</a> = <field-name, defined in <a href="#Part1" id="rfc.xref.Part1.12"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#header.fields" title="Header Fields">Section 3.2</a>> 1985 <a href="#imported.abnf" class="smpl">quoted-string</a> = <quoted-string, defined in <a href="#Part1" id="rfc.xref.Part1.13"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>> 1986 <a href="#imported.abnf" class="smpl">token</a> = <token, defined in <a href="#Part1" id="rfc.xref.Part1.14"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>> 1987 1988 <a href="#imported.abnf" class="smpl">port</a> = <port, defined in <a href="#Part1" id="rfc.xref.Part1.15"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.8</a>> 1989 <a href="#imported.abnf" class="smpl">pseudonym</a> = <pseudonym, defined in <a href="#Part1" id="rfc.xref.Part1.16"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#header.via" title="Via">Section 6.2</a>> 1990 <a href="#imported.abnf" class="smpl">uri-host</a> = <uri-host, defined in <a href="#Part1" id="rfc.xref.Part1.17"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.8</a>> 1991 </pre><p id="rfc.section.B.p.4">The rules below are defined in other parts:</p> 1992 <div id="rfc.figure.u.16"></div><pre class="inline"> <a href="#imported.abnf" class="smpl">HTTP-date</a> = <HTTP-date, defined in <a href="#Part2" id="rfc.xref.Part2.7"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>, <a href="p2-semantics.html#http.date" title="Date/Time Formats">Section 5.1</a>> 1993 </pre><h1 id="rfc.section.C"><a href="#rfc.section.C">C.</a> <a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1> 1994 1994 <div id="rfc.figure.u.17"></div> <pre class="inline"><a href="#header.age" class="smpl">Age</a> = delta-seconds 1995 1995 … … 1999 1999 <a href="#header.expires" class="smpl">Expires</a> = HTTP-date 2000 2000 2001 <a href="# abnf.dependencies" class="smpl">HTTP-date</a> = <HTTP-date, defined in [Part2], Section 5.1>2002 2003 <a href="# core.rules" class="smpl">OWS</a> = <OWS, defined in [Part1], Section 3.2.1>2001 <a href="#imported.abnf" class="smpl">HTTP-date</a> = <HTTP-date, defined in [Part2], Section 5.1> 2002 2003 <a href="#imported.abnf" class="smpl">OWS</a> = <OWS, defined in [Part1], Section 3.2.1> 2004 2004 2005 2005 <a href="#header.pragma" class="smpl">Pragma</a> = *( "," OWS ) pragma-directive *( OWS "," [ OWS … … 2018 2018 <a href="#header.pragma" class="smpl">extension-pragma</a> = token [ "=" ( token / quoted-string ) ] 2019 2019 2020 <a href="# abnf.dependencies" class="smpl">field-name</a> = <field-name, defined in [Part1], Section 3.2>2021 2022 <a href="# abnf.dependencies" class="smpl">port</a> = <port, defined in [Part1], Section 2.8>2020 <a href="#imported.abnf" class="smpl">field-name</a> = <field-name, defined in [Part1], Section 3.2> 2021 2022 <a href="#imported.abnf" class="smpl">port</a> = <port, defined in [Part1], Section 2.8> 2023 2023 <a href="#header.pragma" class="smpl">pragma-directive</a> = "no-cache" / extension-pragma 2024 <a href="# abnf.dependencies" class="smpl">pseudonym</a> = <pseudonym, defined in [Part1], Section 6.2>2025 2026 <a href="# core.rules" class="smpl">quoted-string</a> = <quoted-string, defined in [Part1], Section 3.2.4>2027 2028 <a href="# core.rules" class="smpl">token</a> = <token, defined in [Part1], Section 3.2.4>2029 2030 <a href="# abnf.dependencies" class="smpl">uri-host</a> = <uri-host, defined in [Part1], Section 2.8>2024 <a href="#imported.abnf" class="smpl">pseudonym</a> = <pseudonym, defined in [Part1], Section 6.2> 2025 2026 <a href="#imported.abnf" class="smpl">quoted-string</a> = <quoted-string, defined in [Part1], Section 3.2.4> 2027 2028 <a href="#imported.abnf" class="smpl">token</a> = <token, defined in [Part1], Section 3.2.4> 2029 2030 <a href="#imported.abnf" class="smpl">uri-host</a> = <uri-host, defined in [Part1], Section 2.8> 2031 2031 2032 2032 <a href="#header.warning" class="smpl">warn-agent</a> = ( uri-host [ ":" port ] ) / pseudonym … … 2036 2036 <a href="#header.warning" class="smpl">warning-value</a> = warn-code SP warn-agent SP warn-text [ SP warn-date 2037 2037 ] 2038 </pre> <h1 id="rfc.section. C"><a href="#rfc.section.C">C.</a> <a id="change.log" href="#change.log">Change Log (to be removed by RFC Editor before publication)</a></h1>2039 <p id="rfc.section. C.p.1">Changes up to the first Working Group Last Call draft are summarized in <<a href="http://trac.tools.ietf.org/html/draft-ietf-httpbis-p6-cache-19#appendix-C">http://trac.tools.ietf.org/html/draft-ietf-httpbis-p6-cache-19#appendix-C</a>>.2040 </p> 2041 <h2 id="rfc.section. C.1"><a href="#rfc.section.C.1">C.1</a> <a id="changes.since.19" href="#changes.since.19">Since draft-ietf-httpbis-p6-cache-19</a></h2>2042 <p id="rfc.section. C.1.p.1">Closed issues: </p>2038 </pre> <h1 id="rfc.section.D"><a href="#rfc.section.D">D.</a> <a id="change.log" href="#change.log">Change Log (to be removed by RFC Editor before publication)</a></h1> 2039 <p id="rfc.section.D.p.1">Changes up to the first Working Group Last Call draft are summarized in <<a href="http://trac.tools.ietf.org/html/draft-ietf-httpbis-p6-cache-19#appendix-C">http://trac.tools.ietf.org/html/draft-ietf-httpbis-p6-cache-19#appendix-C</a>>. 2040 </p> 2041 <h2 id="rfc.section.D.1"><a href="#rfc.section.D.1">D.1</a> <a id="changes.since.19" href="#changes.since.19">Since draft-ietf-httpbis-p6-cache-19</a></h2> 2042 <p id="rfc.section.D.1.p.1">Closed issues: </p> 2043 2043 <ul> 2044 2044 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/307">http://tools.ietf.org/wg/httpbis/trac/ticket/307</a>>: "untangle Cache-Control ABNF" … … 2121 2121 <li><tt>Cache-Control</tt> <a href="#rfc.iref.g.3"><b>7.2</b></a></li> 2122 2122 <li><tt>cache-directive</tt> <a href="#rfc.iref.g.4"><b>7.2</b></a></li> 2123 <li><tt>delta-seconds</tt> <a href="#rfc.iref.g.1"><b>1.4. 3</b></a></li>2123 <li><tt>delta-seconds</tt> <a href="#rfc.iref.g.1"><b>1.4.1</b></a></li> 2124 2124 <li><tt>Expires</tt> <a href="#rfc.iref.g.5"><b>7.3</b></a></li> 2125 2125 <li><tt>extension-pragma</tt> <a href="#rfc.iref.g.8"><b>7.4</b></a></li> … … 2201 2201 </li> 2202 2202 <li><a id="rfc.index.P" href="#rfc.index.P"><b>P</b></a><ul> 2203 <li><em>Part1</em> <a href="#rfc.xref.Part1.1">1.3</a>, <a href="#rfc.xref.Part1.2">1.4</a>, <a href="#rfc.xref.Part1.3"> 1.4.1</a>, <a href="#rfc.xref.Part1.4">1.4.1</a>, <a href="#rfc.xref.Part1.5">1.4.1</a>, <a href="#rfc.xref.Part1.6">1.4.1</a>, <a href="#rfc.xref.Part1.7">1.4.2</a>, <a href="#rfc.xref.Part1.8">1.4.2</a>, <a href="#rfc.xref.Part1.9">1.4.2</a>, <a href="#rfc.xref.Part1.10">1.4.2</a>, <a href="#rfc.xref.Part1.11">3.1</a>, <a href="#rfc.xref.Part1.12">4</a>, <a href="#rfc.xref.Part1.13">4.3</a>, <a href="#rfc.xref.Part1.14">6</a>, <a href="#rfc.xref.Part1.15">6</a>, <a href="#rfc.xref.Part1.16">6</a>, <a href="#rfc.xref.Part1.17">11</a>, <a href="#Part1"><b>12.1</b></a><ul>2203 <li><em>Part1</em> <a href="#rfc.xref.Part1.1">1.3</a>, <a href="#rfc.xref.Part1.2">1.4</a>, <a href="#rfc.xref.Part1.3">3.1</a>, <a href="#rfc.xref.Part1.4">4</a>, <a href="#rfc.xref.Part1.5">4.3</a>, <a href="#rfc.xref.Part1.6">6</a>, <a href="#rfc.xref.Part1.7">6</a>, <a href="#rfc.xref.Part1.8">6</a>, <a href="#rfc.xref.Part1.9">11</a>, <a href="#Part1"><b>12.1</b></a>, <a href="#rfc.xref.Part1.10">B</a>, <a href="#rfc.xref.Part1.11">B</a>, <a href="#rfc.xref.Part1.12">B</a>, <a href="#rfc.xref.Part1.13">B</a>, <a href="#rfc.xref.Part1.14">B</a>, <a href="#rfc.xref.Part1.15">B</a>, <a href="#rfc.xref.Part1.16">B</a>, <a href="#rfc.xref.Part1.17">B</a><ul> 2204 2204 <li><em>Section 1.2</em> <a href="#rfc.xref.Part1.2">1.4</a></li> 2205 2205 <li><em>Section 2</em> <a href="#rfc.xref.Part1.1">1.3</a></li> 2206 <li><em>Section 2.8</em> <a href="#rfc.xref.Part1. 8">1.4.2</a>, <a href="#rfc.xref.Part1.10">1.4.2</a></li>2207 <li><em>Section 3.2 .1</em> <a href="#rfc.xref.Part1.4">1.4.1</a></li>2208 <li><em>Section 3.2 </em> <a href="#rfc.xref.Part1.7">1.4.2</a>, <a href="#rfc.xref.Part1.13">4.3</a></li>2209 <li><em>Section 3.2.4</em> <a href="#rfc.xref.Part1. 5">1.4.1</a>, <a href="#rfc.xref.Part1.6">1.4.1</a></li>2210 <li><em>Section 5.5</em> <a href="#rfc.xref.Part1. 12">4</a>, <a href="#rfc.xref.Part1.14">6</a>, <a href="#rfc.xref.Part1.15">6</a>, <a href="#rfc.xref.Part1.16">6</a></li>2211 <li><em>Section 6.2</em> <a href="#rfc.xref.Part1. 9">1.4.2</a></li>2212 <li><em>Section 9</em> <a href="#rfc.xref.Part1. 17">11</a></li>2213 </ul> 2214 </li> 2215 <li><em>Part2</em> <a href="#rfc.xref.Part2.1"> 1.4.2</a>, <a href="#rfc.xref.Part2.2">2</a>, <a href="#rfc.xref.Part2.3">4</a>, <a href="#rfc.xref.Part2.4">4.1.2</a>, <a href="#rfc.xref.Part2.5">4.1.3</a>, <a href="#rfc.xref.Part2.6">6</a>, <a href="#rfc.xref.Part2.7">7.3</a>, <a href="#Part2"><b>12.1</b></a><ul>2216 <li><em>Section 2.1.1</em> <a href="#rfc.xref.Part2. 3">4</a>, <a href="#rfc.xref.Part2.6">6</a></li>2217 <li><em>Section 4</em> <a href="#rfc.xref.Part2. 4">4.1.2</a></li>2218 <li><em>Section 5.1</em> <a href="#rfc.xref.Part2. 1">1.4.2</a>, <a href="#rfc.xref.Part2.7">7.3</a></li>2219 <li><em>Section 9.10</em> <a href="#rfc.xref.Part2. 5">4.1.3</a></li>2206 <li><em>Section 2.8</em> <a href="#rfc.xref.Part1.15">B</a>, <a href="#rfc.xref.Part1.17">B</a></li> 2207 <li><em>Section 3.2</em> <a href="#rfc.xref.Part1.5">4.3</a>, <a href="#rfc.xref.Part1.12">B</a></li> 2208 <li><em>Section 3.2.1</em> <a href="#rfc.xref.Part1.11">B</a></li> 2209 <li><em>Section 3.2.4</em> <a href="#rfc.xref.Part1.13">B</a>, <a href="#rfc.xref.Part1.14">B</a></li> 2210 <li><em>Section 5.5</em> <a href="#rfc.xref.Part1.4">4</a>, <a href="#rfc.xref.Part1.6">6</a>, <a href="#rfc.xref.Part1.7">6</a>, <a href="#rfc.xref.Part1.8">6</a></li> 2211 <li><em>Section 6.2</em> <a href="#rfc.xref.Part1.16">B</a></li> 2212 <li><em>Section 9</em> <a href="#rfc.xref.Part1.9">11</a></li> 2213 </ul> 2214 </li> 2215 <li><em>Part2</em> <a href="#rfc.xref.Part2.1">2</a>, <a href="#rfc.xref.Part2.2">4</a>, <a href="#rfc.xref.Part2.3">4.1.2</a>, <a href="#rfc.xref.Part2.4">4.1.3</a>, <a href="#rfc.xref.Part2.5">6</a>, <a href="#rfc.xref.Part2.6">7.3</a>, <a href="#Part2"><b>12.1</b></a>, <a href="#rfc.xref.Part2.7">B</a><ul> 2216 <li><em>Section 2.1.1</em> <a href="#rfc.xref.Part2.2">4</a>, <a href="#rfc.xref.Part2.5">6</a></li> 2217 <li><em>Section 4</em> <a href="#rfc.xref.Part2.3">4.1.2</a></li> 2218 <li><em>Section 5.1</em> <a href="#rfc.xref.Part2.6">7.3</a>, <a href="#rfc.xref.Part2.7">B</a></li> 2219 <li><em>Section 9.10</em> <a href="#rfc.xref.Part2.4">4.1.3</a></li> 2220 2220 </ul> 2221 2221 </li> … … 2266 2266 </ul> 2267 2267 </li> 2268 <li><em>RFC5234</em> <a href="#rfc.xref.RFC5234.1">1.4</a>, <a href="# rfc.xref.RFC5234.2">1.4</a>, <a href="#RFC5234"><b>12.1</b></a><ul>2269 <li><em>Appendix B.1</em> <a href="#rfc.xref.RFC5234.2"> 1.4</a></li>2268 <li><em>RFC5234</em> <a href="#rfc.xref.RFC5234.1">1.4</a>, <a href="#RFC5234"><b>12.1</b></a>, <a href="#rfc.xref.RFC5234.2">B</a><ul> 2269 <li><em>Appendix B.1</em> <a href="#rfc.xref.RFC5234.2">B</a></li> 2270 2270 </ul> 2271 2271 </li> -
draft-ietf-httpbis/latest/p6-cache.xml
r1803 r1805 352 352 353 353 <section title="Syntax Notation" anchor="notation"> 354 <x:anchor-alias value="ALPHA"/>355 <x:anchor-alias value="CR"/>356 <x:anchor-alias value="DIGIT"/>357 <x:anchor-alias value="DQUOTE"/>358 <x:anchor-alias value="LF"/>359 <x:anchor-alias value="OCTET"/>360 <x:anchor-alias value="SP"/>361 <x:anchor-alias value="VCHAR"/>362 354 <t> 363 355 This specification uses the Augmented Backus-Naur Form (ABNF) notation 364 356 of <xref target="RFC5234"/> with the list rule extension defined in 365 ¬ation;. <xref target="collected.abnf"/> shows the collected ABNF 357 ¬ation;. <xref target="imported.abnf"/> describes rules imported from 358 other documents. <xref target="collected.abnf"/> shows the collected ABNF 366 359 with the list rule expanded. 367 360 </t> 368 <t>369 The following core rules are included by reference, as defined in <xref370 target="RFC5234" x:fmt="," x:sec="B.1"/>: ALPHA (letters), CR (carriage371 return), CRLF (CR LF), CTL (controls), DIGIT (decimal 0-9), DQUOTE (double372 quote), HEXDIG (hexadecimal 0-9/A-F/a-f), LF (line feed), OCTET (any 8-bit373 sequence of data), SP (space), and VCHAR (any visible US-ASCII character).374 </t>375 376 <section title="Core Rules" anchor="core.rules">377 <x:anchor-alias value="quoted-string"/>378 <x:anchor-alias value="token"/>379 <x:anchor-alias value="OWS"/>380 <t>381 The core rules below are defined in <xref target="Part1"/>:382 </t>383 <figure><artwork type="abnf2616">384 <x:ref>OWS</x:ref> = <OWS, defined in &whitespace;>385 <x:ref>quoted-string</x:ref> = <quoted-string, defined in &field-components;>386 <x:ref>token</x:ref> = <token, defined in &field-components;>387 </artwork></figure>388 </section>389 390 <section title="ABNF Rules defined in other Parts of the Specification"391 anchor="abnf.dependencies">392 <x:anchor-alias value="field-name"/>393 <x:anchor-alias value="HTTP-date"/>394 <x:anchor-alias value="port"/>395 <x:anchor-alias value="pseudonym"/>396 <x:anchor-alias value="uri-host"/>397 <t>398 The ABNF rules below are defined in other parts:399 </t>400 <figure><!--Part1--><artwork type="abnf2616">401 <x:ref>field-name</x:ref> = <field-name, defined in &header-fields;>402 <x:ref>HTTP-date</x:ref> = <HTTP-date, defined in &http-date;>403 <x:ref>port</x:ref> = <port, defined in &uri;>404 <x:ref>pseudonym</x:ref> = <pseudonym, defined in &header-via;>405 <x:ref>uri-host</x:ref> = <uri-host, defined in &uri;>406 </artwork></figure>407 </section>408 361 409 362 <section title="Delta Seconds" anchor="delta-seconds"> … … 2592 2545 </section> 2593 2546 2547 <section title="Imported ABNF" anchor="imported.abnf"> 2548 <x:anchor-alias value="ALPHA"/> 2549 <x:anchor-alias value="CR"/> 2550 <x:anchor-alias value="DIGIT"/> 2551 <x:anchor-alias value="DQUOTE"/> 2552 <x:anchor-alias value="LF"/> 2553 <x:anchor-alias value="OCTET"/> 2554 <x:anchor-alias value="SP"/> 2555 <x:anchor-alias value="VCHAR"/> 2556 <x:anchor-alias value="quoted-string"/> 2557 <x:anchor-alias value="token"/> 2558 <x:anchor-alias value="OWS"/> 2559 <x:anchor-alias value="field-name"/> 2560 <x:anchor-alias value="HTTP-date"/> 2561 <x:anchor-alias value="port"/> 2562 <x:anchor-alias value="pseudonym"/> 2563 <x:anchor-alias value="uri-host"/> 2564 <t> 2565 The following core rules are included by reference, as defined in <xref 2566 target="RFC5234" x:fmt="," x:sec="B.1"/>: ALPHA (letters), CR (carriage 2567 return), CRLF (CR LF), CTL (controls), DIGIT (decimal 0-9), DQUOTE (double 2568 quote), HEXDIG (hexadecimal 0-9/A-F/a-f), LF (line feed), OCTET (any 8-bit 2569 sequence of data), SP (space), and VCHAR (any visible US-ASCII character). 2570 </t> 2571 <t> 2572 The rules below are defined in <xref target="Part1"/>: 2573 </t> 2574 <figure><artwork type="abnf2616"> 2575 <x:ref>OWS</x:ref> = <OWS, defined in &whitespace;> 2576 <x:ref>field-name</x:ref> = <field-name, defined in &header-fields;> 2577 <x:ref>quoted-string</x:ref> = <quoted-string, defined in &field-components;> 2578 <x:ref>token</x:ref> = <token, defined in &field-components;> 2579 2580 <x:ref>port</x:ref> = <port, defined in &uri;> 2581 <x:ref>pseudonym</x:ref> = <pseudonym, defined in &header-via;> 2582 <x:ref>uri-host</x:ref> = <uri-host, defined in &uri;> 2583 </artwork></figure> 2584 <t> 2585 The rules below are defined in other parts: 2586 </t> 2587 <figure><artwork type="abnf2616"> 2588 <x:ref>HTTP-date</x:ref> = <HTTP-date, defined in &http-date;> 2589 </artwork></figure> 2590 </section> 2591 2594 2592 <?BEGININC p6-cache.abnf-appendix ?> 2595 2593 <section xmlns:x="http://purl.org/net/xml2rfc/ext" title="Collected ABNF" anchor="collected.abnf"> -
draft-ietf-httpbis/latest/p7-auth.html
r1803 r1805 480 480 <link rel="Chapter" href="#rfc.section.8" title="8 References"> 481 481 <link rel="Appendix" title="A Changes from RFCs 2616 and 2617" href="#rfc.section.A"> 482 <link rel="Appendix" title="B Collected ABNF" href="#rfc.section.B"> 483 <link rel="Appendix" title="C Change Log (to be removed by RFC Editor before publication)" href="#rfc.section.C"> 482 <link rel="Appendix" title="B Imported ABNF" href="#rfc.section.B"> 483 <link rel="Appendix" title="C Collected ABNF" href="#rfc.section.C"> 484 <link rel="Appendix" title="D Change Log (to be removed by RFC Editor before publication)" href="#rfc.section.D"> 484 485 <link href="p6-cache.html" rel="prev"> 485 486 <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/"> … … 541 542 <p>The current issues list is at <<a href="http://tools.ietf.org/wg/httpbis/trac/report/3">http://tools.ietf.org/wg/httpbis/trac/report/3</a>> and related documents (including fancy diffs) can be found at <<a href="http://tools.ietf.org/wg/httpbis/">http://tools.ietf.org/wg/httpbis/</a>>. 542 543 </p> 543 <p>The changes in this draft are summarized in <a href="#changes.since.19" title="Since draft-ietf-httpbis-p7-auth-19">Appendix C.1</a>.544 <p>The changes in this draft are summarized in <a href="#changes.since.19" title="Since draft-ietf-httpbis-p7-auth-19">Appendix D.1</a>. 544 545 </p> 545 546 <h1><a id="rfc.status" href="#rfc.status">Status of This Memo</a></h1> … … 572 573 <li>1. <a href="#introduction">Introduction</a><ul> 573 574 <li>1.1 <a href="#intro.conformance.and.error.handling">Conformance and Error Handling</a></li> 574 <li>1.2 <a href="#notation">Syntax Notation</a><ul> 575 <li>1.2.1 <a href="#core.rules">Core Rules</a></li> 576 </ul> 577 </li> 575 <li>1.2 <a href="#notation">Syntax Notation</a></li> 578 576 </ul> 579 577 </li> … … 618 616 <li><a href="#rfc.authors">Authors' Addresses</a></li> 619 617 <li>A. <a href="#changes.from.rfc.2616">Changes from RFCs 2616 and 2617</a></li> 620 <li>B. <a href="#collected.abnf">Collected ABNF</a></li> 621 <li>C. <a href="#change.log">Change Log (to be removed by RFC Editor before publication)</a><ul> 622 <li>C.1 <a href="#changes.since.19">Since draft-ietf-httpbis-p7-auth-19</a></li> 618 <li>B. <a href="#imported.abnf">Imported ABNF</a></li> 619 <li>C. <a href="#collected.abnf">Collected ABNF</a></li> 620 <li>D. <a href="#change.log">Change Log (to be removed by RFC Editor before publication)</a><ul> 621 <li>D.1 <a href="#changes.since.19">Since draft-ietf-httpbis-p7-auth-19</a></li> 623 622 </ul> 624 623 </li> … … 656 655 </p> 657 656 <h2 id="rfc.section.1.2"><a href="#rfc.section.1.2">1.2</a> <a id="notation" href="#notation">Syntax Notation</a></h2> 658 <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.2"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>. <a href="#collected.abnf" title="Collected ABNF">Appendix B</a> shows the collected ABNF with the list rule expanded. 659 </p> 660 <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 661 (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 662 character). 663 </p> 664 <h3 id="rfc.section.1.2.1"><a href="#rfc.section.1.2.1">1.2.1</a> <a id="core.rules" href="#core.rules">Core Rules</a></h3> 665 <p id="rfc.section.1.2.1.p.1">The core rules below are defined in <a href="#Part1" id="rfc.xref.Part1.3"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>: 666 </p> 667 <div id="rfc.figure.u.1"></div><pre class="inline"> <a href="#core.rules" class="smpl">BWS</a> = <BWS, defined in <a href="#Part1" id="rfc.xref.Part1.4"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>> 668 <a href="#core.rules" class="smpl">OWS</a> = <OWS, defined in <a href="#Part1" id="rfc.xref.Part1.5"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>> 669 <a href="#core.rules" class="smpl">quoted-string</a> = <quoted-string, defined in <a href="#Part1" id="rfc.xref.Part1.6"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>> 670 <a href="#core.rules" class="smpl">token</a> = <token, defined in <a href="#Part1" id="rfc.xref.Part1.7"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>> 671 </pre><h1 id="rfc.section.2"><a href="#rfc.section.2">2.</a> <a id="access.authentication.framework" href="#access.authentication.framework">Access Authentication Framework</a></h1> 657 <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.2"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>. <a href="#imported.abnf" title="Imported ABNF">Appendix B</a> describes rules imported from other documents. <a href="#collected.abnf" title="Collected ABNF">Appendix C</a> shows the collected ABNF with the list rule expanded. 658 </p> 659 <h1 id="rfc.section.2"><a href="#rfc.section.2">2.</a> <a id="access.authentication.framework" href="#access.authentication.framework">Access Authentication Framework</a></h1> 672 660 <h2 id="rfc.section.2.1"><a href="#rfc.section.2.1">2.1</a> <a id="challenge.and.response" href="#challenge.and.response">Challenge and Response</a></h2> 673 661 <p id="rfc.section.2.1.p.1">HTTP provides a simple challenge-response authentication mechanism that can be used by a server to challenge a client request … … 678 666 <p id="rfc.section.2.1.p.2">Parameters are name-value pairs where the name is matched case-insensitively, and each parameter name <em class="bcp14">MUST</em> only occur once per challenge. 679 667 </p> 680 <div id="rfc.figure.u. 2"></div><pre class="inline"><span id="rfc.iref.a.1"></span><span id="rfc.iref.a.2"></span><span id="rfc.iref.g.1"></span><span id="rfc.iref.g.2"></span><span id="rfc.iref.b.1"></span><span id="rfc.iref.g.3"></span> auth-scheme = <a href="#core.rules" class="smpl">token</a>668 <div id="rfc.figure.u.1"></div><pre class="inline"><span id="rfc.iref.a.1"></span><span id="rfc.iref.a.2"></span><span id="rfc.iref.g.1"></span><span id="rfc.iref.g.2"></span><span id="rfc.iref.b.1"></span><span id="rfc.iref.g.3"></span> auth-scheme = <a href="#imported.abnf" class="smpl">token</a> 681 669 682 auth-param = <a href="# core.rules" class="smpl">token</a> <a href="#core.rules" class="smpl">BWS</a> "=" <a href="#core.rules" class="smpl">BWS</a> ( <a href="#core.rules" class="smpl">token</a> / <a href="#core.rules" class="smpl">quoted-string</a> )683 684 b64token = 1*( <a href="# notation" class="smpl">ALPHA</a> / <a href="#notation" class="smpl">DIGIT</a> /670 auth-param = <a href="#imported.abnf" class="smpl">token</a> <a href="#imported.abnf" class="smpl">BWS</a> "=" <a href="#imported.abnf" class="smpl">BWS</a> ( <a href="#imported.abnf" class="smpl">token</a> / <a href="#imported.abnf" class="smpl">quoted-string</a> ) 671 672 b64token = 1*( <a href="#imported.abnf" class="smpl">ALPHA</a> / <a href="#imported.abnf" class="smpl">DIGIT</a> / 685 673 "-" / "." / "_" / "~" / "+" / "/" ) *"=" 686 674 </pre><p id="rfc.section.2.1.p.4">The "b64token" syntax allows the 66 unreserved URI characters (<a href="#RFC3986" id="rfc.xref.RFC3986.1"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a>), plus a few others, so that it can hold a base64, base64url (URL and filename safe alphabet), base32, or base16 (hex) encoding, … … 691 679 <p id="rfc.section.2.1.p.6">The <a href="#status.407" class="smpl">407 (Proxy Authentication Required)</a> response message is used by a proxy to challenge the authorization of a client and <em class="bcp14">MUST</em> include a <a href="#header.proxy-authenticate" class="smpl">Proxy-Authenticate</a> header field containing at least one challenge applicable to the proxy for the requested resource. 692 680 </p> 693 <div id="rfc.figure.u. 3"></div><pre class="inline"><span id="rfc.iref.c.1"></span><span id="rfc.iref.g.4"></span> <a href="#challenge.and.response" class="smpl">challenge</a> = <a href="#challenge.and.response" class="smpl">auth-scheme</a> [ 1*<a href="#notation" class="smpl">SP</a> ( <a href="#challenge.and.response" class="smpl">b64token</a> / #<a href="#challenge.and.response" class="smpl">auth-param</a> ) ]681 <div id="rfc.figure.u.2"></div><pre class="inline"><span id="rfc.iref.c.1"></span><span id="rfc.iref.g.4"></span> <a href="#challenge.and.response" class="smpl">challenge</a> = <a href="#challenge.and.response" class="smpl">auth-scheme</a> [ 1*<a href="#imported.abnf" class="smpl">SP</a> ( <a href="#challenge.and.response" class="smpl">b64token</a> / #<a href="#challenge.and.response" class="smpl">auth-param</a> ) ] 694 682 </pre><div class="note" id="rfc.section.2.1.p.8"> 695 683 <p> <b>Note:</b> User agents will need to take special care in parsing the <a href="#header.www-authenticate" class="smpl">WWW-Authenticate</a> and <a href="#header.proxy-authenticate" class="smpl">Proxy-Authenticate</a> header field values because they can contain more than one challenge, or if more than one of each is provided, since the contents … … 711 699 user as appropriate. 712 700 </p> 713 <div id="rfc.figure.u. 4"></div><pre class="inline"><span id="rfc.iref.c.2"></span><span id="rfc.iref.g.5"></span> <a href="#challenge.and.response" class="smpl">credentials</a> = <a href="#challenge.and.response" class="smpl">auth-scheme</a> [ 1*<a href="#notation" class="smpl">SP</a> ( <a href="#challenge.and.response" class="smpl">b64token</a> / #<a href="#challenge.and.response" class="smpl">auth-param</a> ) ]701 <div id="rfc.figure.u.3"></div><pre class="inline"><span id="rfc.iref.c.2"></span><span id="rfc.iref.g.5"></span> <a href="#challenge.and.response" class="smpl">credentials</a> = <a href="#challenge.and.response" class="smpl">auth-scheme</a> [ 1*<a href="#imported.abnf" class="smpl">SP</a> ( <a href="#challenge.and.response" class="smpl">b64token</a> / #<a href="#challenge.and.response" class="smpl">auth-param</a> ) ] 714 702 </pre><p id="rfc.section.2.1.p.14">Upon a request for a protected resource that omits credentials, contains invalid credentials (e.g., a bad password) or partial 715 703 credentials (e.g., when the authentication scheme requires more than one round trip), an origin server <em class="bcp14">SHOULD</em> return a <a href="#status.401" class="smpl">401 (Unauthorized)</a> response. Such responses <em class="bcp14">MUST</em> include a <a href="#header.www-authenticate" class="smpl">WWW-Authenticate</a> header field containing at least one (possibly new) challenge applicable to the requested resource. … … 731 719 <h2 id="rfc.section.2.2"><a href="#rfc.section.2.2">2.2</a> <a id="protection.space" href="#protection.space">Protection Space (Realm)</a></h2> 732 720 <p id="rfc.section.2.2.p.1">The authentication parameter realm is reserved for use by authentication schemes that wish to indicate the scope of protection.</p> 733 <p id="rfc.section.2.2.p.2">A <dfn>protection space</dfn> is defined by the canonical root URI (the scheme and authority components of the effective request URI; see <a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 5.5</a> of <a href="#Part1" id="rfc.xref.Part1. 8"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>) of the server being accessed, in combination with the realm value if present. These realms allow the protected resources721 <p id="rfc.section.2.2.p.2">A <dfn>protection space</dfn> is defined by the canonical root URI (the scheme and authority components of the effective request URI; see <a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 5.5</a> of <a href="#Part1" id="rfc.xref.Part1.3"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>) of the server being accessed, in combination with the realm value if present. These realms allow the protected resources 734 722 on a server to be partitioned into a set of protection spaces, each with its own authentication scheme and/or authorization 735 723 database. The realm value is a string, generally assigned by the origin server, which can have additional semantics specific … … 766 754 <p>HTTP authentication is presumed to be stateless: all of the information necessary to authenticate a request <em class="bcp14">MUST</em> be provided in the request, rather than be dependent on the server remembering prior requests. Authentication based on, or 767 755 bound to, the underlying connection is outside the scope of this specification and inherently flawed unless steps are taken 768 to ensure that the connection cannot be used by any party other than the authenticated user (see <a href="p1-messaging.html#intermediaries" title="Intermediaries">Section 2.4</a> of <a href="#Part1" id="rfc.xref.Part1. 9"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>).756 to ensure that the connection cannot be used by any party other than the authenticated user (see <a href="p1-messaging.html#intermediaries" title="Intermediaries">Section 2.4</a> of <a href="#Part1" id="rfc.xref.Part1.4"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>). 769 757 </p> 770 758 </li> … … 832 820 (Unauthorized)</a> response. Its value consists of credentials containing information of the user agent for the realm of the resource being requested. 833 821 </p> 834 <div id="rfc.figure.u. 5"></div><pre class="inline"><span id="rfc.iref.g.6"></span> <a href="#header.authorization" class="smpl">Authorization</a> = <a href="#challenge.and.response" class="smpl">credentials</a>822 <div id="rfc.figure.u.4"></div><pre class="inline"><span id="rfc.iref.g.6"></span> <a href="#header.authorization" class="smpl">Authorization</a> = <a href="#challenge.and.response" class="smpl">credentials</a> 835 823 </pre><p id="rfc.section.4.1.p.3">If a request is authenticated and a realm specified, the same credentials <em class="bcp14">SHOULD</em> be valid for all other requests within this realm (assuming that the authentication scheme itself does not require otherwise, 836 824 such as credentials that vary according to a challenge value or using synchronized clocks). … … 853 841 <h2 id="rfc.section.4.2"><a href="#rfc.section.4.2">4.2</a> <a id="header.proxy-authenticate" href="#header.proxy-authenticate">Proxy-Authenticate</a></h2> 854 842 <p id="rfc.section.4.2.p.1">The "Proxy-Authenticate" header field consists of at least one challenge that indicates the authentication scheme(s) and parameters 855 applicable to the proxy for this effective request URI (<a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 5.5</a> of <a href="#Part1" id="rfc.xref.Part1. 10"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>). It <em class="bcp14">MUST</em> be included as part of a <a href="#status.407" class="smpl">407 (Proxy Authentication Required)</a> response.856 </p> 857 <div id="rfc.figure.u. 6"></div><pre class="inline"><span id="rfc.iref.g.7"></span> <a href="#header.proxy-authenticate" class="smpl">Proxy-Authenticate</a> = 1#<a href="#challenge.and.response" class="smpl">challenge</a>843 applicable to the proxy for this effective request URI (<a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 5.5</a> of <a href="#Part1" id="rfc.xref.Part1.5"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>). It <em class="bcp14">MUST</em> be included as part of a <a href="#status.407" class="smpl">407 (Proxy Authentication Required)</a> response. 844 </p> 845 <div id="rfc.figure.u.5"></div><pre class="inline"><span id="rfc.iref.g.7"></span> <a href="#header.proxy-authenticate" class="smpl">Proxy-Authenticate</a> = 1#<a href="#challenge.and.response" class="smpl">challenge</a> 858 846 </pre><p id="rfc.section.4.2.p.3">Unlike <a href="#header.www-authenticate" class="smpl">WWW-Authenticate</a>, the Proxy-Authenticate header field applies only to the current connection, and intermediaries <em class="bcp14">SHOULD NOT</em> forward it to downstream clients. However, an intermediate proxy might need to obtain its own credentials by requesting them 859 847 from the downstream client, which in some circumstances will appear as if the proxy is forwarding the Proxy-Authenticate header … … 869 857 the resource being requested. 870 858 </p> 871 <div id="rfc.figure.u. 7"></div><pre class="inline"><span id="rfc.iref.g.8"></span> <a href="#header.proxy-authorization" class="smpl">Proxy-Authorization</a> = <a href="#challenge.and.response" class="smpl">credentials</a>859 <div id="rfc.figure.u.6"></div><pre class="inline"><span id="rfc.iref.g.8"></span> <a href="#header.proxy-authorization" class="smpl">Proxy-Authorization</a> = <a href="#challenge.and.response" class="smpl">credentials</a> 872 860 </pre><p id="rfc.section.4.3.p.3">Unlike <a href="#header.authorization" class="smpl">Authorization</a>, the Proxy-Authorization header field applies only to the next outbound proxy that demanded authentication using the <a href="#header.proxy-authenticate" class="smpl">Proxy-Authenticate</a> field. When multiple proxies are used in a chain, the Proxy-Authorization header field is consumed by the first outbound proxy 873 861 that was expecting to receive credentials. A proxy <em class="bcp14">MAY</em> relay the credentials from the client request to the next proxy if that is the mechanism by which the proxies cooperatively … … 878 866 <h2 id="rfc.section.4.4"><a href="#rfc.section.4.4">4.4</a> <a id="header.www-authenticate" href="#header.www-authenticate">WWW-Authenticate</a></h2> 879 867 <p id="rfc.section.4.4.p.1">The "WWW-Authenticate" header field consists of at least one challenge that indicates the authentication scheme(s) and parameters 880 applicable to the effective request URI (<a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 5.5</a> of <a href="#Part1" id="rfc.xref.Part1. 11"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>).868 applicable to the effective request URI (<a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 5.5</a> of <a href="#Part1" id="rfc.xref.Part1.6"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>). 881 869 </p> 882 870 <p id="rfc.section.4.4.p.2">It <em class="bcp14">MUST</em> be included in <a href="#status.401" class="smpl">401 (Unauthorized)</a> response messages and <em class="bcp14">MAY</em> be included in other response messages to indicate that supplying credentials (or different credentials) might affect the 883 871 response. 884 872 </p> 885 <div id="rfc.figure.u. 8"></div><pre class="inline"><span id="rfc.iref.g.9"></span> <a href="#header.www-authenticate" class="smpl">WWW-Authenticate</a> = 1#<a href="#challenge.and.response" class="smpl">challenge</a>873 <div id="rfc.figure.u.7"></div><pre class="inline"><span id="rfc.iref.g.9"></span> <a href="#header.www-authenticate" class="smpl">WWW-Authenticate</a> = 1#<a href="#challenge.and.response" class="smpl">challenge</a> 886 874 </pre><p id="rfc.section.4.4.p.4">User agents are advised to take special care in parsing the WWW-Authenticate field value as it might contain more than one 887 875 challenge, or if more than one WWW-Authenticate header field is provided, the contents of a challenge itself can contain a 888 876 comma-separated list of authentication parameters. 889 877 </p> 890 <div id="rfc.figure.u. 9"></div>878 <div id="rfc.figure.u.8"></div> 891 879 <p>For instance:</p> <pre class="text"> WWW-Authenticate: Newauth realm="apps", type=1, 892 880 title="Login to \"apps\"", Basic realm="simple" … … 1019 1007 Lawrence C. Stewart for their work on that specification. See <a href="http://tools.ietf.org/html/rfc2617#section-6">Section 6</a> of <a href="#RFC2617" id="rfc.xref.RFC2617.4"><cite title="HTTP Authentication: Basic and Digest Access Authentication">[RFC2617]</cite></a> for further acknowledgements. 1020 1008 </p> 1021 <p id="rfc.section.7.p.2">See <a href="p1-messaging.html#acks" title="Acknowledgments">Section 9</a> of <a href="#Part1" id="rfc.xref.Part1. 12"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a> for the Acknowledgments related to this document revision.1009 <p id="rfc.section.7.p.2">See <a href="p1-messaging.html#acks" title="Acknowledgments">Section 9</a> of <a href="#Part1" id="rfc.xref.Part1.7"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a> for the Acknowledgments related to this document revision. 1022 1010 </p> 1023 1011 <h1 id="rfc.references"><a id="rfc.section.8" href="#rfc.section.8">8.</a> References … … 1109 1097 <p id="rfc.section.A.p.4">Change ABNF productions for header fields to only define the field value. (<a href="#header.field.definitions" title="Header Field Definitions">Section 4</a>) 1110 1098 </p> 1111 <h1 id="rfc.section.B"><a href="#rfc.section.B">B.</a> <a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1> 1099 <h1 id="rfc.section.B"><a href="#rfc.section.B">B.</a> <a id="imported.abnf" href="#imported.abnf">Imported ABNF</a></h1> 1100 <p id="rfc.section.B.p.1">The following core rules are included by reference, as defined in <a href="http://tools.ietf.org/html/rfc5234#appendix-B.1">Appendix B.1</a> of <a href="#RFC5234" id="rfc.xref.RFC5234.2"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a>: ALPHA (letters), CR (carriage return), CRLF (CR LF), CTL (controls), DIGIT (decimal 0-9), DQUOTE (double quote), HEXDIG 1101 (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 1102 character). 1103 </p> 1104 <p id="rfc.section.B.p.2">The rules below are defined in <a href="#Part1" id="rfc.xref.Part1.8"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>: 1105 </p> 1106 <div id="rfc.figure.u.9"></div><pre class="inline"> <a href="#imported.abnf" class="smpl">BWS</a> = <BWS, defined in <a href="#Part1" id="rfc.xref.Part1.9"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>> 1107 <a href="#imported.abnf" class="smpl">OWS</a> = <OWS, defined in <a href="#Part1" id="rfc.xref.Part1.10"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>> 1108 <a href="#imported.abnf" class="smpl">quoted-string</a> = <quoted-string, defined in <a href="#Part1" id="rfc.xref.Part1.11"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>> 1109 <a href="#imported.abnf" class="smpl">token</a> = <token, defined in <a href="#Part1" id="rfc.xref.Part1.12"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>> 1110 </pre><h1 id="rfc.section.C"><a href="#rfc.section.C">C.</a> <a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1> 1112 1111 <div id="rfc.figure.u.10"></div> <pre class="inline"><a href="#header.authorization" class="smpl">Authorization</a> = credentials 1113 1112 1114 <a href="# core.rules" class="smpl">BWS</a> = <BWS, defined in [Part1], Section 3.2.1>1115 1116 <a href="# core.rules" class="smpl">OWS</a> = <OWS, defined in [Part1], Section 3.2.1>1113 <a href="#imported.abnf" class="smpl">BWS</a> = <BWS, defined in [Part1], Section 3.2.1> 1114 1115 <a href="#imported.abnf" class="smpl">OWS</a> = <OWS, defined in [Part1], Section 3.2.1> 1117 1116 1118 1117 <a href="#header.proxy-authenticate" class="smpl">Proxy-Authenticate</a> = *( "," OWS ) challenge *( OWS "," [ OWS … … 1134 1133 *( OWS "," [ OWS auth-param ] ) ] ) ] 1135 1134 1136 <a href="# core.rules" class="smpl">quoted-string</a> = <quoted-string, defined in [Part1], Section 3.2.4>1137 1138 <a href="# core.rules" class="smpl">token</a> = <token, defined in [Part1], Section 3.2.4>1139 </pre> <h1 id="rfc.section. C"><a href="#rfc.section.C">C.</a> <a id="change.log" href="#change.log">Change Log (to be removed by RFC Editor before publication)</a></h1>1140 <p id="rfc.section. C.p.1">Changes up to the first Working Group Last Call draft are summarized in <<a href="http://trac.tools.ietf.org/html/draft-ietf-httpbis-p7-auth-19#appendix-C">http://trac.tools.ietf.org/html/draft-ietf-httpbis-p7-auth-19#appendix-C</a>>.1141 </p> 1142 <h2 id="rfc.section. C.1"><a href="#rfc.section.C.1">C.1</a> <a id="changes.since.19" href="#changes.since.19">Since draft-ietf-httpbis-p7-auth-19</a></h2>1143 <p id="rfc.section. C.1.p.1">Closed issues: </p>1135 <a href="#imported.abnf" class="smpl">quoted-string</a> = <quoted-string, defined in [Part1], Section 3.2.4> 1136 1137 <a href="#imported.abnf" class="smpl">token</a> = <token, defined in [Part1], Section 3.2.4> 1138 </pre> <h1 id="rfc.section.D"><a href="#rfc.section.D">D.</a> <a id="change.log" href="#change.log">Change Log (to be removed by RFC Editor before publication)</a></h1> 1139 <p id="rfc.section.D.p.1">Changes up to the first Working Group Last Call draft are summarized in <<a href="http://trac.tools.ietf.org/html/draft-ietf-httpbis-p7-auth-19#appendix-C">http://trac.tools.ietf.org/html/draft-ietf-httpbis-p7-auth-19#appendix-C</a>>. 1140 </p> 1141 <h2 id="rfc.section.D.1"><a href="#rfc.section.D.1">D.1</a> <a id="changes.since.19" href="#changes.since.19">Since draft-ietf-httpbis-p7-auth-19</a></h2> 1142 <p id="rfc.section.D.1.p.1">Closed issues: </p> 1144 1143 <ul> 1145 1144 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/348">http://tools.ietf.org/wg/httpbis/trac/ticket/348</a>>: "Realms and scope" … … 1208 1207 </li> 1209 1208 <li><a id="rfc.index.P" href="#rfc.index.P"><b>P</b></a><ul> 1210 <li><em>Part1</em> <a href="#rfc.xref.Part1.1">1.1</a>, <a href="#rfc.xref.Part1.2">1.2</a>, <a href="#rfc.xref.Part1.3"> 1.2.1</a>, <a href="#rfc.xref.Part1.4">1.2.1</a>, <a href="#rfc.xref.Part1.5">1.2.1</a>, <a href="#rfc.xref.Part1.6">1.2.1</a>, <a href="#rfc.xref.Part1.7">1.2.1</a>, <a href="#rfc.xref.Part1.8">2.2</a>, <a href="#rfc.xref.Part1.9">2.3.1</a>, <a href="#rfc.xref.Part1.10">4.2</a>, <a href="#rfc.xref.Part1.11">4.4</a>, <a href="#rfc.xref.Part1.12">7</a>, <a href="#Part1"><b>8.1</b></a><ul>1209 <li><em>Part1</em> <a href="#rfc.xref.Part1.1">1.1</a>, <a href="#rfc.xref.Part1.2">1.2</a>, <a href="#rfc.xref.Part1.3">2.2</a>, <a href="#rfc.xref.Part1.4">2.3.1</a>, <a href="#rfc.xref.Part1.5">4.2</a>, <a href="#rfc.xref.Part1.6">4.4</a>, <a href="#rfc.xref.Part1.7">7</a>, <a href="#Part1"><b>8.1</b></a>, <a href="#rfc.xref.Part1.8">B</a>, <a href="#rfc.xref.Part1.9">B</a>, <a href="#rfc.xref.Part1.10">B</a>, <a href="#rfc.xref.Part1.11">B</a>, <a href="#rfc.xref.Part1.12">B</a><ul> 1211 1210 <li><em>Section 1.2</em> <a href="#rfc.xref.Part1.2">1.2</a></li> 1212 1211 <li><em>Section 2</em> <a href="#rfc.xref.Part1.1">1.1</a></li> 1213 <li><em>Section 2.4</em> <a href="#rfc.xref.Part1. 9">2.3.1</a></li>1214 <li><em>Section 3.2.1</em> <a href="#rfc.xref.Part1. 4">1.2.1</a>, <a href="#rfc.xref.Part1.5">1.2.1</a></li>1215 <li><em>Section 3.2.4</em> <a href="#rfc.xref.Part1. 6">1.2.1</a>, <a href="#rfc.xref.Part1.7">1.2.1</a></li>1216 <li><em>Section 5.5</em> <a href="#rfc.xref.Part1. 8">2.2</a>, <a href="#rfc.xref.Part1.10">4.2</a>, <a href="#rfc.xref.Part1.11">4.4</a></li>1217 <li><em>Section 9</em> <a href="#rfc.xref.Part1. 12">7</a></li>1212 <li><em>Section 2.4</em> <a href="#rfc.xref.Part1.4">2.3.1</a></li> 1213 <li><em>Section 3.2.1</em> <a href="#rfc.xref.Part1.9">B</a>, <a href="#rfc.xref.Part1.10">B</a></li> 1214 <li><em>Section 3.2.4</em> <a href="#rfc.xref.Part1.11">B</a>, <a href="#rfc.xref.Part1.12">B</a></li> 1215 <li><em>Section 5.5</em> <a href="#rfc.xref.Part1.3">2.2</a>, <a href="#rfc.xref.Part1.5">4.2</a>, <a href="#rfc.xref.Part1.6">4.4</a></li> 1216 <li><em>Section 9</em> <a href="#rfc.xref.Part1.7">7</a></li> 1218 1217 </ul> 1219 1218 </li> … … 1246 1245 </ul> 1247 1246 </li> 1248 <li><em>RFC5234</em> <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>1249 <li><em>Appendix B.1</em> <a href="#rfc.xref.RFC5234.2"> 1.2</a></li>1247 <li><em>RFC5234</em> <a href="#rfc.xref.RFC5234.1">1.2</a>, <a href="#RFC5234"><b>8.1</b></a>, <a href="#rfc.xref.RFC5234.2">B</a><ul> 1248 <li><em>Appendix B.1</em> <a href="#rfc.xref.RFC5234.2">B</a></li> 1250 1249 </ul> 1251 1250 </li> -
draft-ietf-httpbis/latest/p7-auth.xml
r1803 r1805 193 193 194 194 <section title="Syntax Notation" anchor="notation"> 195 <x:anchor-alias value="ALPHA"/>196 <x:anchor-alias value="CR"/>197 <x:anchor-alias value="DIGIT"/>198 <x:anchor-alias value="LF"/>199 <x:anchor-alias value="OCTET"/>200 <x:anchor-alias value="VCHAR"/>201 <x:anchor-alias value="SP"/>202 195 <t> 203 196 This specification uses the Augmented Backus-Naur Form (ABNF) notation 204 197 of <xref target="RFC5234"/> with the list rule extension defined in 205 ¬ation;. <xref target="collected.abnf"/> shows the collected ABNF 198 ¬ation;. <xref target="imported.abnf"/> describes rules imported from 199 other documents. <xref target="collected.abnf"/> shows the collected ABNF 206 200 with the list rule expanded. 207 201 </t> 208 <t>209 The following core rules are included by210 reference, as defined in <xref target="RFC5234" x:fmt="," x:sec="B.1"/>:211 ALPHA (letters), CR (carriage return), CRLF (CR LF), CTL (controls),212 DIGIT (decimal 0-9), DQUOTE (double quote),213 HEXDIG (hexadecimal 0-9/A-F/a-f), LF (line feed),214 OCTET (any 8-bit sequence of data), SP (space), and215 VCHAR (any visible US-ASCII character).216 </t>217 218 <section title="Core Rules" anchor="core.rules">219 <x:anchor-alias value="quoted-string"/>220 <x:anchor-alias value="token"/>221 <x:anchor-alias value="BWS"/>222 <x:anchor-alias value="OWS"/>223 <t>224 The core rules below are defined in <xref target="Part1"/>:225 </t>226 <figure><artwork type="abnf2616">227 <x:ref>BWS</x:ref> = <BWS, defined in &whitespace;>228 <x:ref>OWS</x:ref> = <OWS, defined in &whitespace;>229 <x:ref>quoted-string</x:ref> = <quoted-string, defined in &field-components;>230 <x:ref>token</x:ref> = <token, defined in &field-components;>231 </artwork></figure>232 </section>233 202 </section> 234 203 </section> … … 1147 1116 </section> 1148 1117 1118 <section title="Imported ABNF" anchor="imported.abnf"> 1119 <x:anchor-alias value="ALPHA"/> 1120 <x:anchor-alias value="CR"/> 1121 <x:anchor-alias value="DIGIT"/> 1122 <x:anchor-alias value="LF"/> 1123 <x:anchor-alias value="OCTET"/> 1124 <x:anchor-alias value="VCHAR"/> 1125 <x:anchor-alias value="SP"/> 1126 <x:anchor-alias value="quoted-string"/> 1127 <x:anchor-alias value="token"/> 1128 <x:anchor-alias value="BWS"/> 1129 <x:anchor-alias value="OWS"/> 1130 <t> 1131 The following core rules are included by 1132 reference, as defined in <xref target="RFC5234" x:fmt="of" x:sec="B.1"/>: 1133 ALPHA (letters), CR (carriage return), CRLF (CR LF), CTL (controls), 1134 DIGIT (decimal 0-9), DQUOTE (double quote), 1135 HEXDIG (hexadecimal 0-9/A-F/a-f), LF (line feed), 1136 OCTET (any 8-bit sequence of data), SP (space), and 1137 VCHAR (any visible US-ASCII character). 1138 </t> 1139 <t> 1140 The rules below are defined in <xref target="Part1"/>: 1141 </t> 1142 <figure><artwork type="abnf2616"> 1143 <x:ref>BWS</x:ref> = <BWS, defined in &whitespace;> 1144 <x:ref>OWS</x:ref> = <OWS, defined in &whitespace;> 1145 <x:ref>quoted-string</x:ref> = <quoted-string, defined in &field-components;> 1146 <x:ref>token</x:ref> = <token, defined in &field-components;> 1147 </artwork></figure> 1148 </section> 1149 1149 1150 <?BEGININC p7-auth.abnf-appendix ?> 1150 1151 <section xmlns:x="http://purl.org/net/xml2rfc/ext" title="Collected ABNF" anchor="collected.abnf">
Note: See TracChangeset
for help on using the changeset viewer.