Changeset 1798 for draft-ietf-httpbis/latest/p1-messaging.html
- Timestamp:
- 16/07/12 06:01:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p1-messaging.html
r1796 r1798 482 482 <link rel="Chapter" href="#rfc.section.10" title="10 References"> 483 483 <link rel="Appendix" title="A HTTP Version History" href="#rfc.section.A"> 484 <link rel="Appendix" title="B Collected ABNF" href="#rfc.section.B"> 485 <link rel="Appendix" title="C Change Log (to be removed by RFC Editor before publication)" href="#rfc.section.C"> 484 <link rel="Appendix" title="B ABNF list extension: #rule" href="#rfc.section.B"> 485 <link rel="Appendix" title="C Collected ABNF" href="#rfc.section.C"> 486 <link rel="Appendix" title="D Change Log (to be removed by RFC Editor before publication)" href="#rfc.section.D"> 486 487 <link href="p2-semantics.html" rel="next"> 487 488 <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/"> … … 544 545 <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>>. 545 546 </p> 546 <p>The changes in this draft are summarized in <a href="#changes.since.19" title="Since draft-ietf-httpbis-p1-messaging-19">Appendix C.21</a>.547 <p>The changes in this draft are summarized in <a href="#changes.since.19" title="Since draft-ietf-httpbis-p1-messaging-19">Appendix D.21</a>. 547 548 </p> 548 549 <h1><a id="rfc.status" href="#rfc.status">Status of This Memo</a></h1> … … 605 606 <li>3.2.3 <a href="#field.length">Field Length</a></li> 606 607 <li>3.2.4 <a href="#field.components">Field value components</a></li> 607 <li>3.2.5 <a href="#abnf.extension">ABNF list extension: #rule</a></li>608 608 </ul> 609 609 </li> … … 711 711 </ul> 712 712 </li> 713 <li>B. <a href="#collected.abnf">Collected ABNF</a></li> 714 <li>C. <a href="#change.log">Change Log (to be removed by RFC Editor before publication)</a><ul> 715 <li>C.1 <a href="#rfc.section.C.1">Since RFC 2616</a></li> 716 <li>C.2 <a href="#rfc.section.C.2">Since draft-ietf-httpbis-p1-messaging-00</a></li> 717 <li>C.3 <a href="#rfc.section.C.3">Since draft-ietf-httpbis-p1-messaging-01</a></li> 718 <li>C.4 <a href="#changes.since.02">Since draft-ietf-httpbis-p1-messaging-02</a></li> 719 <li>C.5 <a href="#changes.since.03">Since draft-ietf-httpbis-p1-messaging-03</a></li> 720 <li>C.6 <a href="#changes.since.04">Since draft-ietf-httpbis-p1-messaging-04</a></li> 721 <li>C.7 <a href="#changes.since.05">Since draft-ietf-httpbis-p1-messaging-05</a></li> 722 <li>C.8 <a href="#changes.since.06">Since draft-ietf-httpbis-p1-messaging-06</a></li> 723 <li>C.9 <a href="#changes.since.07">Since draft-ietf-httpbis-p1-messaging-07</a></li> 724 <li>C.10 <a href="#changes.since.08">Since draft-ietf-httpbis-p1-messaging-08</a></li> 725 <li>C.11 <a href="#changes.since.09">Since draft-ietf-httpbis-p1-messaging-09</a></li> 726 <li>C.12 <a href="#changes.since.10">Since draft-ietf-httpbis-p1-messaging-10</a></li> 727 <li>C.13 <a href="#changes.since.11">Since draft-ietf-httpbis-p1-messaging-11</a></li> 728 <li>C.14 <a href="#changes.since.12">Since draft-ietf-httpbis-p1-messaging-12</a></li> 729 <li>C.15 <a href="#changes.since.13">Since draft-ietf-httpbis-p1-messaging-13</a></li> 730 <li>C.16 <a href="#changes.since.14">Since draft-ietf-httpbis-p1-messaging-14</a></li> 731 <li>C.17 <a href="#changes.since.15">Since draft-ietf-httpbis-p1-messaging-15</a></li> 732 <li>C.18 <a href="#changes.since.16">Since draft-ietf-httpbis-p1-messaging-16</a></li> 733 <li>C.19 <a href="#changes.since.17">Since draft-ietf-httpbis-p1-messaging-17</a></li> 734 <li>C.20 <a href="#changes.since.18">Since draft-ietf-httpbis-p1-messaging-18</a></li> 735 <li>C.21 <a href="#changes.since.19">Since draft-ietf-httpbis-p1-messaging-19</a></li> 713 <li>B. <a href="#abnf.extension">ABNF list extension: #rule</a></li> 714 <li>C. <a href="#collected.abnf">Collected ABNF</a></li> 715 <li>D. <a href="#change.log">Change Log (to be removed by RFC Editor before publication)</a><ul> 716 <li>D.1 <a href="#rfc.section.D.1">Since RFC 2616</a></li> 717 <li>D.2 <a href="#rfc.section.D.2">Since draft-ietf-httpbis-p1-messaging-00</a></li> 718 <li>D.3 <a href="#rfc.section.D.3">Since draft-ietf-httpbis-p1-messaging-01</a></li> 719 <li>D.4 <a href="#changes.since.02">Since draft-ietf-httpbis-p1-messaging-02</a></li> 720 <li>D.5 <a href="#changes.since.03">Since draft-ietf-httpbis-p1-messaging-03</a></li> 721 <li>D.6 <a href="#changes.since.04">Since draft-ietf-httpbis-p1-messaging-04</a></li> 722 <li>D.7 <a href="#changes.since.05">Since draft-ietf-httpbis-p1-messaging-05</a></li> 723 <li>D.8 <a href="#changes.since.06">Since draft-ietf-httpbis-p1-messaging-06</a></li> 724 <li>D.9 <a href="#changes.since.07">Since draft-ietf-httpbis-p1-messaging-07</a></li> 725 <li>D.10 <a href="#changes.since.08">Since draft-ietf-httpbis-p1-messaging-08</a></li> 726 <li>D.11 <a href="#changes.since.09">Since draft-ietf-httpbis-p1-messaging-09</a></li> 727 <li>D.12 <a href="#changes.since.10">Since draft-ietf-httpbis-p1-messaging-10</a></li> 728 <li>D.13 <a href="#changes.since.11">Since draft-ietf-httpbis-p1-messaging-11</a></li> 729 <li>D.14 <a href="#changes.since.12">Since draft-ietf-httpbis-p1-messaging-12</a></li> 730 <li>D.15 <a href="#changes.since.13">Since draft-ietf-httpbis-p1-messaging-13</a></li> 731 <li>D.16 <a href="#changes.since.14">Since draft-ietf-httpbis-p1-messaging-14</a></li> 732 <li>D.17 <a href="#changes.since.15">Since draft-ietf-httpbis-p1-messaging-15</a></li> 733 <li>D.18 <a href="#changes.since.16">Since draft-ietf-httpbis-p1-messaging-16</a></li> 734 <li>D.19 <a href="#changes.since.17">Since draft-ietf-httpbis-p1-messaging-17</a></li> 735 <li>D.20 <a href="#changes.since.18">Since draft-ietf-httpbis-p1-messaging-18</a></li> 736 <li>D.21 <a href="#changes.since.19">Since draft-ietf-httpbis-p1-messaging-19</a></li> 736 737 </ul> 737 738 </li> … … 796 797 <div id="rfc.iref.g.12"></div> 797 798 <h2 id="rfc.section.1.2"><a href="#rfc.section.1.2">1.2</a> <a id="notation" href="#notation">Syntax Notation</a></h2> 798 <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="#abnf.extension" title="ABNF list extension: #rule"> Section 3.2.5</a>. <a href="#collected.abnf" title="Collected ABNF">Appendix B</a> shows the collected ABNF with the list rule expanded.799 <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="#abnf.extension" title="ABNF list extension: #rule">Appendix B</a>. <a href="#collected.abnf" title="Collected ABNF">Appendix C</a> shows the collected ABNF with the list rule expanded. 799 800 </p> 800 801 <div id="core.rules"> … … 1361 1362 ")"). 1362 1363 </p> 1363 <h3 id="rfc.section.3.2.5"><a href="#rfc.section.3.2.5">3.2.5</a> <a id="abnf.extension" href="#abnf.extension">ABNF list extension: #rule</a></h3>1364 <p id="rfc.section.3.2.5.p.1">A #rule extension to the ABNF rules of <a href="#RFC5234" id="rfc.xref.RFC5234.3"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a> is used to improve readability in the definitions of some header field values.1365 </p>1366 <p id="rfc.section.3.2.5.p.2">A construct "#" is defined, similar to "*", for defining comma-delimited lists of elements. The full form is "<n>#<m>element"1367 indicating at least <n> and at most <m> elements, each separated by a single comma (",") and optional whitespace (OWS).1368 </p>1369 <div id="rfc.figure.u.25"></div>1370 <p>Thus,</p><pre class="text"> 1#element => element *( OWS "," OWS element )1371 </pre><div id="rfc.figure.u.26"></div>1372 <p>and:</p><pre class="text"> #element => [ 1#element ]1373 </pre><div id="rfc.figure.u.27"></div>1374 <p>and for n >= 1 and m > 1:</p><pre class="text"> <n>#<m>element => element <n-1>*<m-1>( OWS "," OWS element )1375 </pre><p id="rfc.section.3.2.5.p.6">For compatibility with legacy list rules, recipients <em class="bcp14">SHOULD</em> accept empty list elements. In other words, consumers would follow the list productions:1376 </p>1377 <div id="rfc.figure.u.28"></div><pre class="text"> #element => [ ( "," / element ) *( OWS "," [ OWS element ] ) ]1378 1379 1#element => *( "," OWS ) element *( OWS "," [ OWS element ] )1380 </pre><p id="rfc.section.3.2.5.p.8">Note that empty elements do not contribute to the count of elements present, though.</p>1381 <p id="rfc.section.3.2.5.p.9">For example, given these ABNF productions:</p>1382 <div id="rfc.figure.u.29"></div><pre class="text"> example-list = 1#example-list-elmt1383 example-list-elmt = token ; see <a href="#field.components" title="Field value components">Section 3.2.4</a>1384 </pre><p id="rfc.section.3.2.5.p.11">Then these are valid values for example-list (not including the double quotes, which are present for delimitation only):</p>1385 <div id="rfc.figure.u.30"></div><pre class="text"> "foo,bar"1386 "foo ,bar,"1387 "foo , ,bar,charlie "1388 </pre><p id="rfc.section.3.2.5.p.13">But these values would be invalid, as at least one non-empty element is required:</p>1389 <div id="rfc.figure.u.31"></div><pre class="text"> ""1390 ","1391 ", ,"1392 </pre><p id="rfc.section.3.2.5.p.15"> <a href="#collected.abnf" title="Collected ABNF">Appendix B</a> shows the collected ABNF, with the list rules expanded as explained above.1393 </p>1394 1364 <h2 id="rfc.section.3.3"><a href="#rfc.section.3.3">3.3</a> <a id="message.body" href="#message.body">Message Body</a></h2> 1395 1365 <p id="rfc.section.3.3.p.1">The message body (if any) of an HTTP message is used to carry the payload body of that request or response. The message body 1396 1366 is identical to the payload body unless a transfer coding has been applied, as described in <a href="#header.transfer-encoding" id="rfc.xref.header.transfer-encoding.1" title="Transfer-Encoding">Section 3.3.1</a>. 1397 1367 </p> 1398 <div id="rfc.figure.u. 32"></div><pre class="inline"><span id="rfc.iref.g.52"></span> <a href="#message.body" class="smpl">message-body</a> = *OCTET1368 <div id="rfc.figure.u.25"></div><pre class="inline"><span id="rfc.iref.g.52"></span> <a href="#message.body" class="smpl">message-body</a> = *OCTET 1399 1369 </pre><p id="rfc.section.3.3.p.3">The rules for when a message body is allowed in a message differ for requests and responses.</p> 1400 1370 <p id="rfc.section.3.3.p.4">The presence of a message body in a request is signaled by a a <a href="#header.content-length" class="smpl">Content-Length</a> or <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a> header field. Request message framing is independent of method semantics, even if the method does not define any use for a … … 1411 1381 in <a href="#transfer.codings" title="Transfer Codings">Section 4</a>. 1412 1382 </p> 1413 <div id="rfc.figure.u. 33"></div><pre class="inline"><span id="rfc.iref.g.53"></span> <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a> = 1#<a href="#transfer.codings" class="smpl">transfer-coding</a>1383 <div id="rfc.figure.u.26"></div><pre class="inline"><span id="rfc.iref.g.53"></span> <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a> = 1#<a href="#transfer.codings" class="smpl">transfer-coding</a> 1414 1384 </pre><p id="rfc.section.3.3.1.p.3">Transfer-Encoding is analogous to the Content-Transfer-Encoding field of MIME, which was designed to enable safe transport 1415 1385 of binary data over a 7-bit transport service (<a href="#RFC2045" id="rfc.xref.RFC2045.2"><cite title="Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies">[RFC2045]</cite></a>, <a href="http://tools.ietf.org/html/rfc2045#section-6">Section 6</a>). However, safe transport has a different focus for an 8bit-clean transfer protocol. In HTTP's case, Transfer-Encoding is … … 1421 1391 applied <em class="bcp14">MUST</em> be "chunked". If any transfer-coding is applied to a response payload body, then either the final transfer-coding applied <em class="bcp14">MUST</em> be "chunked" or the message <em class="bcp14">MUST</em> be terminated by closing the connection. 1422 1392 </p> 1423 <div id="rfc.figure.u. 34"></div>1393 <div id="rfc.figure.u.27"></div> 1424 1394 <p>For example,</p><pre class="text"> Transfer-Encoding: gzip, chunked 1425 1395 </pre><p>indicates that the payload body has been compressed using the gzip coding and then chunked using the chunked coding while … … 1446 1416 other than <a href="p4-conditional.html#status.304" class="smpl">304 (Not Modified)</a>, or would have been present had the request been an unconditional GET. The length is expressed as a decimal number of octets. 1447 1417 </p> 1448 <div id="rfc.figure.u. 35"></div><pre class="inline"><span id="rfc.iref.g.54"></span> <a href="#header.content-length" class="smpl">Content-Length</a> = 1*<a href="#core.rules" class="smpl">DIGIT</a>1418 <div id="rfc.figure.u.28"></div><pre class="inline"><span id="rfc.iref.g.54"></span> <a href="#header.content-length" class="smpl">Content-Length</a> = 1*<a href="#core.rules" class="smpl">DIGIT</a> 1449 1419 </pre><p id="rfc.section.3.3.2.p.3">An example is</p> 1450 <div id="rfc.figure.u. 36"></div><pre class="text"> Content-Length: 34951420 <div id="rfc.figure.u.29"></div><pre class="text"> Content-Length: 3495 1451 1421 </pre><p id="rfc.section.3.3.2.p.5">In the case of a response to a HEAD request, Content-Length indicates the size of the payload body (without any potential 1452 1422 transfer-coding) that would have been sent had the request been a GET. In the case of a <a href="p4-conditional.html#status.304" class="smpl">304 (Not Modified)</a> response (<a href="p4-conditional.html#status.304" title="304 Not Modified">Section 4.1</a> of <a href="#Part4" id="rfc.xref.Part4.3"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>) to a GET request, Content-Length indicates the size of the payload body (without any potential transfer-coding) that would … … 1569 1539 transfer-coding is a property of the message rather than a property of the representation that is being transferred. 1570 1540 </p> 1571 <div id="rfc.figure.u.3 7"></div><pre class="inline"><span id="rfc.iref.g.55"></span><span id="rfc.iref.g.56"></span> <a href="#transfer.codings" class="smpl">transfer-coding</a> = "chunked" ; <a href="#chunked.encoding" title="Chunked Transfer Coding">Section 4.1</a>1541 <div id="rfc.figure.u.30"></div><pre class="inline"><span id="rfc.iref.g.55"></span><span id="rfc.iref.g.56"></span> <a href="#transfer.codings" class="smpl">transfer-coding</a> = "chunked" ; <a href="#chunked.encoding" title="Chunked Transfer Coding">Section 4.1</a> 1572 1542 / "compress" ; <a href="#compress.coding" title="Compress Coding">Section 4.2.1</a> 1573 1543 / "deflate" ; <a href="#deflate.coding" title="Deflate Coding">Section 4.2.2</a> … … 1578 1548 <p id="rfc.section.4.p.3"> Parameters are in the form of attribute/value pairs.</p> 1579 1549 </div> 1580 <div id="rfc.figure.u.3 8"></div><pre class="inline"><span id="rfc.iref.g.57"></span><span id="rfc.iref.g.58"></span><span id="rfc.iref.g.59"></span><span id="rfc.iref.g.60"></span><span id="rfc.iref.g.61"></span> <a href="#rule.parameter" class="smpl">transfer-parameter</a> = <a href="#rule.parameter" class="smpl">attribute</a> <a href="#rule.whitespace" class="smpl">BWS</a> "=" <a href="#rule.whitespace" class="smpl">BWS</a> <a href="#rule.parameter" class="smpl">value</a>1550 <div id="rfc.figure.u.31"></div><pre class="inline"><span id="rfc.iref.g.57"></span><span id="rfc.iref.g.58"></span><span id="rfc.iref.g.59"></span><span id="rfc.iref.g.60"></span><span id="rfc.iref.g.61"></span> <a href="#rule.parameter" class="smpl">transfer-parameter</a> = <a href="#rule.parameter" class="smpl">attribute</a> <a href="#rule.whitespace" class="smpl">BWS</a> "=" <a href="#rule.whitespace" class="smpl">BWS</a> <a href="#rule.parameter" class="smpl">value</a> 1581 1551 <a href="#rule.parameter" class="smpl">attribute</a> = <a href="#rule.token.separators" class="smpl">token</a> 1582 1552 <a href="#rule.parameter" class="smpl">value</a> = <a href="#rule.token.separators" class="smpl">word</a> … … 1590 1560 for the recipient to verify that it has received the full message. 1591 1561 </p> 1592 <div id="rfc.figure.u.3 9"></div><pre class="inline"><span id="rfc.iref.g.62"></span><span id="rfc.iref.g.63"></span><span id="rfc.iref.g.64"></span><span id="rfc.iref.g.65"></span><span id="rfc.iref.g.66"></span><span id="rfc.iref.g.67"></span><span id="rfc.iref.g.68"></span><span id="rfc.iref.g.69"></span><span id="rfc.iref.g.70"></span><span id="rfc.iref.g.71"></span><span id="rfc.iref.g.72"></span> <a href="#chunked.encoding" class="smpl">chunked-body</a> = *<a href="#chunked.encoding" class="smpl">chunk</a>1562 <div id="rfc.figure.u.32"></div><pre class="inline"><span id="rfc.iref.g.62"></span><span id="rfc.iref.g.63"></span><span id="rfc.iref.g.64"></span><span id="rfc.iref.g.65"></span><span id="rfc.iref.g.66"></span><span id="rfc.iref.g.67"></span><span id="rfc.iref.g.68"></span><span id="rfc.iref.g.69"></span><span id="rfc.iref.g.70"></span><span id="rfc.iref.g.71"></span><span id="rfc.iref.g.72"></span> <a href="#chunked.encoding" class="smpl">chunked-body</a> = *<a href="#chunked.encoding" class="smpl">chunk</a> 1593 1563 <a href="#chunked.encoding" class="smpl">last-chunk</a> 1594 1564 <a href="#chunked.encoding" class="smpl">trailer-part</a> … … 1630 1600 </p> 1631 1601 <p id="rfc.section.4.1.p.7">A process for decoding the "chunked" transfer-coding can be represented in pseudo-code as:</p> 1632 <div id="rfc.figure.u. 40"></div><pre class="text"> length := 01602 <div id="rfc.figure.u.33"></div><pre class="text"> length := 0 1633 1603 read chunk-size, chunk-ext (if any) and CRLF 1634 1604 while (chunk-size > 0) { … … 1689 1659 accept parameters (as described in <a href="#transfer.codings" title="Transfer Codings">Section 4</a>). 1690 1660 </p> 1691 <div id="rfc.figure.u. 41"></div><pre class="inline"><span id="rfc.iref.g.74"></span><span id="rfc.iref.g.75"></span><span id="rfc.iref.g.76"></span><span id="rfc.iref.g.77"></span> <a href="#header.te" class="smpl">TE</a> = #<a href="#header.te" class="smpl">t-codings</a>1661 <div id="rfc.figure.u.34"></div><pre class="inline"><span id="rfc.iref.g.74"></span><span id="rfc.iref.g.75"></span><span id="rfc.iref.g.76"></span><span id="rfc.iref.g.77"></span> <a href="#header.te" class="smpl">TE</a> = #<a href="#header.te" class="smpl">t-codings</a> 1692 1662 <a href="#header.te" class="smpl">t-codings</a> = "trailers" / ( <a href="#transfer.codings" class="smpl">transfer-extension</a> [ <a href="#header.te" class="smpl">te-params</a> ] ) 1693 1663 <a href="#header.te" class="smpl">te-params</a> = <a href="#rule.whitespace" class="smpl">OWS</a> ";" <a href="#rule.whitespace" class="smpl">OWS</a> "q=" <a href="#quality.values" class="smpl">qvalue</a> *( <a href="#header.te" class="smpl">te-ext</a> ) … … 1697 1667 </p> 1698 1668 <p id="rfc.section.4.3.p.5">Examples of its use are:</p> 1699 <div id="rfc.figure.u. 42"></div><pre class="text"> TE: deflate1669 <div id="rfc.figure.u.35"></div><pre class="text"> TE: deflate 1700 1670 TE: 1701 1671 TE: trailers, deflate;q=0.5 … … 1733 1703 a quality value of 0, then content with this parameter is "not acceptable" for the client. HTTP/1.1 applications <em class="bcp14">MUST NOT</em> generate more than three digits after the decimal point. User configuration of these values <em class="bcp14">SHOULD</em> also be limited in this fashion. 1734 1704 </p> 1735 <div id="rfc.figure.u. 43"></div><pre class="inline"><span id="rfc.iref.g.78"></span> <a href="#quality.values" class="smpl">qvalue</a> = ( "0" [ "." 0*3<a href="#core.rules" class="smpl">DIGIT</a> ] )1705 <div id="rfc.figure.u.36"></div><pre class="inline"><span id="rfc.iref.g.78"></span> <a href="#quality.values" class="smpl">qvalue</a> = ( "0" [ "." 0*3<a href="#core.rules" class="smpl">DIGIT</a> ] ) 1736 1706 / ( "1" [ "." 0*3("0") ] ) 1737 1707 </pre><div class="note" id="rfc.section.4.3.1.p.3"> … … 1745 1715 chunked transfer-coding. 1746 1716 </p> 1747 <div id="rfc.figure.u. 44"></div><pre class="inline"><span id="rfc.iref.g.79"></span> <a href="#header.trailer" class="smpl">Trailer</a> = 1#<a href="#header.fields" class="smpl">field-name</a>1717 <div id="rfc.figure.u.37"></div><pre class="inline"><span id="rfc.iref.g.79"></span> <a href="#header.trailer" class="smpl">Trailer</a> = 1#<a href="#header.fields" class="smpl">field-name</a> 1748 1718 </pre><p id="rfc.section.4.4.p.3">An HTTP/1.1 message <em class="bcp14">SHOULD</em> include a Trailer header field in a message using chunked transfer-coding with a non-empty trailer. Doing so allows the recipient 1749 1719 to know which header fields to expect in the trailer. … … 1796 1766 both the method being requested and whether the request is to a proxy. 1797 1767 </p> 1798 <div id="rfc.figure.u. 45"></div><pre class="inline"><span id="rfc.iref.g.80"></span><span id="rfc.iref.g.81"></span><span id="rfc.iref.g.82"></span><span id="rfc.iref.g.83"></span><span id="rfc.iref.g.84"></span> <a href="#request-target" class="smpl">request-target</a> = <a href="#origin-form" class="smpl">origin-form</a>1768 <div id="rfc.figure.u.38"></div><pre class="inline"><span id="rfc.iref.g.80"></span><span id="rfc.iref.g.81"></span><span id="rfc.iref.g.82"></span><span id="rfc.iref.g.83"></span><span id="rfc.iref.g.84"></span> <a href="#request-target" class="smpl">request-target</a> = <a href="#origin-form" class="smpl">origin-form</a> 1799 1769 / <a href="#absolute-form" class="smpl">absolute-form</a> 1800 1770 / <a href="#authority-form" class="smpl">authority-form</a> … … 1812 1782 </div> 1813 1783 <p id="rfc.section.5.3.p.4">For example, a client wishing to retrieve a representation of the resource identified as</p> 1814 <div id="rfc.figure.u. 46"></div><pre class="text">http://www.example.org/where?q=now1784 <div id="rfc.figure.u.39"></div><pre class="text">http://www.example.org/where?q=now 1815 1785 </pre><p id="rfc.section.5.3.p.6">directly from the origin server would open (or reuse) a TCP connection to port 80 of the host "www.example.org" and send the 1816 1786 lines: 1817 1787 </p> 1818 <div id="rfc.figure.u.4 7"></div><pre class="text2">GET /where?q=now HTTP/1.11788 <div id="rfc.figure.u.40"></div><pre class="text2">GET /where?q=now HTTP/1.1 1819 1789 Host: www.example.org 1820 1790 </pre><p id="rfc.section.5.3.p.8">followed by the remainder of the request message.</p> … … 1826 1796 </div> 1827 1797 <p id="rfc.section.5.3.p.10">An example absolute-form of request-line would be:</p> 1828 <div id="rfc.figure.u.4 8"></div><pre class="text2">GET http://www.example.org/pub/WWW/TheProject.html HTTP/1.11798 <div id="rfc.figure.u.41"></div><pre class="text2">GET http://www.example.org/pub/WWW/TheProject.html HTTP/1.1 1829 1799 </pre><p id="rfc.section.5.3.p.12">To allow for transition to the absolute-form for all requests in some future version of HTTP, HTTP/1.1 servers <em class="bcp14">MUST</em> accept the absolute-form in requests, even though HTTP/1.1 clients will only send them in requests to proxies. 1830 1800 </p> … … 1833 1803 </p> 1834 1804 </div> 1835 <div id="rfc.figure.u.4 9"></div><pre class="text2">CONNECT www.example.com:80 HTTP/1.11805 <div id="rfc.figure.u.42"></div><pre class="text2">CONNECT www.example.com:80 HTTP/1.1 1836 1806 </pre><div id="asterisk-form"> 1837 1807 <p id="rfc.section.5.3.p.15"><span id="rfc.iref.a.4"></span> The asterisk-form of request-target is only used for a server-wide OPTIONS request (<a href="p2-semantics.html#OPTIONS" title="OPTIONS">Section 2.3.1</a> of <a href="#Part2" id="rfc.xref.Part2.14"><cite title="HTTP/1.1, part 2: Message Semantics, Payload and Content Negotiation">[Part2]</cite></a>). When a client wishes to request OPTIONS for the server as a whole, as opposed to a specific named resource of that server, … … 1839 1809 </p> 1840 1810 </div> 1841 <div id="rfc.figure.u. 50"></div><pre class="text2">OPTIONS * HTTP/1.11811 <div id="rfc.figure.u.43"></div><pre class="text2">OPTIONS * HTTP/1.1 1842 1812 </pre><p id="rfc.section.5.3.p.17">If a proxy receives an OPTIONS request with an absolute-form of request-target in which the URI has an empty path and no query 1843 1813 component, then the last proxy on the request chain <em class="bcp14">MUST</em> send a request-target of "*" when it forwards the request to the indicated origin server. 1844 1814 </p> 1845 <div id="rfc.figure.u. 51"></div>1815 <div id="rfc.figure.u.44"></div> 1846 1816 <p>For example, the request</p><pre class="text2">OPTIONS http://www.example.org:8001 HTTP/1.1 1847 </pre><div id="rfc.figure.u. 52"></div>1817 </pre><div id="rfc.figure.u.45"></div> 1848 1818 <p>would be forwarded by the final proxy as</p><pre class="text2">OPTIONS * HTTP/1.1 1849 1819 Host: www.example.org:8001 … … 1856 1826 is critical information for handling a request, it <em class="bcp14">SHOULD</em> be sent as the first header field following the request-line. 1857 1827 </p> 1858 <div id="rfc.figure.u. 53"></div><pre class="inline"><span id="rfc.iref.g.85"></span> <a href="#header.host" class="smpl">Host</a> = <a href="#uri" class="smpl">uri-host</a> [ ":" <a href="#uri" class="smpl">port</a> ] ; <a href="#http.uri" title="http URI scheme">Section 2.8.1</a>1828 <div id="rfc.figure.u.46"></div><pre class="inline"><span id="rfc.iref.g.85"></span> <a href="#header.host" class="smpl">Host</a> = <a href="#uri" class="smpl">uri-host</a> [ ":" <a href="#uri" class="smpl">port</a> ] ; <a href="#http.uri" title="http URI scheme">Section 2.8.1</a> 1859 1829 </pre><p id="rfc.section.5.4.p.3">A client <em class="bcp14">MUST</em> send a Host header field in all HTTP/1.1 request messages. If the target URI includes an authority component, then the Host 1860 1830 field-value <em class="bcp14">MUST</em> be identical to that authority component after excluding any userinfo (<a href="#http.uri" title="http URI scheme">Section 2.8.1</a>). If the authority component is missing or undefined for the target URI, then the Host header field <em class="bcp14">MUST</em> be sent with an empty field-value. 1861 1831 </p> 1862 1832 <p id="rfc.section.5.4.p.4">For example, a GET request to the origin server for <http://www.example.org/pub/WWW/> would begin with:</p> 1863 <div id="rfc.figure.u. 54"></div><pre class="text2">GET /pub/WWW/ HTTP/1.11833 <div id="rfc.figure.u.47"></div><pre class="text2">GET /pub/WWW/ HTTP/1.1 1864 1834 Host: www.example.org 1865 1835 </pre><p id="rfc.section.5.4.p.6">The Host header field <em class="bcp14">MUST</em> be sent in an HTTP/1.1 request even if the request-target is in the absolute-form, since this allows the Host information … … 1900 1870 the scheme, "://", authority, and combined path and query component. 1901 1871 </p> 1902 <div id="rfc.figure.u. 55"></div>1872 <div id="rfc.figure.u.48"></div> 1903 1873 <p>Example 1: the following message received over an insecure TCP connection</p> <pre class="text">GET /pub/WWW/TheProject.html HTTP/1.1 1904 1874 Host: www.example.org:8080 1905 </pre> <div id="rfc.figure.u. 56"></div>1875 </pre> <div id="rfc.figure.u.49"></div> 1906 1876 <p>has an effective request URI of</p> <pre class="text">http://www.example.org:8080/pub/WWW/TheProject.html 1907 </pre> <div id="rfc.figure.u.5 7"></div>1877 </pre> <div id="rfc.figure.u.50"></div> 1908 1878 <p>Example 2: the following message received over an SSL/TLS-secured TCP connection</p> <pre class="text">OPTIONS * HTTP/1.1 1909 1879 Host: www.example.org 1910 </pre> <div id="rfc.figure.u.5 8"></div>1880 </pre> <div id="rfc.figure.u.51"></div> 1911 1881 <p>has an effective request URI of</p> <pre class="text">https://www.example.org 1912 1882 </pre> <p id="rfc.section.5.5.p.12">An origin server that does not allow resources to differ by requested host <em class="bcp14">MAY</em> ignore the <a href="#header.host" class="smpl">Host</a> field-value and instead replace it with a configured server name when constructing the effective request URI. … … 2023 1993 </p> 2024 1994 <p id="rfc.section.6.1.p.2">The Connection header field's value has the following grammar:</p> 2025 <div id="rfc.figure.u.5 9"></div><pre class="inline"><span id="rfc.iref.g.86"></span><span id="rfc.iref.g.87"></span> <a href="#header.connection" class="smpl">Connection</a> = 1#<a href="#header.connection" class="smpl">connection-option</a>1995 <div id="rfc.figure.u.52"></div><pre class="inline"><span id="rfc.iref.g.86"></span><span id="rfc.iref.g.87"></span> <a href="#header.connection" class="smpl">Connection</a> = 1#<a href="#header.connection" class="smpl">connection-option</a> 2026 1996 <a href="#header.connection" class="smpl">connection-option</a> = <a href="#rule.token.separators" class="smpl">token</a> 2027 1997 </pre><p id="rfc.section.6.1.p.4">Connection options are compared case-insensitively.</p> … … 2048 2018 of the response. For example, 2049 2019 </p> 2050 <div id="rfc.figure.u. 60"></div><pre class="text"> Connection: close2020 <div id="rfc.figure.u.53"></div><pre class="text"> Connection: close 2051 2021 </pre><p id="rfc.section.6.1.p.11">in either the request or the response header fields indicates that the connection <em class="bcp14">SHOULD NOT</em> be considered "persistent" (<a href="#persistent.connections" title="Persistent Connections">Section 6.3</a>) after the current request/response is complete. 2052 2022 </p> … … 2063 2033 of all senders along the request/response chain. 2064 2034 </p> 2065 <div id="rfc.figure.u. 61"></div><pre class="inline"><span id="rfc.iref.g.88"></span><span id="rfc.iref.g.89"></span><span id="rfc.iref.g.90"></span><span id="rfc.iref.g.91"></span><span id="rfc.iref.g.92"></span><span id="rfc.iref.g.93"></span> <a href="#header.via" class="smpl">Via</a> = 1#( <a href="#header.via" class="smpl">received-protocol</a> <a href="#rule.whitespace" class="smpl">RWS</a> <a href="#header.via" class="smpl">received-by</a>2035 <div id="rfc.figure.u.54"></div><pre class="inline"><span id="rfc.iref.g.88"></span><span id="rfc.iref.g.89"></span><span id="rfc.iref.g.90"></span><span id="rfc.iref.g.91"></span><span id="rfc.iref.g.92"></span><span id="rfc.iref.g.93"></span> <a href="#header.via" class="smpl">Via</a> = 1#( <a href="#header.via" class="smpl">received-protocol</a> <a href="#rule.whitespace" class="smpl">RWS</a> <a href="#header.via" class="smpl">received-by</a> 2066 2036 [ <a href="#rule.whitespace" class="smpl">RWS</a> <a href="#rule.comment" class="smpl">comment</a> ] ) 2067 2037 <a href="#header.via" class="smpl">received-protocol</a> = [ <a href="#header.upgrade" class="smpl">protocol-name</a> "/" ] <a href="#header.upgrade" class="smpl">protocol-version</a> … … 2084 2054 server at www.example.com. The request received by www.example.com would then have the following Via header field: 2085 2055 </p> 2086 <div id="rfc.figure.u. 62"></div><pre class="text"> Via: 1.0 fred, 1.1 p.example.net (Apache/1.1)2056 <div id="rfc.figure.u.55"></div><pre class="text"> Via: 1.0 fred, 1.1 p.example.net (Apache/1.1) 2087 2057 </pre><p id="rfc.section.6.2.p.9">A proxy or gateway used as a portal through a network firewall <em class="bcp14">SHOULD NOT</em> forward the names and ports of hosts within the firewall region unless it is explicitly enabled to do so. If not enabled, 2088 2058 the received-by host of any host behind the firewall <em class="bcp14">SHOULD</em> be replaced by an appropriate pseudonym for that host. … … 2091 2061 For example, 2092 2062 </p> 2093 <div id="rfc.figure.u. 63"></div><pre class="text"> Via: 1.0 ricky, 1.1 ethel, 1.1 fred, 1.0 lucy2063 <div id="rfc.figure.u.56"></div><pre class="text"> Via: 1.0 ricky, 1.1 ethel, 1.1 fred, 1.0 lucy 2094 2064 </pre><p id="rfc.section.6.2.p.12">could be collapsed to</p> 2095 <div id="rfc.figure.u. 64"></div><pre class="text"> Via: 1.0 ricky, 1.1 mertz, 1.0 lucy2065 <div id="rfc.figure.u.57"></div><pre class="text"> Via: 1.0 ricky, 1.1 mertz, 1.0 lucy 2096 2066 </pre><p id="rfc.section.6.2.p.14">Senders <em class="bcp14">SHOULD NOT</em> combine multiple entries unless they are all under the same organizational control and the hosts have already been replaced 2097 2067 by pseudonyms. Senders <em class="bcp14">MUST NOT</em> combine entries which have different received-protocol values. … … 2255 2225 server chooses to switch protocols. Servers can use it to indicate what protocols they are willing to switch to. 2256 2226 </p> 2257 <div id="rfc.figure.u. 65"></div><pre class="inline"><span id="rfc.iref.g.94"></span> <a href="#header.upgrade" class="smpl">Upgrade</a> = 1#<a href="#header.upgrade" class="smpl">protocol</a>2227 <div id="rfc.figure.u.58"></div><pre class="inline"><span id="rfc.iref.g.94"></span> <a href="#header.upgrade" class="smpl">Upgrade</a> = 1#<a href="#header.upgrade" class="smpl">protocol</a> 2258 2228 2259 2229 <a href="#header.upgrade" class="smpl">protocol</a> = <a href="#header.upgrade" class="smpl">protocol-name</a> ["/" <a href="#header.upgrade" class="smpl">protocol-version</a>] … … 2261 2231 <a href="#header.upgrade" class="smpl">protocol-version</a> = <a href="#rule.token.separators" class="smpl">token</a> 2262 2232 </pre><p id="rfc.section.6.5.p.3">For example,</p> 2263 <div id="rfc.figure.u. 66"></div><pre class="text"> Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x112233 <div id="rfc.figure.u.59"></div><pre class="text"> Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11 2264 2234 </pre><p id="rfc.section.6.5.p.5">The Upgrade header field is intended to provide a simple mechanism for transitioning from HTTP/1.1 to some other, incompatible 2265 2235 protocol. It does so by allowing the client to advertise its desire to use another protocol, such as a later version of HTTP … … 3018 2988 rule was removed). (<a href="#field.components" title="Field value components">Section 3.2.4</a>) 3019 2989 </p> 3020 <p id="rfc.section.A.2.p.6">Empty list elements in list productions have been deprecated. (<a href="#abnf.extension" title="ABNF list extension: #rule"> Section 3.2.5</a>)2990 <p id="rfc.section.A.2.p.6">Empty list elements in list productions have been deprecated. (<a href="#abnf.extension" title="ABNF list extension: #rule">Appendix B</a>) 3021 2991 </p> 3022 2992 <p id="rfc.section.A.2.p.7">Require recipients to handle bogus <a href="#header.content-length" class="smpl">Content-Length</a> header fields as errors. (<a href="#message.body" title="Message Body">Section 3.3</a>) … … 3041 3011 <p id="rfc.section.A.2.p.16">Take over the Upgrade Token Registry, previously defined in <a href="http://tools.ietf.org/html/rfc2817#section-7.2">Section 7.2</a> of <a href="#RFC2817" id="rfc.xref.RFC2817.4"><cite title="Upgrading to TLS Within HTTP/1.1">[RFC2817]</cite></a>. (<a href="#upgrade.token.registry" title="Upgrade Token Registry">Section 7.6</a>) 3042 3012 </p> 3043 <h1 id="rfc.section.B"><a href="#rfc.section.B">B.</a> <a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1> 3013 <h1 id="rfc.section.B"><a href="#rfc.section.B">B.</a> <a id="abnf.extension" href="#abnf.extension">ABNF list extension: #rule</a></h1> 3014 <p id="rfc.section.B.p.1">A #rule extension to the ABNF rules of <a href="#RFC5234" id="rfc.xref.RFC5234.3"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a> is used to improve readability in the definitions of some header field values. 3015 </p> 3016 <p id="rfc.section.B.p.2">A construct "#" is defined, similar to "*", for defining comma-delimited lists of elements. The full form is "<n>#<m>element" 3017 indicating at least <n> and at most <m> elements, each separated by a single comma (",") and optional whitespace (OWS). 3018 </p> 3019 <div id="rfc.figure.u.60"></div> 3020 <p>Thus,</p><pre class="text"> 1#element => element *( OWS "," OWS element ) 3021 </pre><div id="rfc.figure.u.61"></div> 3022 <p>and:</p><pre class="text"> #element => [ 1#element ] 3023 </pre><div id="rfc.figure.u.62"></div> 3024 <p>and for n >= 1 and m > 1:</p><pre class="text"> <n>#<m>element => element <n-1>*<m-1>( OWS "," OWS element ) 3025 </pre><p id="rfc.section.B.p.6">For compatibility with legacy list rules, recipients <em class="bcp14">SHOULD</em> accept empty list elements. In other words, consumers would follow the list productions: 3026 </p> 3027 <div id="rfc.figure.u.63"></div><pre class="text"> #element => [ ( "," / element ) *( OWS "," [ OWS element ] ) ] 3028 3029 1#element => *( "," OWS ) element *( OWS "," [ OWS element ] ) 3030 </pre><p id="rfc.section.B.p.8">Note that empty elements do not contribute to the count of elements present, though.</p> 3031 <p id="rfc.section.B.p.9">For example, given these ABNF productions:</p> 3032 <div id="rfc.figure.u.64"></div><pre class="text"> example-list = 1#example-list-elmt 3033 example-list-elmt = token ; see <a href="#field.components" title="Field value components">Section 3.2.4</a> 3034 </pre><p id="rfc.section.B.p.11">Then these are valid values for example-list (not including the double quotes, which are present for delimitation only):</p> 3035 <div id="rfc.figure.u.65"></div><pre class="text"> "foo,bar" 3036 "foo ,bar," 3037 "foo , ,bar,charlie " 3038 </pre><p id="rfc.section.B.p.13">But these values would be invalid, as at least one non-empty element is required:</p> 3039 <div id="rfc.figure.u.66"></div><pre class="text"> "" 3040 "," 3041 ", ," 3042 </pre><p id="rfc.section.B.p.15"> <a href="#collected.abnf" title="Collected ABNF">Appendix C</a> shows the collected ABNF, with the list rules expanded as explained above. 3043 </p> 3044 <h1 id="rfc.section.C"><a href="#rfc.section.C">C.</a> <a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1> 3044 3045 <div id="rfc.figure.u.67"></div> <pre class="inline"><a href="#rule.whitespace" class="smpl">BWS</a> = OWS 3045 3046 … … 3161 3162 3162 3163 <a href="#rule.token.separators" class="smpl">word</a> = token / quoted-string 3163 </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>3164 <h2 id="rfc.section. C.1"><a href="#rfc.section.C.1">C.1</a> Since RFC 26163164 </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> 3165 <h2 id="rfc.section.D.1"><a href="#rfc.section.D.1">D.1</a> Since RFC 2616 3165 3166 </h2> 3166 <p id="rfc.section. C.1.p.1">Extracted relevant partitions from <a href="#RFC2616" id="rfc.xref.RFC2616.6"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a>.3167 </p> 3168 <h2 id="rfc.section. C.2"><a href="#rfc.section.C.2">C.2</a> Since draft-ietf-httpbis-p1-messaging-003167 <p id="rfc.section.D.1.p.1">Extracted relevant partitions from <a href="#RFC2616" id="rfc.xref.RFC2616.6"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a>. 3168 </p> 3169 <h2 id="rfc.section.D.2"><a href="#rfc.section.D.2">D.2</a> Since draft-ietf-httpbis-p1-messaging-00 3169 3170 </h2> 3170 <p id="rfc.section. C.2.p.1">Closed issues: </p>3171 <p id="rfc.section.D.2.p.1">Closed issues: </p> 3171 3172 <ul> 3172 3173 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/1">http://tools.ietf.org/wg/httpbis/trac/ticket/1</a>>: "HTTP Version should be case sensitive" (<<a href="http://purl.org/NET/http-errata#verscase">http://purl.org/NET/http-errata#verscase</a>>) … … 3209 3210 </li> 3210 3211 </ul> 3211 <p id="rfc.section. C.2.p.2">Other changes: </p>3212 <p id="rfc.section.D.2.p.2">Other changes: </p> 3212 3213 <ul> 3213 3214 <li>Update media type registrations to use RFC4288 template.</li> … … 3215 3216 </li> 3216 3217 </ul> 3217 <h2 id="rfc.section. C.3"><a href="#rfc.section.C.3">C.3</a> Since draft-ietf-httpbis-p1-messaging-013218 <h2 id="rfc.section.D.3"><a href="#rfc.section.D.3">D.3</a> Since draft-ietf-httpbis-p1-messaging-01 3218 3219 </h2> 3219 <p id="rfc.section. C.3.p.1">Closed issues: </p>3220 <p id="rfc.section.D.3.p.1">Closed issues: </p> 3220 3221 <ul> 3221 3222 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/19">http://tools.ietf.org/wg/httpbis/trac/ticket/19</a>>: "Bodies on GET (and other) requests" … … 3228 3229 </li> 3229 3230 </ul> 3230 <p id="rfc.section. C.3.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>>):3231 <p id="rfc.section.D.3.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>>): 3231 3232 </p> 3232 3233 <ul> … … 3243 3244 <li>Rewrite prose rule "token" in terms of "tchar", rewrite prose rule "TEXT".</li> 3244 3245 </ul> 3245 <h2 id="rfc.section. C.4"><a href="#rfc.section.C.4">C.4</a> <a id="changes.since.02" href="#changes.since.02">Since draft-ietf-httpbis-p1-messaging-02</a></h2>3246 <p id="rfc.section. C.4.p.1">Closed issues: </p>3246 <h2 id="rfc.section.D.4"><a href="#rfc.section.D.4">D.4</a> <a id="changes.since.02" href="#changes.since.02">Since draft-ietf-httpbis-p1-messaging-02</a></h2> 3247 <p id="rfc.section.D.4.p.1">Closed issues: </p> 3247 3248 <ul> 3248 3249 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/51">http://tools.ietf.org/wg/httpbis/trac/ticket/51</a>>: "HTTP-date vs. rfc1123-date" … … 3251 3252 </li> 3252 3253 </ul> 3253 <p id="rfc.section. C.4.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>>):3254 <p id="rfc.section.D.4.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>>): 3254 3255 </p> 3255 3256 <ul> 3256 3257 <li>Reference RFC 3984, and update header field registrations for header fields defined in this document.</li> 3257 3258 </ul> 3258 <p id="rfc.section. C.4.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>>):3259 <p id="rfc.section.D.4.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>>): 3259 3260 </p> 3260 3261 <ul> 3261 3262 <li>Replace string literals when the string really is case-sensitive (HTTP-version).</li> 3262 3263 </ul> 3263 <h2 id="rfc.section. C.5"><a href="#rfc.section.C.5">C.5</a> <a id="changes.since.03" href="#changes.since.03">Since draft-ietf-httpbis-p1-messaging-03</a></h2>3264 <p id="rfc.section. C.5.p.1">Closed issues: </p>3264 <h2 id="rfc.section.D.5"><a href="#rfc.section.D.5">D.5</a> <a id="changes.since.03" href="#changes.since.03">Since draft-ietf-httpbis-p1-messaging-03</a></h2> 3265 <p id="rfc.section.D.5.p.1">Closed issues: </p> 3265 3266 <ul> 3266 3267 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/28">http://tools.ietf.org/wg/httpbis/trac/ticket/28</a>>: "Connection closing" … … 3277 3278 </li> 3278 3279 </ul> 3279 <p id="rfc.section. C.5.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>>):3280 <p id="rfc.section.D.5.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>>): 3280 3281 </p> 3281 3282 <ul> … … 3283 3284 <li>Replace HEX by HEXDIG for future consistence with RFC 5234's core rules.</li> 3284 3285 </ul> 3285 <h2 id="rfc.section. C.6"><a href="#rfc.section.C.6">C.6</a> <a id="changes.since.04" href="#changes.since.04">Since draft-ietf-httpbis-p1-messaging-04</a></h2>3286 <p id="rfc.section. C.6.p.1">Closed issues: </p>3286 <h2 id="rfc.section.D.6"><a href="#rfc.section.D.6">D.6</a> <a id="changes.since.04" href="#changes.since.04">Since draft-ietf-httpbis-p1-messaging-04</a></h2> 3287 <p id="rfc.section.D.6.p.1">Closed issues: </p> 3287 3288 <ul> 3288 3289 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/34">http://tools.ietf.org/wg/httpbis/trac/ticket/34</a>>: "Out-of-date reference for URIs" … … 3291 3292 </li> 3292 3293 </ul> 3293 <p id="rfc.section. C.6.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>>):3294 <p id="rfc.section.D.6.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>>): 3294 3295 </p> 3295 3296 <ul> … … 3300 3301 <li>Rewrite ABNFs to spell out whitespace rules, factor out header field value format definitions.</li> 3301 3302 </ul> 3302 <h2 id="rfc.section. C.7"><a href="#rfc.section.C.7">C.7</a> <a id="changes.since.05" href="#changes.since.05">Since draft-ietf-httpbis-p1-messaging-05</a></h2>3303 <p id="rfc.section. C.7.p.1">Closed issues: </p>3303 <h2 id="rfc.section.D.7"><a href="#rfc.section.D.7">D.7</a> <a id="changes.since.05" href="#changes.since.05">Since draft-ietf-httpbis-p1-messaging-05</a></h2> 3304 <p id="rfc.section.D.7.p.1">Closed issues: </p> 3304 3305 <ul> 3305 3306 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/30">http://tools.ietf.org/wg/httpbis/trac/ticket/30</a>>: "Header LWS" … … 3324 3325 </li> 3325 3326 </ul> 3326 <p id="rfc.section. C.7.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>>):3327 <p id="rfc.section.D.7.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>>): 3327 3328 </p> 3328 3329 <ul> … … 3330 3331 <li>Add appendix containing collected and expanded ABNF.</li> 3331 3332 </ul> 3332 <p id="rfc.section. C.7.p.3">Other changes: </p>3333 <p id="rfc.section.D.7.p.3">Other changes: </p> 3333 3334 <ul> 3334 3335 <li>Rewrite introduction; add mostly new Architecture Section.</li> … … 3337 3338 </li> 3338 3339 </ul> 3339 <h2 id="rfc.section. C.8"><a href="#rfc.section.C.8">C.8</a> <a id="changes.since.06" href="#changes.since.06">Since draft-ietf-httpbis-p1-messaging-06</a></h2>3340 <p id="rfc.section. C.8.p.1">Closed issues: </p>3340 <h2 id="rfc.section.D.8"><a href="#rfc.section.D.8">D.8</a> <a id="changes.since.06" href="#changes.since.06">Since draft-ietf-httpbis-p1-messaging-06</a></h2> 3341 <p id="rfc.section.D.8.p.1">Closed issues: </p> 3341 3342 <ul> 3342 3343 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/161">http://tools.ietf.org/wg/httpbis/trac/ticket/161</a>>: "base for numeric protocol elements" … … 3345 3346 </li> 3346 3347 </ul> 3347 <p id="rfc.section. C.8.p.2">Partly resolved issues: </p>3348 <p id="rfc.section.D.8.p.2">Partly resolved issues: </p> 3348 3349 <ul> 3349 3350 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/88">http://tools.ietf.org/wg/httpbis/trac/ticket/88</a>>: "205 Bodies" (took out language that implied that there might be methods for which a request body MUST NOT be included) … … 3352 3353 </li> 3353 3354 </ul> 3354 <h2 id="rfc.section. C.9"><a href="#rfc.section.C.9">C.9</a> <a id="changes.since.07" href="#changes.since.07">Since draft-ietf-httpbis-p1-messaging-07</a></h2>3355 <p id="rfc.section. C.9.p.1">Closed issues: </p>3355 <h2 id="rfc.section.D.9"><a href="#rfc.section.D.9">D.9</a> <a id="changes.since.07" href="#changes.since.07">Since draft-ietf-httpbis-p1-messaging-07</a></h2> 3356 <p id="rfc.section.D.9.p.1">Closed issues: </p> 3356 3357 <ul> 3357 3358 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/93">http://tools.ietf.org/wg/httpbis/trac/ticket/93</a>>: "Repeating single-value header fields" … … 3374 3375 </li> 3375 3376 </ul> 3376 <p id="rfc.section. C.9.p.2">Partly resolved issues: </p>3377 <p id="rfc.section.D.9.p.2">Partly resolved issues: </p> 3377 3378 <ul> 3378 3379 <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) 3379 3380 </li> 3380 3381 </ul> 3381 <h2 id="rfc.section. C.10"><a href="#rfc.section.C.10">C.10</a> <a id="changes.since.08" href="#changes.since.08">Since draft-ietf-httpbis-p1-messaging-08</a></h2>3382 <p id="rfc.section. C.10.p.1">Closed issues: </p>3382 <h2 id="rfc.section.D.10"><a href="#rfc.section.D.10">D.10</a> <a id="changes.since.08" href="#changes.since.08">Since draft-ietf-httpbis-p1-messaging-08</a></h2> 3383 <p id="rfc.section.D.10.p.1">Closed issues: </p> 3383 3384 <ul> 3384 3385 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/201">http://tools.ietf.org/wg/httpbis/trac/ticket/201</a>>: "header parsing, treatment of leading and trailing OWS" 3385 3386 </li> 3386 3387 </ul> 3387 <p id="rfc.section. C.10.p.2">Partly resolved issues: </p>3388 <p id="rfc.section.D.10.p.2">Partly resolved issues: </p> 3388 3389 <ul> 3389 3390 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/60">http://tools.ietf.org/wg/httpbis/trac/ticket/60</a>>: "Placement of 13.5.1 and 13.5.2" … … 3392 3393 </li> 3393 3394 </ul> 3394 <h2 id="rfc.section. C.11"><a href="#rfc.section.C.11">C.11</a> <a id="changes.since.09" href="#changes.since.09">Since draft-ietf-httpbis-p1-messaging-09</a></h2>3395 <p id="rfc.section. C.11.p.1">Closed issues: </p>3395 <h2 id="rfc.section.D.11"><a href="#rfc.section.D.11">D.11</a> <a id="changes.since.09" href="#changes.since.09">Since draft-ietf-httpbis-p1-messaging-09</a></h2> 3396 <p id="rfc.section.D.11.p.1">Closed issues: </p> 3396 3397 <ul> 3397 3398 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/73">http://tools.ietf.org/wg/httpbis/trac/ticket/73</a>>: "Clarification of the term 'deflate'" … … 3408 3409 </li> 3409 3410 </ul> 3410 <p id="rfc.section. C.11.p.2">Partly resolved issues: </p>3411 <p id="rfc.section.D.11.p.2">Partly resolved issues: </p> 3411 3412 <ul> 3412 3413 <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" 3413 3414 </li> 3414 3415 </ul> 3415 <h2 id="rfc.section. C.12"><a href="#rfc.section.C.12">C.12</a> <a id="changes.since.10" href="#changes.since.10">Since draft-ietf-httpbis-p1-messaging-10</a></h2>3416 <p id="rfc.section. C.12.p.1">Closed issues: </p>3416 <h2 id="rfc.section.D.12"><a href="#rfc.section.D.12">D.12</a> <a id="changes.since.10" href="#changes.since.10">Since draft-ietf-httpbis-p1-messaging-10</a></h2> 3417 <p id="rfc.section.D.12.p.1">Closed issues: </p> 3417 3418 <ul> 3418 3419 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/28">http://tools.ietf.org/wg/httpbis/trac/ticket/28</a>>: "Connection Closing" … … 3427 3428 </li> 3428 3429 </ul> 3429 <p id="rfc.section. C.12.p.2">Partly resolved issues: </p>3430 <p id="rfc.section.D.12.p.2">Partly resolved issues: </p> 3430 3431 <ul> 3431 3432 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/159">http://tools.ietf.org/wg/httpbis/trac/ticket/159</a>>: "HTTP(s) URI scheme definitions" 3432 3433 </li> 3433 3434 </ul> 3434 <h2 id="rfc.section. C.13"><a href="#rfc.section.C.13">C.13</a> <a id="changes.since.11" href="#changes.since.11">Since draft-ietf-httpbis-p1-messaging-11</a></h2>3435 <p id="rfc.section. C.13.p.1">Closed issues: </p>3435 <h2 id="rfc.section.D.13"><a href="#rfc.section.D.13">D.13</a> <a id="changes.since.11" href="#changes.since.11">Since draft-ietf-httpbis-p1-messaging-11</a></h2> 3436 <p id="rfc.section.D.13.p.1">Closed issues: </p> 3436 3437 <ul> 3437 3438 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/193">http://tools.ietf.org/wg/httpbis/trac/ticket/193</a>>: "Trailer requirements" … … 3444 3445 </li> 3445 3446 </ul> 3446 <p id="rfc.section. C.13.p.2">Partly resolved issues: </p>3447 <p id="rfc.section.D.13.p.2">Partly resolved issues: </p> 3447 3448 <ul> 3448 3449 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/95">http://tools.ietf.org/wg/httpbis/trac/ticket/95</a>>: "Handling multiple Content-Length header fields" 3449 3450 </li> 3450 3451 </ul> 3451 <h2 id="rfc.section. C.14"><a href="#rfc.section.C.14">C.14</a> <a id="changes.since.12" href="#changes.since.12">Since draft-ietf-httpbis-p1-messaging-12</a></h2>3452 <p id="rfc.section. C.14.p.1">Closed issues: </p>3452 <h2 id="rfc.section.D.14"><a href="#rfc.section.D.14">D.14</a> <a id="changes.since.12" href="#changes.since.12">Since draft-ietf-httpbis-p1-messaging-12</a></h2> 3453 <p id="rfc.section.D.14.p.1">Closed issues: </p> 3453 3454 <ul> 3454 3455 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/75">http://tools.ietf.org/wg/httpbis/trac/ticket/75</a>>: "RFC2145 Normative" … … 3469 3470 </li> 3470 3471 </ul> 3471 <h2 id="rfc.section. C.15"><a href="#rfc.section.C.15">C.15</a> <a id="changes.since.13" href="#changes.since.13">Since draft-ietf-httpbis-p1-messaging-13</a></h2>3472 <p id="rfc.section. C.15.p.1">Closed issues: </p>3472 <h2 id="rfc.section.D.15"><a href="#rfc.section.D.15">D.15</a> <a id="changes.since.13" href="#changes.since.13">Since draft-ietf-httpbis-p1-messaging-13</a></h2> 3473 <p id="rfc.section.D.15.p.1">Closed issues: </p> 3473 3474 <ul> 3474 3475 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/53">http://tools.ietf.org/wg/httpbis/trac/ticket/53</a>>: "Allow is not in 13.5.2" … … 3481 3482 </li> 3482 3483 </ul> 3483 <h2 id="rfc.section. C.16"><a href="#rfc.section.C.16">C.16</a> <a id="changes.since.14" href="#changes.since.14">Since draft-ietf-httpbis-p1-messaging-14</a></h2>3484 <p id="rfc.section. C.16.p.1">Closed issues: </p>3484 <h2 id="rfc.section.D.16"><a href="#rfc.section.D.16">D.16</a> <a id="changes.since.14" href="#changes.since.14">Since draft-ietf-httpbis-p1-messaging-14</a></h2> 3485 <p id="rfc.section.D.16.p.1">Closed issues: </p> 3485 3486 <ul> 3486 3487 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/273">http://tools.ietf.org/wg/httpbis/trac/ticket/273</a>>: "HTTP-version should be redefined as fixed length pair of DIGIT . DIGIT" … … 3493 3494 </li> 3494 3495 </ul> 3495 <h2 id="rfc.section. C.17"><a href="#rfc.section.C.17">C.17</a> <a id="changes.since.15" href="#changes.since.15">Since draft-ietf-httpbis-p1-messaging-15</a></h2>3496 <p id="rfc.section. C.17.p.1">Closed issues: </p>3496 <h2 id="rfc.section.D.17"><a href="#rfc.section.D.17">D.17</a> <a id="changes.since.15" href="#changes.since.15">Since draft-ietf-httpbis-p1-messaging-15</a></h2> 3497 <p id="rfc.section.D.17.p.1">Closed issues: </p> 3497 3498 <ul> 3498 3499 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/100">http://tools.ietf.org/wg/httpbis/trac/ticket/100</a>>: "DNS Spoofing / DNS Binding advice" … … 3505 3506 </li> 3506 3507 </ul> 3507 <h2 id="rfc.section. C.18"><a href="#rfc.section.C.18">C.18</a> <a id="changes.since.16" href="#changes.since.16">Since draft-ietf-httpbis-p1-messaging-16</a></h2>3508 <p id="rfc.section. C.18.p.1">Closed issues: </p>3508 <h2 id="rfc.section.D.18"><a href="#rfc.section.D.18">D.18</a> <a id="changes.since.16" href="#changes.since.16">Since draft-ietf-httpbis-p1-messaging-16</a></h2> 3509 <p id="rfc.section.D.18.p.1">Closed issues: </p> 3509 3510 <ul> 3510 3511 <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" … … 3519 3520 </li> 3520 3521 </ul> 3521 <h2 id="rfc.section. C.19"><a href="#rfc.section.C.19">C.19</a> <a id="changes.since.17" href="#changes.since.17">Since draft-ietf-httpbis-p1-messaging-17</a></h2>3522 <p id="rfc.section. C.19.p.1">Closed issues: </p>3522 <h2 id="rfc.section.D.19"><a href="#rfc.section.D.19">D.19</a> <a id="changes.since.17" href="#changes.since.17">Since draft-ietf-httpbis-p1-messaging-17</a></h2> 3523 <p id="rfc.section.D.19.p.1">Closed issues: </p> 3523 3524 <ul> 3524 3525 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/158">http://tools.ietf.org/wg/httpbis/trac/ticket/158</a>>: "Proxy-Connection and Keep-Alive" … … 3533 3534 </li> 3534 3535 </ul> 3535 <h2 id="rfc.section. C.20"><a href="#rfc.section.C.20">C.20</a> <a id="changes.since.18" href="#changes.since.18">Since draft-ietf-httpbis-p1-messaging-18</a></h2>3536 <p id="rfc.section. C.20.p.1">Closed issues: </p>3536 <h2 id="rfc.section.D.20"><a href="#rfc.section.D.20">D.20</a> <a id="changes.since.18" href="#changes.since.18">Since draft-ietf-httpbis-p1-messaging-18</a></h2> 3537 <p id="rfc.section.D.20.p.1">Closed issues: </p> 3537 3538 <ul> 3538 3539 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/250">http://tools.ietf.org/wg/httpbis/trac/ticket/250</a>>: "message-body in CONNECT response" … … 3547 3548 </li> 3548 3549 </ul> 3549 <h2 id="rfc.section. C.21"><a href="#rfc.section.C.21">C.21</a> <a id="changes.since.19" href="#changes.since.19">Since draft-ietf-httpbis-p1-messaging-19</a></h2>3550 <p id="rfc.section. C.21.p.1">Closed issues: </p>3550 <h2 id="rfc.section.D.21"><a href="#rfc.section.D.21">D.21</a> <a id="changes.since.19" href="#changes.since.19">Since draft-ietf-httpbis-p1-messaging-19</a></h2> 3551 <p id="rfc.section.D.21.p.1">Closed issues: </p> 3551 3552 <ul> 3552 3553 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/346">http://tools.ietf.org/wg/httpbis/trac/ticket/346</a>>: "make IANA policy definitions consistent" … … 3840 3841 <li><em>RFC2119</em> <a href="#rfc.xref.RFC2119.1">1.1</a>, <a href="#RFC2119"><b>10.1</b></a></li> 3841 3842 <li><em>RFC2145</em> <a href="#rfc.xref.RFC2145.1">1</a>, <a href="#rfc.xref.RFC2145.2">9</a>, <a href="#RFC2145"><b>10.2</b></a></li> 3842 <li><em>RFC2616</em> <a href="#rfc.xref.RFC2616.1">1</a>, <a href="#rfc.xref.RFC2616.2">2.7</a>, <a href="#rfc.xref.RFC2616.3">5.6.2</a>, <a href="#rfc.xref.RFC2616.4">9</a>, <a href="#rfc.xref.RFC2616.5">9</a>, <a href="#RFC2616"><b>10.2</b></a>, <a href="#rfc.xref.RFC2616.6"> C.1</a><ul>3843 <li><em>RFC2616</em> <a href="#rfc.xref.RFC2616.1">1</a>, <a href="#rfc.xref.RFC2616.2">2.7</a>, <a href="#rfc.xref.RFC2616.3">5.6.2</a>, <a href="#rfc.xref.RFC2616.4">9</a>, <a href="#rfc.xref.RFC2616.5">9</a>, <a href="#RFC2616"><b>10.2</b></a>, <a href="#rfc.xref.RFC2616.6">D.1</a><ul> 3843 3844 <li><em>Section 14.15</em> <a href="#rfc.xref.RFC2616.3">5.6.2</a></li> 3844 3845 <li><em>Section 16</em> <a href="#rfc.xref.RFC2616.5">9</a></li> … … 3876 3877 </ul> 3877 3878 </li> 3878 <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.2.5</a>, <a href="#RFC5234"><b>10.1</b></a><ul>3879 <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>10.1</b></a>, <a href="#rfc.xref.RFC5234.3">B</a><ul> 3879 3880 <li><em>Appendix B.1</em> <a href="#rfc.xref.RFC5234.2">1.2</a></li> 3880 3881 </ul>
Note: See TracChangeset
for help on using the changeset viewer.