Changeset 2748
- Timestamp:
- 03/01/16 12:39:18 (6 years ago)
- Files:
-
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/Makefile
r2734 r2748 67 67 68 68 %.parsed-abnf: %.abnf 69 $(bap)/bap -i $(bap)/core.abnf < $< | sort | $(bap)/bap -k -i $(bap)/core.abnf -l 69 >$@69 $(bap)/bap -i $(bap)/core.abnf < $< | LC_ALL=C sort | $(bap)/bap -k -i $(bap)/core.abnf -l 69 >$@ 70 70 71 71 %.abnf-appendix: %.parsed-abnf -
draft-ietf-httpbis/latest/common-abnf.sh
r2667 r2748 18 18 fgrep -v ", defined in [RFC723" | \ 19 19 fgrep -v ", see [RFC723" | \ 20 sort | uniq | \20 LC_ALL=C sort | uniq | \ 21 21 $bap/bap -k -i $bap/core.abnf -
draft-ietf-httpbis/latest/p1-messaging.html
r2734 r2748 4 4 <head profile="http://dublincore.org/documents/2008/08/04/dc-html/"> 5 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 6 <title>Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</title><script >6 <title>Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</title><script type="application/javascript"> 7 7 var buttonsAdded = false; 8 8 … … 17 17 18 18 function feedback() { 19 toggleButtonsToElementsByName("h1");20 19 toggleButtonsToElementsByName("h2"); 21 20 toggleButtonsToElementsByName("h3"); 22 21 toggleButtonsToElementsByName("h4"); 22 toggleButtonsToElementsByName("h5"); 23 23 24 24 buttonsAdded = !buttonsAdded; … … 147 147 margin-left: 0em; 148 148 } 149 dl.reference > dt { 150 font-weight: bold; 151 } 152 dl.reference > dd { 153 margin-left: 6em; 154 } 149 155 h1 { 156 color: green; 157 font-size: 150%; 158 line-height: 18pt; 159 font-weight: bold; 160 text-align: center; 161 margin-top: 36pt; 162 margin-bottom: 0pt; 163 } 164 h2 { 150 165 font-size: 130%; 151 166 line-height: 21pt; 152 167 page-break-after: avoid; 153 168 } 154 h 1.np {169 h2.np { 155 170 page-break-before: always; 156 171 } 157 h 2{172 h3 { 158 173 font-size: 120%; 159 174 line-height: 15pt; 160 175 page-break-after: avoid; 161 176 } 162 h 3{177 h4 { 163 178 font-size: 110%; 164 179 page-break-after: avoid; 165 180 } 166 h 4, h5, h6 {181 h5, h6 { 167 182 page-break-after: avoid; 168 183 } … … 266 281 border-width: 2px; 267 282 } 268 table. left {283 table.tleft { 269 284 margin-right: auto; 270 285 } 271 table. right {286 table.tright { 272 287 margin-left: auto; 273 288 } 274 table. center {289 table.tcenter { 275 290 margin-left: auto; 276 291 margin-right: auto; … … 303 318 color: white; 304 319 } 305 td.reference {306 vertical-align: top;307 white-space: nowrap;308 padding-right: 1em;309 }310 320 thead { 311 321 display:table-header-group; … … 333 343 margin-left: 0em; 334 344 } 335 . title, .filename, h1, h2, h3, h4 {345 .filename, h1, h2, h3, h4 { 336 346 font-family: candara, calibri, segoe, optima, arial, sans-serif; 337 347 } … … 381 391 .filename { 382 392 color: #333333; 383 font-size: 75%;393 font-size: 112%; 384 394 font-weight: bold; 385 395 line-height: 21pt; 386 396 text-align: center; 397 margin-top: 0pt; 387 398 } 388 399 .fn { … … 394 405 .right { 395 406 text-align: right; 396 }397 .title {398 color: green;399 font-size: 150%;400 line-height: 18pt;401 font-weight: bold;402 text-align: center;403 margin-top: 36pt;404 407 } 405 408 .warning { … … 428 431 border: 1px solid silver; 429 432 border-radius: 5px; 433 } 434 .publishedasrfc { 435 background-color: yellow; 436 color: green; 437 font-size: 14pt; 438 text-align: center; 430 439 } 431 440 … … 528 537 <link rel="Alternate" title="RFC7230" href="http://svn.tools.ietf.org/svn/wg/httpbis/specs/rfc7230.html"> 529 538 <link href="p2-semantics.html" rel="next"> 530 <meta name="generator" content="http://greenbytes.de/tech/webdav/rfc2629.xslt, Revision 1.7 10, 2014/12/09 13:12:18, XSLT vendor: Saxonica http://www.saxonica.com/">539 <meta name="generator" content="http://greenbytes.de/tech/webdav/rfc2629.xslt, Revision 1.756, 2015/12/31 17:59:21, XSLT vendor: Saxonica http://www.saxonica.com/"> 531 540 <meta name="keywords" content="Hypertext Transfer Protocol, HTTP, HTTP message format"> 532 541 <link rel="schema.dct" href="http://purl.org/dc/terms/"> … … 571 580 </tbody> 572 581 </table> 573 <p class="title" id="rfc.title">Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing<br><span class="filename">draft-ietf-httpbis-p1-messaging-latest</span></p> 574 <p style="color: green; text-align: center; font-size: 14pt; background-color: yellow;"><b>Note:</b> a later version of this document has been published as <a href="http://svn.tools.ietf.org/svn/wg/httpbis/specs/rfc7230.html">RFC7230</a>. 582 <div id="rfc.title"> 583 <h1>Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</h1> 584 <div class="filename">draft-ietf-httpbis-p1-messaging-latest</div> 585 </div> 586 <p class="publishedasrfc"><b>Note:</b> a later version of this document has been published as <a href="http://svn.tools.ietf.org/svn/wg/httpbis/specs/rfc7230.html">RFC7230</a>. 575 587 576 588 </p> 577 <h 1 id="rfc.abstract"><a href="#rfc.abstract">Abstract</a></h1>589 <h2 id="rfc.abstract"><a href="#rfc.abstract">Abstract</a></h2> 578 590 <p>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for 579 591 distributed, collaborative, hypertext information systems. This document provides … … 582 594 syntax and parsing requirements, and describes related security concerns for implementations. 583 595 </p> 584 <h 1 id="rfc.note.1"><a href="#rfc.note.1">Editorial Note (To be removed by RFC Editor)</a></h1>596 <h2 id="rfc.note.1"><a href="#rfc.note.1">Editorial Note (To be removed by RFC Editor)</a></h2> 585 597 <p>Discussion of this draft takes place on the HTTPBIS working group mailing list (ietf-http-wg@w3.org), 586 598 which is archived at <<a href="http://lists.w3.org/Archives/Public/ietf-http-wg/">http://lists.w3.org/Archives/Public/ietf-http-wg/</a>>. … … 592 604 </p> 593 605 <div id="rfc.status"> 594 <h 1><a href="#rfc.status">Status of This Memo</a></h1>606 <h2><a href="#rfc.status">Status of This Memo</a></h2> 595 607 <p>This Internet-Draft is submitted in full conformance with the provisions of BCP 78 596 608 and BCP 79. … … 607 619 </div> 608 620 <div id="rfc.copyrightnotice"> 609 <h 1><a href="#rfc.copyrightnotice">Copyright Notice</a></h1>621 <h2><a href="#rfc.copyrightnotice">Copyright Notice</a></h2> 610 622 <p>Copyright © 2014 IETF Trust and the persons identified as the document authors. All 611 623 rights reserved. … … 630 642 <hr class="noprint"> 631 643 <div id="rfc.toc"> 632 <h 1 class="np"><a href="#rfc.toc">Table of Contents</a></h1>644 <h2 class="np"><a href="#rfc.toc">Table of Contents</a></h2> 633 645 <ul class="toc"> 634 646 <li><a href="#rfc.section.1">1.</a> <a href="#introduction">Introduction</a><ul> … … 783 795 </div> 784 796 <div id="introduction"> 785 <h 1 id="rfc.section.1" class="np"><a href="#rfc.section.1">1.</a> <a href="#introduction">Introduction</a></h1>797 <h2 id="rfc.section.1" class="np"><a href="#rfc.section.1">1.</a> <a href="#introduction">Introduction</a></h2> 786 798 <div id="rfc.section.1.p.1"> 787 799 <p>The Hypertext Transfer Protocol (HTTP) is a stateless application-level request/response … … 842 854 </div> 843 855 <div id="intro.requirements"> 844 <h 2 id="rfc.section.1.1"><a href="#rfc.section.1.1">1.1</a> <a href="#intro.requirements">Requirements Notation</a></h2>856 <h3 id="rfc.section.1.1"><a href="#rfc.section.1.1">1.1</a> <a href="#intro.requirements">Requirements Notation</a></h3> 845 857 <div id="rfc.section.1.1.p.1"> 846 858 <p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD … … 855 867 </div> 856 868 <div id="notation"> 857 <h 2 id="rfc.section.1.2"><a href="#rfc.section.1.2">1.2</a> <a href="#notation">Syntax Notation</a></h2>869 <h3 id="rfc.section.1.2"><a href="#rfc.section.1.2">1.2</a> <a href="#notation">Syntax Notation</a></h3> 858 870 <div id="rfc.section.1.2.p.1"> 859 871 <p>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 a list extension, defined in <a href="#abnf.extension" title="ABNF List Extension: #rule">Section 7</a>, that allows for compact definition of comma-separated lists using a '#' operator … … 877 889 </div> 878 890 <div id="architecture"> 879 <h 1 id="rfc.section.2"><a href="#rfc.section.2">2.</a> <a href="#architecture">Architecture</a></h1>891 <h2 id="rfc.section.2"><a href="#rfc.section.2">2.</a> <a href="#architecture">Architecture</a></h2> 880 892 <div id="rfc.section.2.p.1"> 881 893 <p>HTTP was created for the World Wide Web (WWW) architecture and has evolved over time … … 885 897 </div> 886 898 <div id="operation"> 887 <h 2 id="rfc.section.2.1"><a href="#rfc.section.2.1">2.1</a> <a href="#operation">Client/Server Messaging</a></h2>899 <h3 id="rfc.section.2.1"><a href="#rfc.section.2.1">2.1</a> <a href="#operation">Client/Server Messaging</a></h3> 888 900 <div id="rfc.section.2.1.p.1"> 889 901 <p>HTTP is a stateless request/response protocol that operates by exchanging <dfn>messages</dfn> (<a href="#http.message" title="Message Format">Section 3</a>) across a reliable transport- or session-layer "<dfn>connection</dfn>" (<a href="#connection.management" title="Connection Management">Section 6</a>). An HTTP "<dfn>client</dfn>" is a program that establishes a connection to a server for the purpose of sending … … 944 956 </p> 945 957 </div> 946 <div id="rfc.section.2.1.p.8" >958 <div id="rfc.section.2.1.p.8" class="avoidbreakafter"> 947 959 <p>The following example illustrates a typical message exchange for a GET request (<a href="p2-semantics.html#GET" title="GET">Section 4.3.1</a> of <a href="#RFC7231" id="rfc.xref.RFC7231.3"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[RFC7231]</cite></a>) on the URI "http://www.example.com/hello.txt": 948 960 </p> … … 970 982 </div> 971 983 <div id="implementation-diversity"> 972 <h 2 id="rfc.section.2.2"><a href="#rfc.section.2.2">2.2</a> <a href="#implementation-diversity">Implementation Diversity</a></h2>984 <h3 id="rfc.section.2.2"><a href="#rfc.section.2.2">2.2</a> <a href="#implementation-diversity">Implementation Diversity</a></h3> 973 985 <div id="rfc.section.2.2.p.1"> 974 986 <p>When considering the design of HTTP, it is easy to fall into a trap of thinking that … … 1004 1016 </div> 1005 1017 <div id="intermediaries"> 1006 <h 2 id="rfc.section.2.3"><a href="#rfc.section.2.3">2.3</a> <a href="#intermediaries">Intermediaries</a></h2>1018 <h3 id="rfc.section.2.3"><a href="#rfc.section.2.3">2.3</a> <a href="#intermediaries">Intermediaries</a></h3> 1007 1019 <div id="rfc.section.2.3.p.1"> 1008 1020 <p>HTTP enables the use of intermediaries to satisfy requests through a chain of connections. … … 1102 1114 </div> 1103 1115 <div id="caches"> 1104 <h 2 id="rfc.section.2.4"><a href="#rfc.section.2.4">2.4</a> <a href="#caches">Caches</a></h2>1116 <h3 id="rfc.section.2.4"><a href="#rfc.section.2.4">2.4</a> <a href="#caches">Caches</a></h3> 1105 1117 <div id="rfc.section.2.4.p.1"> 1106 1118 <p>A "<dfn>cache</dfn>" is a local store of previous response messages and the subsystem that controls its … … 1140 1152 </div> 1141 1153 <div id="conformance"> 1142 <h 2 id="rfc.section.2.5"><a href="#rfc.section.2.5">2.5</a> <a href="#conformance">Conformance and Error Handling</a></h2>1154 <h3 id="rfc.section.2.5"><a href="#rfc.section.2.5">2.5</a> <a href="#conformance">Conformance and Error Handling</a></h3> 1143 1155 <div id="rfc.section.2.5.p.1"> 1144 1156 <p>This specification targets conformance criteria according to the role of a participant … … 1214 1226 </div> 1215 1227 <div id="http.version"> 1216 <h 2 id="rfc.section.2.6"><a href="#rfc.section.2.6">2.6</a> <a href="#http.version">Protocol Versioning</a></h2>1228 <h3 id="rfc.section.2.6"><a href="#rfc.section.2.6">2.6</a> <a href="#http.version">Protocol Versioning</a></h3> 1217 1229 <div id="rfc.section.2.6.p.1"> 1218 1230 <p>HTTP uses a "<major>.<minor>" numbering scheme to indicate versions of the protocol. … … 1322 1334 </div> 1323 1335 <div id="uri"> 1324 <h 2 id="rfc.section.2.7"><a href="#rfc.section.2.7">2.7</a> <a href="#uri">Uniform Resource Identifiers</a></h2>1336 <h3 id="rfc.section.2.7"><a href="#rfc.section.2.7">2.7</a> <a href="#uri">Uniform Resource Identifiers</a></h3> 1325 1337 <div id="rfc.section.2.7.p.1"> 1326 1338 <p>Uniform Resource Identifiers (URIs) <a href="#RFC3986" id="rfc.xref.RFC3986.2"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a> are used throughout HTTP as the means for identifying resources (<a href="p2-semantics.html#resources" title="Resources">Section 2</a> of <a href="#RFC7231" id="rfc.xref.RFC7231.4"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[RFC7231]</cite></a>). URI references are used to target requests, indicate redirects, and define relationships. … … 1361 1373 </div> 1362 1374 <div id="http.uri"> 1363 <h 3 id="rfc.section.2.7.1"><a href="#rfc.section.2.7.1">2.7.1</a> <a href="#http.uri">http URI Scheme</a></h3>1375 <h4 id="rfc.section.2.7.1"><a href="#rfc.section.2.7.1">2.7.1</a> <a href="#http.uri">http URI Scheme</a></h4> 1364 1376 <div id="rfc.section.2.7.1.p.1"> 1365 1377 <p>The "http" URI scheme is hereby defined for the purpose of minting identifiers according … … 1430 1442 </div> 1431 1443 <div id="https.uri"> 1432 <h 3 id="rfc.section.2.7.2"><a href="#rfc.section.2.7.2">2.7.2</a> <a href="#https.uri">https URI Scheme</a></h3>1444 <h4 id="rfc.section.2.7.2"><a href="#rfc.section.2.7.2">2.7.2</a> <a href="#https.uri">https URI Scheme</a></h4> 1433 1445 <div id="rfc.section.2.7.2.p.1"> 1434 1446 <p>The "https" URI scheme is hereby defined for the purpose of minting identifiers according … … 1464 1476 </div> 1465 1477 <div id="uri.comparison"> 1466 <h 3 id="rfc.section.2.7.3"><a href="#rfc.section.2.7.3">2.7.3</a> <a href="#uri.comparison">http and https URI Normalization and Comparison</a></h3>1478 <h4 id="rfc.section.2.7.3"><a href="#rfc.section.2.7.3">2.7.3</a> <a href="#uri.comparison">http and https URI Normalization and Comparison</a></h4> 1467 1479 <div id="rfc.section.2.7.3.p.1"> 1468 1480 <p>Since the "http" and "https" schemes conform to the URI generic syntax, such URIs … … 1481 1493 </p> 1482 1494 </div> 1483 <div id="rfc.section.2.7.3.p.3" >1495 <div id="rfc.section.2.7.3.p.3" class="avoidbreakafter"> 1484 1496 <p>For example, the following three URIs are equivalent:</p> 1485 1497 </div> … … 1492 1504 </div> 1493 1505 <div id="http.message"> 1494 <h 1 id="rfc.section.3"><a href="#rfc.section.3">3.</a> <a href="#http.message">Message Format</a></h1>1506 <h2 id="rfc.section.3"><a href="#rfc.section.3">3.</a> <a href="#http.message">Message Format</a></h2> 1495 1507 <div id="rfc.section.3.p.1"> 1496 1508 <p>All HTTP/1.1 messages consist of a start-line followed by a sequence of octets in … … 1548 1560 </div> 1549 1561 <div id="start.line"> 1550 <h 2 id="rfc.section.3.1"><a href="#rfc.section.3.1">3.1</a> <a href="#start.line">Start Line</a></h2>1562 <h3 id="rfc.section.3.1"><a href="#rfc.section.3.1">3.1</a> <a href="#start.line">Start Line</a></h3> 1551 1563 <div id="rfc.section.3.1.p.1"> 1552 1564 <p>An HTTP message can be either a request from client to server or a response from server … … 1566 1578 </pre></div> 1567 1579 <div id="request.line"> 1568 <h 3 id="rfc.section.3.1.1"><a href="#rfc.section.3.1.1">3.1.1</a> <a href="#request.line">Request Line</a></h3>1580 <h4 id="rfc.section.3.1.1"><a href="#rfc.section.3.1.1">3.1.1</a> <a href="#request.line">Request Line</a></h4> 1569 1581 <div id="rfc.section.3.1.1.p.1"> 1570 1582 <p>A request-line begins with a method token, followed by a single space (SP), the request-target, … … 1621 1633 </div> 1622 1634 <div id="status.line"> 1623 <h 3 id="rfc.section.3.1.2"><a href="#rfc.section.3.1.2">3.1.2</a> <a href="#status.line">Status Line</a></h3>1635 <h4 id="rfc.section.3.1.2"><a href="#rfc.section.3.1.2">3.1.2</a> <a href="#status.line">Status Line</a></h4> 1624 1636 <div id="rfc.section.3.1.2.p.1"> 1625 1637 <p>The first line of a response message is the status-line, consisting of the protocol … … 1653 1665 </div> 1654 1666 <div id="header.fields"> 1655 <h 2 id="rfc.section.3.2"><a href="#rfc.section.3.2">3.2</a> <a href="#header.fields">Header Fields</a></h2>1667 <h3 id="rfc.section.3.2"><a href="#rfc.section.3.2">3.2</a> <a href="#header.fields">Header Fields</a></h3> 1656 1668 <div id="rfc.section.3.2.p.1"> 1657 1669 <p>Each header field consists of a case-insensitive field name followed by a colon (":"), … … 1676 1688 </div> 1677 1689 <div id="field.extensibility"> 1678 <h 3 id="rfc.section.3.2.1"><a href="#rfc.section.3.2.1">3.2.1</a> <a href="#field.extensibility">Field Extensibility</a></h3>1690 <h4 id="rfc.section.3.2.1"><a href="#rfc.section.3.2.1">3.2.1</a> <a href="#field.extensibility">Field Extensibility</a></h4> 1679 1691 <div id="rfc.section.3.2.1.p.1"> 1680 1692 <p>Header fields are fully extensible: there is no limit on the introduction of new field … … 1703 1715 </div> 1704 1716 <div id="field.order"> 1705 <h 3 id="rfc.section.3.2.2"><a href="#rfc.section.3.2.2">3.2.2</a> <a href="#field.order">Field Order</a></h3>1717 <h4 id="rfc.section.3.2.2"><a href="#rfc.section.3.2.2">3.2.2</a> <a href="#field.order">Field Order</a></h4> 1706 1718 <div id="rfc.section.3.2.2.p.1"> 1707 1719 <p>The order in which header fields with differing field names are received is not significant. … … 1738 1750 </div> 1739 1751 <div id="whitespace"> 1740 <h 3 id="rfc.section.3.2.3"><a href="#rfc.section.3.2.3">3.2.3</a> <a href="#whitespace">Whitespace</a></h3>1752 <h4 id="rfc.section.3.2.3"><a href="#rfc.section.3.2.3">3.2.3</a> <a href="#whitespace">Whitespace</a></h4> 1741 1753 <div id="rule.LWS"> 1742 1754 <div id="rfc.section.3.2.3.p.1"> … … 1781 1793 </div> 1782 1794 <div id="field.parsing"> 1783 <h 3 id="rfc.section.3.2.4"><a href="#rfc.section.3.2.4">3.2.4</a> <a href="#field.parsing">Field Parsing</a></h3>1795 <h4 id="rfc.section.3.2.4"><a href="#rfc.section.3.2.4">3.2.4</a> <a href="#field.parsing">Field Parsing</a></h4> 1784 1796 <div id="rfc.section.3.2.4.p.1"> 1785 1797 <p>Messages are parsed using a generic algorithm, independent of the individual header … … 1838 1850 </div> 1839 1851 <div id="field.limits"> 1840 <h 3 id="rfc.section.3.2.5"><a href="#rfc.section.3.2.5">3.2.5</a> <a href="#field.limits">Field Limits</a></h3>1852 <h4 id="rfc.section.3.2.5"><a href="#rfc.section.3.2.5">3.2.5</a> <a href="#field.limits">Field Limits</a></h4> 1841 1853 <div id="rfc.section.3.2.5.p.1"> 1842 1854 <p>HTTP does not place a predefined limit on the length of each header field or on the … … 1859 1871 </div> 1860 1872 <div id="field.components"> 1861 <h 3 id="rfc.section.3.2.6"><a href="#rfc.section.3.2.6">3.2.6</a> <a href="#field.components">Field Value Components</a></h3>1873 <h4 id="rfc.section.3.2.6"><a href="#rfc.section.3.2.6">3.2.6</a> <a href="#field.components">Field Value Components</a></h4> 1862 1874 <div id="rule.token.separators"> 1863 1875 <div id="rfc.section.3.2.6.p.1"> … … 1913 1925 </div> 1914 1926 <div id="message.body"> 1915 <h 2 id="rfc.section.3.3"><a href="#rfc.section.3.3">3.3</a> <a href="#message.body">Message Body</a></h2>1927 <h3 id="rfc.section.3.3"><a href="#rfc.section.3.3">3.3</a> <a href="#message.body">Message Body</a></h3> 1916 1928 <div id="rfc.section.3.3.p.1"> 1917 1929 <p>The message body (if any) of an HTTP message is used to carry the payload body of … … 1940 1952 </div> 1941 1953 <div id="header.transfer-encoding"> 1942 <h 3 id="rfc.section.3.3.1"><a href="#rfc.section.3.3.1">3.3.1</a> <a href="#header.transfer-encoding">Transfer-Encoding</a></h3>1954 <h4 id="rfc.section.3.3.1"><a href="#rfc.section.3.3.1">3.3.1</a> <a href="#header.transfer-encoding">Transfer-Encoding</a></h4> 1943 1955 <div id="rfc.section.3.3.1.p.1"> 1944 1956 <p>The Transfer-Encoding header field lists the transfer coding names corresponding to … … 2009 2021 </div> 2010 2022 <div id="header.content-length"> 2011 <h 3 id="rfc.section.3.3.2"><a href="#rfc.section.3.3.2">3.3.2</a> <a href="#header.content-length">Content-Length</a></h3>2023 <h4 id="rfc.section.3.3.2"><a href="#rfc.section.3.3.2">3.3.2</a> <a href="#header.content-length">Content-Length</a></h4> 2012 2024 <div id="rfc.section.3.3.2.p.1"> 2013 2025 <p>When a message does not have a <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a> header field, a Content-Length header field can provide the anticipated size, as a … … 2086 2098 </div> 2087 2099 <div id="message.body.length"> 2088 <h 3 id="rfc.section.3.3.3"><a href="#rfc.section.3.3.3">3.3.3</a> <a href="#message.body.length">Message Body Length</a></h3>2089 <div id="rfc.section.3.3.3.p.1" >2100 <h4 id="rfc.section.3.3.3"><a href="#rfc.section.3.3.3">3.3.3</a> <a href="#message.body.length">Message Body Length</a></h4> 2101 <div id="rfc.section.3.3.3.p.1" class="avoidbreakafter"> 2090 2102 <p>The length of a message body is determined by one of the following (in order of precedence):</p> 2091 2103 </div> … … 2178 2190 </div> 2179 2191 <div id="incomplete.messages"> 2180 <h 2 id="rfc.section.3.4"><a href="#rfc.section.3.4">3.4</a> <a href="#incomplete.messages">Handling Incomplete Messages</a></h2>2192 <h3 id="rfc.section.3.4"><a href="#rfc.section.3.4">3.4</a> <a href="#incomplete.messages">Handling Incomplete Messages</a></h3> 2181 2193 <div id="rfc.section.3.4.p.1"> 2182 2194 <p>A server that receives an incomplete request message, usually due to a canceled request … … 2209 2221 </div> 2210 2222 <div id="message.robustness"> 2211 <h 2 id="rfc.section.3.5"><a href="#rfc.section.3.5">3.5</a> <a href="#message.robustness">Message Parsing Robustness</a></h2>2223 <h3 id="rfc.section.3.5"><a href="#rfc.section.3.5">3.5</a> <a href="#message.robustness">Message Parsing Robustness</a></h3> 2212 2224 <div id="rfc.section.3.5.p.1"> 2213 2225 <p>Older HTTP/1.0 user agent implementations might send an extra CRLF after a POST request … … 2246 2258 </div> 2247 2259 <div id="transfer.codings"> 2248 <h 1 id="rfc.section.4"><a href="#rfc.section.4">4.</a> <a href="#transfer.codings">Transfer Codings</a></h1>2260 <h2 id="rfc.section.4"><a href="#rfc.section.4">4.</a> <a href="#transfer.codings">Transfer Codings</a></h2> 2249 2261 <div id="rfc.section.4.p.1"> 2250 2262 <p>Transfer coding names are used to indicate an encoding transformation that has been, … … 2275 2287 </div> 2276 2288 <div id="chunked.encoding"> 2277 <h 2 id="rfc.section.4.1"><a href="#rfc.section.4.1">4.1</a> <a href="#chunked.encoding">Chunked Transfer Coding</a></h2>2289 <h3 id="rfc.section.4.1"><a href="#rfc.section.4.1">4.1</a> <a href="#chunked.encoding">Chunked Transfer Coding</a></h3> 2278 2290 <div id="rfc.section.4.1.p.1"> 2279 2291 <p>The chunked transfer coding wraps the payload body in order to transfer it as a series … … 2308 2320 </div> 2309 2321 <div id="chunked.extension"> 2310 <h 3 id="rfc.section.4.1.1"><a href="#rfc.section.4.1.1">4.1.1</a> <a href="#chunked.extension">Chunk Extensions</a></h3>2322 <h4 id="rfc.section.4.1.1"><a href="#rfc.section.4.1.1">4.1.1</a> <a href="#chunked.extension">Chunk Extensions</a></h4> 2311 2323 <div id="rfc.section.4.1.1.p.1"> 2312 2324 <p>The chunked encoding allows each chunk to include zero or more chunk extensions, immediately … … 2338 2350 </div> 2339 2351 <div id="chunked.trailer.part"> 2340 <h 3 id="rfc.section.4.1.2"><a href="#rfc.section.4.1.2">4.1.2</a> <a href="#chunked.trailer.part">Chunked Trailer Part</a></h3>2352 <h4 id="rfc.section.4.1.2"><a href="#rfc.section.4.1.2">4.1.2</a> <a href="#chunked.trailer.part">Chunked Trailer Part</a></h4> 2341 2353 <div id="rfc.section.4.1.2.p.1"> 2342 2354 <p>A trailer allows the sender to include additional fields at the end of a chunked message … … 2370 2382 </div> 2371 2383 <div id="decoding.chunked"> 2372 <h 3 id="rfc.section.4.1.3"><a href="#rfc.section.4.1.3">4.1.3</a> <a href="#decoding.chunked">Decoding Chunked</a></h3>2373 <div id="rfc.section.4.1.3.p.1" >2384 <h4 id="rfc.section.4.1.3"><a href="#rfc.section.4.1.3">4.1.3</a> <a href="#decoding.chunked">Decoding Chunked</a></h4> 2385 <div id="rfc.section.4.1.3.p.1" class="avoidbreakafter"> 2374 2386 <p>A process for decoding the chunked transfer coding can be represented in pseudo-code 2375 2387 as: … … 2398 2410 </div> 2399 2411 <div id="compression.codings"> 2400 <h 2 id="rfc.section.4.2"><a href="#rfc.section.4.2">4.2</a> <a href="#compression.codings">Compression Codings</a></h2>2412 <h3 id="rfc.section.4.2"><a href="#rfc.section.4.2">4.2</a> <a href="#compression.codings">Compression Codings</a></h3> 2401 2413 <div id="rfc.section.4.2.p.1"> 2402 2414 <p>The codings defined below can be used to compress the payload of a message.</p> 2403 2415 </div> 2404 2416 <div id="compress.coding"> 2405 <h 3 id="rfc.section.4.2.1"><a href="#rfc.section.4.2.1">4.2.1</a> <a href="#compress.coding">Compress Coding</a></h3>2417 <h4 id="rfc.section.4.2.1"><a href="#rfc.section.4.2.1">4.2.1</a> <a href="#compress.coding">Compress Coding</a></h4> 2406 2418 <div id="rfc.section.4.2.1.p.1"> 2407 2419 <p>The "compress" coding is an adaptive Lempel-Ziv-Welch (LZW) coding <a href="#Welch" id="rfc.xref.Welch.1"><cite title="A Technique for High-Performance Data Compression">[Welch]</cite></a> that is commonly produced by the UNIX file compression program "compress". A recipient <em class="bcp14">SHOULD</em> consider "x-compress" to be equivalent to "compress". … … 2410 2422 </div> 2411 2423 <div id="deflate.coding"> 2412 <h 3 id="rfc.section.4.2.2"><a href="#rfc.section.4.2.2">4.2.2</a> <a href="#deflate.coding">Deflate Coding</a></h3>2424 <h4 id="rfc.section.4.2.2"><a href="#rfc.section.4.2.2">4.2.2</a> <a href="#deflate.coding">Deflate Coding</a></h4> 2413 2425 <div id="rfc.section.4.2.2.p.1"> 2414 2426 <p>The "deflate" coding is a "zlib" data format <a href="#RFC1950" id="rfc.xref.RFC1950.1"><cite title="ZLIB Compressed Data Format Specification version 3.3">[RFC1950]</cite></a> containing a "deflate" compressed data stream <a href="#RFC1951" id="rfc.xref.RFC1951.1"><cite title="DEFLATE Compressed Data Format Specification version 1.3">[RFC1951]</cite></a> that uses a combination of the Lempel-Ziv (LZ77) compression algorithm and Huffman … … 2425 2437 </div> 2426 2438 <div id="gzip.coding"> 2427 <h 3 id="rfc.section.4.2.3"><a href="#rfc.section.4.2.3">4.2.3</a> <a href="#gzip.coding">Gzip Coding</a></h3>2439 <h4 id="rfc.section.4.2.3"><a href="#rfc.section.4.2.3">4.2.3</a> <a href="#gzip.coding">Gzip Coding</a></h4> 2428 2440 <div id="rfc.section.4.2.3.p.1"> 2429 2441 <p>The "gzip" coding is an LZ77 coding with a 32-bit Cyclic Redundancy Check (CRC) that … … 2434 2446 </div> 2435 2447 <div id="header.te"> 2436 <h 2 id="rfc.section.4.3"><a href="#rfc.section.4.3">4.3</a> <a href="#header.te">TE</a></h2>2448 <h3 id="rfc.section.4.3"><a href="#rfc.section.4.3">4.3</a> <a href="#header.te">TE</a></h3> 2437 2449 <div id="rfc.section.4.3.p.1"> 2438 2450 <p>The "TE" header field in a request indicates what transfer codings, besides chunked, … … 2488 2500 </div> 2489 2501 <div id="header.trailer"> 2490 <h 2 id="rfc.section.4.4"><a href="#rfc.section.4.4">4.4</a> <a href="#header.trailer">Trailer</a></h2>2502 <h3 id="rfc.section.4.4"><a href="#rfc.section.4.4">4.4</a> <a href="#header.trailer">Trailer</a></h3> 2491 2503 <div id="rfc.section.4.4.p.1"> 2492 2504 <p>When a message includes a message body encoded with the chunked transfer coding and … … 2503 2515 </div> 2504 2516 <div id="message.routing"> 2505 <h 1 id="rfc.section.5"><a href="#rfc.section.5">5.</a> <a href="#message.routing">Message Routing</a></h1>2517 <h2 id="rfc.section.5"><a href="#rfc.section.5">5.</a> <a href="#message.routing">Message Routing</a></h2> 2506 2518 <div id="rfc.section.5.p.1"> 2507 2519 <p>HTTP request message routing is determined by each client based on the target resource, … … 2511 2523 </div> 2512 2524 <div id="target-resource"> 2513 <h 2 id="rfc.section.5.1"><a href="#rfc.section.5.1">5.1</a> <a href="#target-resource">Identifying a Target Resource</a></h2>2525 <h3 id="rfc.section.5.1"><a href="#rfc.section.5.1">5.1</a> <a href="#target-resource">Identifying a Target Resource</a></h3> 2514 2526 <div id="rfc.section.5.1.p.1"> 2515 2527 <p>HTTP is used in a wide variety of applications, ranging from general-purpose computers … … 2527 2539 </div> 2528 2540 <div id="connecting.inbound"> 2529 <h 2 id="rfc.section.5.2"><a href="#rfc.section.5.2">5.2</a> <a href="#connecting.inbound">Connecting Inbound</a></h2>2541 <h3 id="rfc.section.5.2"><a href="#rfc.section.5.2">5.2</a> <a href="#connecting.inbound">Connecting Inbound</a></h3> 2530 2542 <div id="rfc.section.5.2.p.1"> 2531 2543 <p>Once the target URI is determined, a client needs to decide whether a network request … … 2562 2574 </div> 2563 2575 <div id="request-target"> 2564 <h 2 id="rfc.section.5.3"><a href="#rfc.section.5.3">5.3</a> <a href="#request-target">Request Target</a></h2>2576 <h3 id="rfc.section.5.3"><a href="#rfc.section.5.3">5.3</a> <a href="#request-target">Request Target</a></h3> 2565 2577 <div id="rfc.section.5.3.p.1"> 2566 2578 <p>Once an inbound connection is obtained, the client sends an HTTP request message (<a href="#http.message" title="Message Format">Section 3</a>) with a request-target derived from the target URI. There are four distinct formats … … 2575 2587 </pre></div> 2576 2588 <div id="origin-form"> 2577 <h 3 id="rfc.section.5.3.1"><a href="#rfc.section.5.3.1">5.3.1</a> <a href="#origin-form">origin-form</a></h3>2589 <h4 id="rfc.section.5.3.1"><a href="#rfc.section.5.3.1">5.3.1</a> <a href="#origin-form">origin-form</a></h4> 2578 2590 <div id="rfc.section.5.3.1.p.1"> 2579 2591 <p>The most common form of request-target is the <dfn>origin-form</dfn>. … … 2595 2607 <div id="rfc.figure.u.40"><pre class="text">http://www.example.org/where?q=now 2596 2608 </pre></div> 2597 <div id="rfc.section.5.3.1.p.4" >2609 <div id="rfc.section.5.3.1.p.4" class="avoidbreakafter"> 2598 2610 <p>directly from the origin server would open (or reuse) a TCP connection to port 80 2599 2611 of the host "www.example.org" and send the lines: … … 2608 2620 </div> 2609 2621 <div id="absolute-form"> 2610 <h 3 id="rfc.section.5.3.2"><a href="#rfc.section.5.3.2">5.3.2</a> <a href="#absolute-form">absolute-form</a></h3>2622 <h4 id="rfc.section.5.3.2"><a href="#rfc.section.5.3.2">5.3.2</a> <a href="#absolute-form">absolute-form</a></h4> 2611 2623 <div id="rfc.section.5.3.2.p.1"> 2612 2624 <p>When making a request to a proxy, other than a CONNECT or server-wide OPTIONS request … … 2623 2635 </p> 2624 2636 </div> 2625 <div id="rfc.section.5.3.2.p.3" >2637 <div id="rfc.section.5.3.2.p.3" class="avoidbreakafter"> 2626 2638 <p>An example absolute-form of request-line would be:</p> 2627 2639 </div> … … 2636 2648 </div> 2637 2649 <div id="authority-form"> 2638 <h 3 id="rfc.section.5.3.3"><a href="#rfc.section.5.3.3">5.3.3</a> <a href="#authority-form">authority-form</a></h3>2650 <h4 id="rfc.section.5.3.3"><a href="#rfc.section.5.3.3">5.3.3</a> <a href="#authority-form">authority-form</a></h4> 2639 2651 <div id="rfc.section.5.3.3.p.1"> 2640 2652 <p>The <dfn>authority-form</dfn> of request-target is only used for CONNECT requests (<a href="p2-semantics.html#CONNECT" title="CONNECT">Section 4.3.6</a> of <a href="#RFC7231" id="rfc.xref.RFC7231.23"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[RFC7231]</cite></a>). … … 2653 2665 </div> 2654 2666 <div id="asterisk-form"> 2655 <h 3 id="rfc.section.5.3.4"><a href="#rfc.section.5.3.4">5.3.4</a> <a href="#asterisk-form">asterisk-form</a></h3>2667 <h4 id="rfc.section.5.3.4"><a href="#rfc.section.5.3.4">5.3.4</a> <a href="#asterisk-form">asterisk-form</a></h4> 2656 2668 <div id="rfc.section.5.3.4.p.1"> 2657 2669 <p>The <dfn>asterisk-form</dfn> of request-target is only used for a server-wide OPTIONS request (<a href="p2-semantics.html#OPTIONS" title="OPTIONS">Section 4.3.7</a> of <a href="#RFC7231" id="rfc.xref.RFC7231.24"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[RFC7231]</cite></a>). … … 2685 2697 </div> 2686 2698 <div id="header.host"> 2687 <h 2 id="rfc.section.5.4"><a href="#rfc.section.5.4">5.4</a> <a href="#header.host">Host</a></h2>2699 <h3 id="rfc.section.5.4"><a href="#rfc.section.5.4">5.4</a> <a href="#header.host">Host</a></h3> 2688 2700 <div id="rfc.section.5.4.p.1"> 2689 2701 <p>The "Host" header field in a request provides the host and port information from the … … 2705 2717 </p> 2706 2718 </div> 2707 <div id="rfc.section.5.4.p.4" >2719 <div id="rfc.section.5.4.p.4" class="avoidbreakafter"> 2708 2720 <p>For example, a GET request to the origin server for <http://www.example.org/pub/WWW/> 2709 2721 would begin with: … … 2742 2754 </div> 2743 2755 <div id="effective.request.uri"> 2744 <h 2 id="rfc.section.5.5"><a href="#rfc.section.5.5">5.5</a> <a href="#effective.request.uri">Effective Request URI</a></h2>2756 <h3 id="rfc.section.5.5"><a href="#rfc.section.5.5">5.5</a> <a href="#effective.request.uri">Effective Request URI</a></h3> 2745 2757 <div id="rfc.section.5.5.p.1"> 2746 2758 <p>Since the request-target often contains only part of the user agent's target URI, … … 2809 2821 </div> 2810 2822 <div id="associating.response.to.request"> 2811 <h 2 id="rfc.section.5.6"><a href="#rfc.section.5.6">5.6</a> <a href="#associating.response.to.request">Associating a Response to a Request</a></h2>2823 <h3 id="rfc.section.5.6"><a href="#rfc.section.5.6">5.6</a> <a href="#associating.response.to.request">Associating a Response to a Request</a></h3> 2812 2824 <div id="rfc.section.5.6.p.1"> 2813 2825 <p>HTTP does not include a request identifier for associating a given request message … … 2825 2837 </div> 2826 2838 <div id="message.forwarding"> 2827 <h 2 id="rfc.section.5.7"><a href="#rfc.section.5.7">5.7</a> <a href="#message.forwarding">Message Forwarding</a></h2>2839 <h3 id="rfc.section.5.7"><a href="#rfc.section.5.7">5.7</a> <a href="#message.forwarding">Message Forwarding</a></h3> 2828 2840 <div id="rfc.section.5.7.p.1"> 2829 2841 <p>As described in <a href="#intermediaries" title="Intermediaries">Section 2.3</a>, intermediaries can serve a variety of roles in the processing of HTTP requests and … … 2846 2858 </div> 2847 2859 <div id="header.via"> 2848 <h 3 id="rfc.section.5.7.1"><a href="#rfc.section.5.7.1">5.7.1</a> <a href="#header.via">Via</a></h3>2860 <h4 id="rfc.section.5.7.1"><a href="#rfc.section.5.7.1">5.7.1</a> <a href="#header.via">Via</a></h4> 2849 2861 <div id="rfc.section.5.7.1.p.1"> 2850 2862 <p>The "Via" header field indicates the presence of intermediate protocols and recipients … … 2893 2905 </p> 2894 2906 </div> 2895 <div id="rfc.section.5.7.1.p.7" >2907 <div id="rfc.section.5.7.1.p.7" class="avoidbreakafter"> 2896 2908 <p>For example, a request message could be sent from an HTTP/1.0 user agent to an internal 2897 2909 proxy code-named "fred", which uses HTTP/1.1 to forward the request to a public proxy … … 2928 2940 </div> 2929 2941 <div id="message.transformations"> 2930 <h 3 id="rfc.section.5.7.2"><a href="#rfc.section.5.7.2">5.7.2</a> <a href="#message.transformations">Transformations</a></h3>2942 <h4 id="rfc.section.5.7.2"><a href="#rfc.section.5.7.2">5.7.2</a> <a href="#message.transformations">Transformations</a></h4> 2931 2943 <div id="rfc.section.5.7.2.p.1"> 2932 2944 <p>Some intermediaries include features for transforming messages and their payloads. … … 2987 2999 </div> 2988 3000 <div id="connection.management"> 2989 <h 1 id="rfc.section.6"><a href="#rfc.section.6">6.</a> <a href="#connection.management">Connection Management</a></h1>3001 <h2 id="rfc.section.6"><a href="#rfc.section.6">6.</a> <a href="#connection.management">Connection Management</a></h2> 2990 3002 <div id="rfc.section.6.p.1"> 2991 3003 <p>HTTP messaging is independent of the underlying transport- or session-layer connection … … 3014 3026 </div> 3015 3027 <div id="header.connection"> 3016 <h 2 id="rfc.section.6.1"><a href="#rfc.section.6.1">6.1</a> <a href="#header.connection">Connection</a></h2>3028 <h3 id="rfc.section.6.1"><a href="#rfc.section.6.1">6.1</a> <a href="#header.connection">Connection</a></h3> 3017 3029 <div id="rfc.section.6.1.p.1"> 3018 3030 <p>The "Connection" header field allows the sender to indicate desired control options … … 3038 3050 </p> 3039 3051 </div> 3040 <div id="rfc.section.6.1.p.4" >3052 <div id="rfc.section.6.1.p.4" class="avoidbreakafter"> 3041 3053 <p>The Connection header field's value has the following grammar:</p> 3042 3054 </div> … … 3092 3104 </div> 3093 3105 <div id="persistent.establishment"> 3094 <h 2 id="rfc.section.6.2"><a href="#rfc.section.6.2">6.2</a> <a href="#persistent.establishment">Establishment</a></h2>3106 <h3 id="rfc.section.6.2"><a href="#rfc.section.6.2">6.2</a> <a href="#persistent.establishment">Establishment</a></h3> 3095 3107 <div id="rfc.section.6.2.p.1"> 3096 3108 <p>It is beyond the scope of this specification to describe how connections are established … … 3101 3113 </div> 3102 3114 <div id="persistent.connections"> 3103 <h 2 id="rfc.section.6.3"><a href="#rfc.section.6.3">6.3</a> <a href="#persistent.connections">Persistence</a></h2>3115 <h3 id="rfc.section.6.3"><a href="#rfc.section.6.3">6.3</a> <a href="#persistent.connections">Persistence</a></h3> 3104 3116 <div id="rfc.section.6.3.p.1"> 3105 3117 <p>HTTP/1.1 defaults to the use of "<dfn>persistent connections</dfn>", allowing multiple requests and responses to be carried over a single connection. … … 3150 3162 </div> 3151 3163 <div id="persistent.retrying.requests"> 3152 <h 3 id="rfc.section.6.3.1"><a href="#rfc.section.6.3.1">6.3.1</a> <a href="#persistent.retrying.requests">Retrying Requests</a></h3>3164 <h4 id="rfc.section.6.3.1"><a href="#rfc.section.6.3.1">6.3.1</a> <a href="#persistent.retrying.requests">Retrying Requests</a></h4> 3153 3165 <div id="rfc.section.6.3.1.p.1"> 3154 3166 <p>Connections can be closed at any time, with or without intention. Implementations … … 3179 3191 </div> 3180 3192 <div id="pipelining"> 3181 <h 3 id="rfc.section.6.3.2"><a href="#rfc.section.6.3.2">6.3.2</a> <a href="#pipelining">Pipelining</a></h3>3193 <h4 id="rfc.section.6.3.2"><a href="#rfc.section.6.3.2">6.3.2</a> <a href="#pipelining">Pipelining</a></h4> 3182 3194 <div id="rfc.section.6.3.2.p.1"> 3183 3195 <p>A client that supports persistent connections <em class="bcp14">MAY</em> "<dfn>pipeline</dfn>" its requests (i.e., send multiple requests without waiting for each response). A … … 3213 3225 </div> 3214 3226 <div id="persistent.concurrency"> 3215 <h 2 id="rfc.section.6.4"><a href="#rfc.section.6.4">6.4</a> <a href="#persistent.concurrency">Concurrency</a></h2>3227 <h3 id="rfc.section.6.4"><a href="#rfc.section.6.4">6.4</a> <a href="#persistent.concurrency">Concurrency</a></h3> 3216 3228 <div id="rfc.section.6.4.p.1"> 3217 3229 <p>A client ought to limit the number of simultaneous open connections that it maintains … … 3242 3254 </div> 3243 3255 <div id="persistent.failures"> 3244 <h 2 id="rfc.section.6.5"><a href="#rfc.section.6.5">6.5</a> <a href="#persistent.failures">Failures and Timeouts</a></h2>3256 <h3 id="rfc.section.6.5"><a href="#rfc.section.6.5">6.5</a> <a href="#persistent.failures">Failures and Timeouts</a></h3> 3245 3257 <div id="rfc.section.6.5.p.1"> 3246 3258 <p>Servers will usually have some timeout value beyond which they will no longer maintain … … 3279 3291 </div> 3280 3292 <div id="persistent.tear-down"> 3281 <h 2 id="rfc.section.6.6"><a href="#rfc.section.6.6">6.6</a> <a href="#persistent.tear-down">Tear-down</a></h2>3293 <h3 id="rfc.section.6.6"><a href="#rfc.section.6.6">6.6</a> <a href="#persistent.tear-down">Tear-down</a></h3> 3282 3294 <div id="rfc.section.6.6.p.1"> 3283 3295 <p>The <a href="#header.connection" class="smpl">Connection</a> header field (<a href="#header.connection" id="rfc.xref.header.connection.4" title="Connection">Section 6.1</a>) provides a "<a href="#header.connection" class="smpl">close</a>" connection option that a sender <em class="bcp14">SHOULD</em> send when it wishes to close the connection after the current request/response pair. … … 3331 3343 </div> 3332 3344 <div id="header.upgrade"> 3333 <h 2 id="rfc.section.6.7"><a href="#rfc.section.6.7">6.7</a> <a href="#header.upgrade">Upgrade</a></h2>3345 <h3 id="rfc.section.6.7"><a href="#rfc.section.6.7">6.7</a> <a href="#header.upgrade">Upgrade</a></h3> 3334 3346 <div id="rfc.section.6.7.p.1"> 3335 3347 <p>The "Upgrade" header field is intended to provide a simple mechanism for transitioning … … 3426 3438 </div> 3427 3439 <div id="abnf.extension"> 3428 <h 1 id="rfc.section.7"><a href="#rfc.section.7">7.</a> <a href="#abnf.extension">ABNF List Extension: #rule</a></h1>3440 <h2 id="rfc.section.7"><a href="#rfc.section.7">7.</a> <a href="#abnf.extension">ABNF List Extension: #rule</a></h2> 3429 3441 <div id="rfc.section.7.p.1"> 3430 3442 <p>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. … … 3447 3459 <p>and for n >= 1 and m > 1:</p><pre class="text"> <n>#<m>element => element <n-1>*<m-1>( OWS "," OWS element ) 3448 3460 </pre></div> 3449 <div id="rfc.section.7.p.3" >3461 <div id="rfc.section.7.p.3" class="avoidbreakafter"> 3450 3462 <p>For compatibility with legacy list rules, a recipient <em class="bcp14">MUST</em> parse and ignore a reasonable number of empty list elements: enough to handle common 3451 3463 mistakes by senders that merge values, but not so much that they could be used as … … 3457 3469 1#element => *( "," OWS ) element *( OWS "," [ OWS element ] ) 3458 3470 </pre></div> 3459 <div id="rfc.section.7.p.4" >3471 <div id="rfc.section.7.p.4" class="avoidbreakafter"> 3460 3472 <p>Empty elements do not contribute to the count of elements present. For example, given 3461 3473 these ABNF productions: … … 3465 3477 example-list-elmt = token ; see <a href="#field.components" title="Field Value Components">Section 3.2.6</a> 3466 3478 </pre></div> 3467 <div id="rfc.section.7.p.5" >3479 <div id="rfc.section.7.p.5" class="avoidbreakafter"> 3468 3480 <p>Then the following are valid values for example-list (not including the double quotes, 3469 3481 which are present for delimitation only): … … 3474 3486 "foo , ,bar,charlie " 3475 3487 </pre></div> 3476 <div id="rfc.section.7.p.6" >3488 <div id="rfc.section.7.p.6" class="avoidbreakafter"> 3477 3489 <p>In contrast, the following values would be invalid, since at least one non-empty element 3478 3490 is required by the example-list production: … … 3489 3501 </div> 3490 3502 <div id="IANA.considerations"> 3491 <h 1 id="rfc.section.8"><a href="#rfc.section.8">8.</a> <a href="#IANA.considerations">IANA Considerations</a></h1>3503 <h2 id="rfc.section.8"><a href="#rfc.section.8">8.</a> <a href="#IANA.considerations">IANA Considerations</a></h2> 3492 3504 <div id="header.field.registration"> 3493 <h 2 id="rfc.section.8.1"><a href="#rfc.section.8.1">8.1</a> <a href="#header.field.registration">Header Field Registration</a></h2>3505 <h3 id="rfc.section.8.1"><a href="#rfc.section.8.1">8.1</a> <a href="#header.field.registration">Header Field Registration</a></h3> 3494 3506 <div id="rfc.section.8.1.p.1"> 3495 3507 <p>HTTP header fields are registered within the "Message Headers" registry maintained … … 3504 3516 <div id="rfc.table.1"> 3505 3517 <div id="iana.header.registration.table"></div> 3506 <table class="tt full left" cellpadding="3" cellspacing="0">3518 <table class="tt full tleft" cellpadding="3" cellspacing="0"> 3507 3519 <thead> 3508 3520 <tr> … … 3580 3592 </div> 3581 3593 <div id="rfc.table.u.1"> 3582 <table class="tt full left" cellpadding="3" cellspacing="0">3594 <table class="tt full tleft" cellpadding="3" cellspacing="0"> 3583 3595 <thead> 3584 3596 <tr> … … 3605 3617 </div> 3606 3618 <div id="uri.scheme.registration"> 3607 <h 2 id="rfc.section.8.2"><a href="#rfc.section.8.2">8.2</a> <a href="#uri.scheme.registration">URI Scheme Registration</a></h2>3619 <h3 id="rfc.section.8.2"><a href="#rfc.section.8.2">8.2</a> <a href="#uri.scheme.registration">URI Scheme Registration</a></h3> 3608 3620 <div id="rfc.section.8.2.p.1"> 3609 3621 <p>IANA maintains the registry of URI Schemes <a href="#BCP115" id="rfc.xref.BCP115.1"><cite title="Guidelines and Registration Procedures for New URI Schemes">[BCP115]</cite></a> at <<a href="http://www.iana.org/assignments/uri-schemes/">http://www.iana.org/assignments/uri-schemes/</a>>. … … 3616 3628 </div> 3617 3629 <div id="rfc.table.u.2"> 3618 <table class="tt full left" cellpadding="3" cellspacing="0">3630 <table class="tt full tleft" cellpadding="3" cellspacing="0"> 3619 3631 <thead> 3620 3632 <tr> … … 3640 3652 </div> 3641 3653 <div id="internet.media.type.http"> 3642 <h 2 id="rfc.section.8.3"><a href="#rfc.section.8.3">8.3</a> <a href="#internet.media.type.http">Internet Media Type Registration</a></h2>3654 <h3 id="rfc.section.8.3"><a href="#rfc.section.8.3">8.3</a> <a href="#internet.media.type.http">Internet Media Type Registration</a></h3> 3643 3655 <div id="rfc.section.8.3.p.1"> 3644 3656 <p>IANA maintains the registry of Internet media types <a href="#BCP13" id="rfc.xref.BCP13.1"><cite title="Media Type Specifications and Registration Procedures">[BCP13]</cite></a> at <<a href="http://www.iana.org/assignments/media-types">http://www.iana.org/assignments/media-types</a>>. … … 3651 3663 </div> 3652 3664 <div id="internet.media.type.message.http"> 3653 <h 3 id="rfc.section.8.3.1"><a href="#rfc.section.8.3.1">8.3.1</a> <a href="#internet.media.type.message.http">Internet Media Type message/http</a></h3>3665 <h4 id="rfc.section.8.3.1"><a href="#rfc.section.8.3.1">8.3.1</a> <a href="#internet.media.type.message.http">Internet Media Type message/http</a></h4> 3654 3666 <div id="rfc.section.8.3.1.p.1"> 3655 3667 <p>The message/http type can be used to enclose a single HTTP request or response message, … … 3720 3732 </div> 3721 3733 <div id="internet.media.type.application.http"> 3722 <h 3 id="rfc.section.8.3.2"><a href="#rfc.section.8.3.2">8.3.2</a> <a href="#internet.media.type.application.http">Internet Media Type application/http</a></h3>3734 <h4 id="rfc.section.8.3.2"><a href="#rfc.section.8.3.2">8.3.2</a> <a href="#internet.media.type.application.http">Internet Media Type application/http</a></h4> 3723 3735 <div id="rfc.section.8.3.2.p.1"> 3724 3736 <p>The application/http type can be used to enclose a pipeline of one or more HTTP request … … 3791 3803 </div> 3792 3804 <div id="transfer.coding.registry"> 3793 <h 2 id="rfc.section.8.4"><a href="#rfc.section.8.4">8.4</a> <a href="#transfer.coding.registry">Transfer Coding Registry</a></h2>3805 <h3 id="rfc.section.8.4"><a href="#rfc.section.8.4">8.4</a> <a href="#transfer.coding.registry">Transfer Coding Registry</a></h3> 3794 3806 <div id="rfc.section.8.4.p.1"> 3795 3807 <p>The "HTTP Transfer Coding Registry" defines the namespace for transfer coding names. … … 3798 3810 </div> 3799 3811 <div id="transfer.coding.registry.procedure"> 3800 <h 3 id="rfc.section.8.4.1"><a href="#rfc.section.8.4.1">8.4.1</a> <a href="#transfer.coding.registry.procedure">Procedure</a></h3>3812 <h4 id="rfc.section.8.4.1"><a href="#rfc.section.8.4.1">8.4.1</a> <a href="#transfer.coding.registry.procedure">Procedure</a></h4> 3801 3813 <div id="rfc.section.8.4.1.p.1"> 3802 3814 <p>Registrations <em class="bcp14">MUST</em> include the following fields: … … 3824 3836 </div> 3825 3837 <div id="transfer.coding.registration"> 3826 <h 3 id="rfc.section.8.4.2"><a href="#rfc.section.8.4.2">8.4.2</a> <a href="#transfer.coding.registration">Registration</a></h3>3827 <div id="rfc.section.8.4.2.p.1" >3838 <h4 id="rfc.section.8.4.2"><a href="#rfc.section.8.4.2">8.4.2</a> <a href="#transfer.coding.registration">Registration</a></h4> 3839 <div id="rfc.section.8.4.2.p.1" class="avoidbreakafter"> 3828 3840 <p>The "HTTP Transfer Coding Registry" has been updated with the registrations below:</p> 3829 3841 </div> 3830 3842 <div id="rfc.table.2"> 3831 3843 <div id="iana.transfer.coding.registration.table"></div> 3832 <table class="tt full left" cellpadding="3" cellspacing="0">3844 <table class="tt full tleft" cellpadding="3" cellspacing="0"> 3833 3845 <thead> 3834 3846 <tr> … … 3882 3894 </div> 3883 3895 <div id="content.coding.registration"> 3884 <h 2 id="rfc.section.8.5"><a href="#rfc.section.8.5">8.5</a> <a href="#content.coding.registration">Content Coding Registration</a></h2>3896 <h3 id="rfc.section.8.5"><a href="#rfc.section.8.5">8.5</a> <a href="#content.coding.registration">Content Coding Registration</a></h3> 3885 3897 <div id="rfc.section.8.5.p.1"> 3886 3898 <p>IANA maintains the "HTTP Content Coding Registry" at <<a href="http://www.iana.org/assignments/http-parameters">http://www.iana.org/assignments/http-parameters</a>>. 3887 3899 </p> 3888 3900 </div> 3889 <div id="rfc.section.8.5.p.2" >3901 <div id="rfc.section.8.5.p.2" class="avoidbreakafter"> 3890 3902 <p>The "HTTP Content Coding Registry" has been updated with the registrations below:</p> 3891 3903 </div> 3892 3904 <div id="rfc.table.3"> 3893 3905 <div id="iana.content.coding.registration.table"></div> 3894 <table class="tt full left" cellpadding="3" cellspacing="0">3906 <table class="tt full tleft" cellpadding="3" cellspacing="0"> 3895 3907 <thead> 3896 3908 <tr> … … 3937 3949 </div> 3938 3950 <div id="upgrade.token.registry"> 3939 <h 2 id="rfc.section.8.6"><a href="#rfc.section.8.6">8.6</a> <a href="#upgrade.token.registry">Upgrade Token Registry</a></h2>3951 <h3 id="rfc.section.8.6"><a href="#rfc.section.8.6">8.6</a> <a href="#upgrade.token.registry">Upgrade Token Registry</a></h3> 3940 3952 <div id="rfc.section.8.6.p.1"> 3941 3953 <p>The "Hypertext Transfer Protocol (HTTP) Upgrade Token Registry" defines the namespace … … 3944 3956 </div> 3945 3957 <div id="upgrade.token.registry.procedure"> 3946 <h 3 id="rfc.section.8.6.1"><a href="#rfc.section.8.6.1">8.6.1</a> <a href="#upgrade.token.registry.procedure">Procedure</a></h3>3958 <h4 id="rfc.section.8.6.1"><a href="#rfc.section.8.6.1">8.6.1</a> <a href="#upgrade.token.registry.procedure">Procedure</a></h4> 3947 3959 <div id="rfc.section.8.6.1.p.1"> 3948 3960 <p>Each registered protocol name is associated with contact information and an optional … … 3981 3993 </div> 3982 3994 <div id="upgrade.token.registration"> 3983 <h 3 id="rfc.section.8.6.2"><a href="#rfc.section.8.6.2">8.6.2</a> <a href="#upgrade.token.registration">Upgrade Token Registration</a></h3>3984 <div id="rfc.section.8.6.2.p.1" >3995 <h4 id="rfc.section.8.6.2"><a href="#rfc.section.8.6.2">8.6.2</a> <a href="#upgrade.token.registration">Upgrade Token Registration</a></h4> 3996 <div id="rfc.section.8.6.2.p.1" class="avoidbreakafter"> 3985 3997 <p>The "HTTP" entry in the upgrade token registry has been updated with the registration 3986 3998 below: … … 3988 4000 </div> 3989 4001 <div id="rfc.table.u.3"> 3990 <table class="tt full left" cellpadding="3" cellspacing="0">4002 <table class="tt full tleft" cellpadding="3" cellspacing="0"> 3991 4003 <thead> 3992 4004 <tr> … … 4014 4026 </div> 4015 4027 <div id="security.considerations"> 4016 <h 1 id="rfc.section.9"><a href="#rfc.section.9">9.</a> <a href="#security.considerations">Security Considerations</a></h1>4028 <h2 id="rfc.section.9"><a href="#rfc.section.9">9.</a> <a href="#security.considerations">Security Considerations</a></h2> 4017 4029 <div id="rfc.section.9.p.1"> 4018 4030 <p>This section is meant to inform developers, information providers, and users of known … … 4022 4034 </div> 4023 4035 <div id="establishing.authority"> 4024 <h 2 id="rfc.section.9.1"><a href="#rfc.section.9.1">9.1</a> <a href="#establishing.authority">Establishing Authority</a></h2>4036 <h3 id="rfc.section.9.1"><a href="#rfc.section.9.1">9.1</a> <a href="#establishing.authority">Establishing Authority</a></h3> 4025 4037 <div id="rfc.section.9.1.p.1"> 4026 4038 <p>HTTP relies on the notion of an <dfn>authoritative response</dfn>: a response that has been determined by (or at the direction of) the authority identified … … 4064 4076 </div> 4065 4077 <div id="risks.intermediaries"> 4066 <h 2 id="rfc.section.9.2"><a href="#rfc.section.9.2">9.2</a> <a href="#risks.intermediaries">Risks of Intermediaries</a></h2>4078 <h3 id="rfc.section.9.2"><a href="#rfc.section.9.2">9.2</a> <a href="#risks.intermediaries">Risks of Intermediaries</a></h3> 4067 4079 <div id="rfc.section.9.2.p.1"> 4068 4080 <p>By their very nature, HTTP intermediaries are men-in-the-middle and, thus, represent … … 4094 4106 </div> 4095 4107 <div id="attack.protocol.element.length"> 4096 <h 2 id="rfc.section.9.3"><a href="#rfc.section.9.3">9.3</a> <a href="#attack.protocol.element.length">Attacks via Protocol Element Length</a></h2>4108 <h3 id="rfc.section.9.3"><a href="#rfc.section.9.3">9.3</a> <a href="#attack.protocol.element.length">Attacks via Protocol Element Length</a></h3> 4097 4109 <div id="rfc.section.9.3.p.1"> 4098 4110 <p>Because HTTP uses mostly textual, character-delimited fields, parsers are often vulnerable … … 4123 4135 </div> 4124 4136 <div id="response.splitting"> 4125 <h 2 id="rfc.section.9.4"><a href="#rfc.section.9.4">9.4</a> <a href="#response.splitting">Response Splitting</a></h2>4137 <h3 id="rfc.section.9.4"><a href="#rfc.section.9.4">9.4</a> <a href="#response.splitting">Response Splitting</a></h3> 4126 4138 <div id="rfc.section.9.4.p.1"> 4127 4139 <p>Response splitting (a.k.a, CRLF injection) is a common technique, used in various … … 4165 4177 </div> 4166 4178 <div id="request.smuggling"> 4167 <h 2 id="rfc.section.9.5"><a href="#rfc.section.9.5">9.5</a> <a href="#request.smuggling">Request Smuggling</a></h2>4179 <h3 id="rfc.section.9.5"><a href="#rfc.section.9.5">9.5</a> <a href="#request.smuggling">Request Smuggling</a></h3> 4168 4180 <div id="rfc.section.9.5.p.1"> 4169 4181 <p>Request smuggling (<a href="#Linhart" id="rfc.xref.Linhart.1"><cite title="HTTP Request Smuggling">[Linhart]</cite></a>) is a technique that exploits differences in protocol parsing among various recipients … … 4180 4192 </div> 4181 4193 <div id="message.integrity"> 4182 <h 2 id="rfc.section.9.6"><a href="#rfc.section.9.6">9.6</a> <a href="#message.integrity">Message Integrity</a></h2>4194 <h3 id="rfc.section.9.6"><a href="#rfc.section.9.6">9.6</a> <a href="#message.integrity">Message Integrity</a></h3> 4183 4195 <div id="rfc.section.9.6.p.1"> 4184 4196 <p>HTTP does not define a specific mechanism for ensuring message integrity, instead … … 4207 4219 </div> 4208 4220 <div id="message.confidentiality"> 4209 <h 2 id="rfc.section.9.7"><a href="#rfc.section.9.7">9.7</a> <a href="#message.confidentiality">Message Confidentiality</a></h2>4221 <h3 id="rfc.section.9.7"><a href="#rfc.section.9.7">9.7</a> <a href="#message.confidentiality">Message Confidentiality</a></h3> 4210 4222 <div id="rfc.section.9.7.p.1"> 4211 4223 <p>HTTP relies on underlying transport protocols to provide message confidentiality when … … 4223 4235 </div> 4224 4236 <div id="privacy.of.server.log.information"> 4225 <h 2 id="rfc.section.9.8"><a href="#rfc.section.9.8">9.8</a> <a href="#privacy.of.server.log.information">Privacy of Server Log Information</a></h2>4237 <h3 id="rfc.section.9.8"><a href="#rfc.section.9.8">9.8</a> <a href="#privacy.of.server.log.information">Privacy of Server Log Information</a></h3> 4226 4238 <div id="rfc.section.9.8.p.1"> 4227 4239 <p>A server is in the position to save personal data about a user's requests over time, … … 4251 4263 </div> 4252 4264 <div id="acks"> 4253 <h 1 id="rfc.section.10"><a href="#rfc.section.10">10.</a> <a href="#acks">Acknowledgments</a></h1>4265 <h2 id="rfc.section.10"><a href="#rfc.section.10">10.</a> <a href="#acks">Acknowledgments</a></h2> 4254 4266 <div id="rfc.section.10.p.1"> 4255 4267 <p>This edition of HTTP/1.1 builds on the many contributions that went into <a href="#RFC1945" id="rfc.xref.RFC1945.2">RFC 1945</a>, <a href="#RFC2068" id="rfc.xref.RFC2068.3">RFC 2068</a>, <a href="#RFC2145" id="rfc.xref.RFC2145.2">RFC 2145</a>, and <a href="#RFC2616" id="rfc.xref.RFC2616.3">RFC 2616</a>, including substantial contributions made by the previous authors, editors, and Working … … 4259 4271 </p> 4260 4272 </div> 4261 <div id="rfc.section.10.p.2" >4273 <div id="rfc.section.10.p.2" class="avoidbreakafter"> 4262 4274 <p>Since 1999, the following contributors have helped improve the HTTP specification 4263 4275 by reporting bugs, asking smart questions, drafting or reviewing text, and evaluating … … 4328 4340 </div> 4329 4341 </div> 4330 <h1 id="rfc.references"><a id="rfc.section.11" href="#rfc.section.11">11.</a> References 4331 </h1> 4332 <h2 id="rfc.references.1"><a href="#rfc.section.11.1" id="rfc.section.11.1">11.1</a> Normative References 4342 <h2 id="rfc.references"><a id="rfc.section.11" href="#rfc.section.11">11.</a> References 4333 4343 </h2> 4334 <table> 4335 <tr> 4336 <td class="reference"><b id="RFC0793">[RFC0793]</b></td> 4337 <td class="top">Postel, J., “<a href="https://tools.ietf.org/html/rfc793">Transmission Control Protocol</a>”, STD 7, RFC 793, September 1981. 4338 </td> 4339 </tr> 4340 <tr> 4341 <td class="reference"><b id="RFC1950">[RFC1950]</b></td> 4342 <td class="top">Deutsch, L. and J-L. Gailly, “<a href="https://tools.ietf.org/html/rfc1950">ZLIB Compressed Data Format Specification version 3.3</a>”, RFC 1950, May 1996. 4343 </td> 4344 </tr> 4345 <tr> 4346 <td class="reference"><b id="RFC1951">[RFC1951]</b></td> 4347 <td class="top">Deutsch, P., “<a href="https://tools.ietf.org/html/rfc1951">DEFLATE Compressed Data Format Specification version 1.3</a>”, RFC 1951, May 1996. 4348 </td> 4349 </tr> 4350 <tr> 4351 <td class="reference"><b id="RFC1952">[RFC1952]</b></td> 4352 <td class="top">Deutsch, P., Gailly, J-L., Adler, M., Deutsch, L., and G. Randers-Pehrson, “<a href="https://tools.ietf.org/html/rfc1952">GZIP file format specification version 4.3</a>”, RFC 1952, May 1996. 4353 </td> 4354 </tr> 4355 <tr> 4356 <td class="reference"><b id="RFC2119">[RFC2119]</b></td> 4357 <td class="top">Bradner, S., “<a href="https://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a>”, BCP 14, RFC 2119, March 1997. 4358 </td> 4359 </tr> 4360 <tr> 4361 <td class="reference"><b id="RFC3986">[RFC3986]</b></td> 4362 <td class="top">Berners-Lee, T., Fielding, R., and L. Masinter, “<a href="https://tools.ietf.org/html/rfc3986">Uniform Resource Identifier (URI): Generic Syntax</a>”, STD 66, RFC 3986, January 2005. 4363 </td> 4364 </tr> 4365 <tr> 4366 <td class="reference"><b id="RFC5234">[RFC5234]</b></td> 4367 <td class="top">Crocker, D., Ed. and P. Overell, “<a href="https://tools.ietf.org/html/rfc5234">Augmented BNF for Syntax Specifications: ABNF</a>”, STD 68, RFC 5234, January 2008. 4368 </td> 4369 </tr> 4370 <tr> 4371 <td class="reference"><b id="RFC7231">[RFC7231]</b></td> 4372 <td class="top">Fielding, R., Ed. and J. Reschke, Ed., “<a href="https://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-latest">Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</a>”, Internet-Draft draft-ietf-httpbis-p2-semantics-latest (work in progress), June 2014. 4373 </td> 4374 </tr> 4375 <tr> 4376 <td class="reference"><b id="RFC7232">[RFC7232]</b></td> 4377 <td class="top">Fielding, R., Ed. and J. Reschke, Ed., “<a href="https://tools.ietf.org/html/draft-ietf-httpbis-p4-conditional-latest">Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests</a>”, Internet-Draft draft-ietf-httpbis-p4-conditional-latest (work in progress), June 2014. 4378 </td> 4379 </tr> 4380 <tr> 4381 <td class="reference"><b id="RFC7233">[RFC7233]</b></td> 4382 <td class="top">Fielding, R., Ed., Lafon, Y., Ed., and J. Reschke, Ed., “<a href="https://tools.ietf.org/html/draft-ietf-httpbis-p5-range-latest">Hypertext Transfer Protocol (HTTP/1.1): Range Requests</a>”, Internet-Draft draft-ietf-httpbis-p5-range-latest (work in progress), June 2014. 4383 </td> 4384 </tr> 4385 <tr> 4386 <td class="reference"><b id="RFC7234">[RFC7234]</b></td> 4387 <td class="top">Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke, Ed., “<a href="https://tools.ietf.org/html/draft-ietf-httpbis-p6-cache-latest">Hypertext Transfer Protocol (HTTP/1.1): Caching</a>”, Internet-Draft draft-ietf-httpbis-p6-cache-latest (work in progress), June 2014. 4388 </td> 4389 </tr> 4390 <tr> 4391 <td class="reference"><b id="RFC7235">[RFC7235]</b></td> 4392 <td class="top">Fielding, R., Ed. and J. Reschke, Ed., “<a href="https://tools.ietf.org/html/draft-ietf-httpbis-p7-auth-latest">Hypertext Transfer Protocol (HTTP/1.1): Authentication</a>”, Internet-Draft draft-ietf-httpbis-p7-auth-latest (work in progress), June 2014. 4393 </td> 4394 </tr> 4395 <tr> 4396 <td class="reference"><b id="USASCII">[USASCII]</b></td> 4397 <td class="top">American National Standards Institute, “Coded Character Set -- 7-bit American Standard Code for Information Interchange”, ANSI X3.4, 1986.</td> 4398 </tr> 4399 <tr> 4400 <td class="reference"><b id="Welch">[Welch]</b></td> 4401 <td class="top">Welch, T., “A Technique for High-Performance Data Compression”, IEEE Computer 17(6), June 1984.</td> 4402 </tr> 4403 </table> 4404 <h2 id="rfc.references.2"><a href="#rfc.section.11.2" id="rfc.section.11.2">11.2</a> Informative References 4405 </h2> 4406 <table> 4407 <tr> 4408 <td class="reference"><b id="BCP115">[BCP115]</b></td> 4409 <td class="top">Hansen, T., Hardie, T., and L. Masinter, “<a href="https://tools.ietf.org/html/rfc4395">Guidelines and Registration Procedures for New URI Schemes</a>”, BCP 115, RFC 4395, February 2006. 4410 </td> 4411 </tr> 4412 <tr> 4413 <td class="reference"><b id="BCP13">[BCP13]</b></td> 4414 <td class="top">Freed, N., Klensin, J., and T. Hansen, “<a href="https://tools.ietf.org/html/rfc6838">Media Type Specifications and Registration Procedures</a>”, BCP 13, RFC 6838, January 2013. 4415 </td> 4416 </tr> 4417 <tr> 4418 <td class="reference"><b id="BCP90">[BCP90]</b></td> 4419 <td class="top">Klyne, G., Nottingham, M., and J. Mogul, “<a href="https://tools.ietf.org/html/rfc3864">Registration Procedures for Message Header Fields</a>”, BCP 90, RFC 3864, September 2004. 4420 </td> 4421 </tr> 4422 <tr> 4423 <td class="reference"><b id="Georgiev">[Georgiev]</b></td> 4424 <td class="top">Georgiev, M., Iyengar, S., Jana, S., Anubhai, R., Boneh, D., and V. Shmatikov, “<a href="http://doi.acm.org/10.1145/2382196.2382204">The Most Dangerous Code in the World: Validating SSL Certificates in Non-browser Software</a>”, In Proceedings of the 2012 ACM Conference on Computer and Communications Security 4425 (CCS '12), pp. 38-49, October 2012, <<a href="http://doi.acm.org/10.1145/2382196.2382204">http://doi.acm.org/10.1145/2382196.2382204</a>>. 4426 </td> 4427 </tr> 4428 <tr> 4429 <td class="reference"><b id="ISO-8859-1">[ISO-8859-1]</b></td> 4430 <td class="top">International Organization for Standardization, “Information technology -- 8-bit single-byte coded graphic character sets -- Part 1: 4431 Latin alphabet No. 1”, ISO/IEC 8859-1:1998, 1998. 4432 </td> 4433 </tr> 4434 <tr> 4435 <td class="reference"><b id="Klein">[Klein]</b></td> 4436 <td class="top">Klein, A., “<a href="http://packetstormsecurity.com/papers/general/whitepaper_httpresponse.pdf">Divide and Conquer - HTTP Response Splitting, Web Cache Poisoning Attacks, and Related 4437 Topics</a>”, March 2004, <<a href="http://packetstormsecurity.com/papers/general/whitepaper_httpresponse.pdf">http://packetstormsecurity.com/papers/general/whitepaper_httpresponse.pdf</a>>. 4438 </td> 4439 </tr> 4440 <tr> 4441 <td class="reference"><b id="Kri2001">[Kri2001]</b></td> 4442 <td class="top">Kristol, D., “<a href="http://arxiv.org/abs/cs.SE/0105018">HTTP Cookies: Standards, Privacy, and Politics</a>”, ACM Transactions on Internet Technology 1(2), November 2001, <<a href="http://arxiv.org/abs/cs.SE/0105018">http://arxiv.org/abs/cs.SE/0105018</a>>. 4443 </td> 4444 </tr> 4445 <tr> 4446 <td class="reference"><b id="Linhart">[Linhart]</b></td> 4447 <td class="top">Linhart, C., Klein, A., Heled, R., and S. Orrin, “<a href="http://www.watchfire.com/news/whitepapers.aspx">HTTP Request Smuggling</a>”, June 2005, <<a href="http://www.watchfire.com/news/whitepapers.aspx">http://www.watchfire.com/news/whitepapers.aspx</a>>. 4448 </td> 4449 </tr> 4450 <tr> 4451 <td class="reference"><b id="RFC1919">[RFC1919]</b></td> 4452 <td class="top">Chatel, M., “<a href="https://tools.ietf.org/html/rfc1919">Classical versus Transparent IP Proxies</a>”, RFC 1919, March 1996. 4453 </td> 4454 </tr> 4455 <tr> 4456 <td class="reference"><b id="RFC1945">[RFC1945]</b></td> 4457 <td class="top">Berners-Lee, T., Fielding, R., and H. Nielsen, “<a href="https://tools.ietf.org/html/rfc1945">Hypertext Transfer Protocol -- HTTP/1.0</a>”, RFC 1945, May 1996. 4458 </td> 4459 </tr> 4460 <tr> 4461 <td class="reference"><b id="RFC2045">[RFC2045]</b></td> 4462 <td class="top">Freed, N. and N. Borenstein, “<a href="https://tools.ietf.org/html/rfc2045">Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message 4463 Bodies</a>”, RFC 2045, November 1996. 4464 </td> 4465 </tr> 4466 <tr> 4467 <td class="reference"><b id="RFC2047">[RFC2047]</b></td> 4468 <td class="top">Moore, K., “<a href="https://tools.ietf.org/html/rfc2047">MIME (Multipurpose Internet Mail Extensions) Part Three: Message Header Extensions 4469 for Non-ASCII Text</a>”, RFC 2047, November 1996. 4470 </td> 4471 </tr> 4472 <tr> 4473 <td class="reference"><b id="RFC2068">[RFC2068]</b></td> 4474 <td class="top">Fielding, R., Gettys, J., Mogul, J., Nielsen, H., and T. Berners-Lee, “<a href="https://tools.ietf.org/html/rfc2068">Hypertext Transfer Protocol -- HTTP/1.1</a>”, RFC 2068, January 1997. 4475 </td> 4476 </tr> 4477 <tr> 4478 <td class="reference"><b id="RFC2145">[RFC2145]</b></td> 4479 <td class="top">Mogul, J., Fielding, R., Gettys, J., and H. Nielsen, “<a href="https://tools.ietf.org/html/rfc2145">Use and Interpretation of HTTP Version Numbers</a>”, RFC 2145, May 1997. 4480 </td> 4481 </tr> 4482 <tr> 4483 <td class="reference"><b id="RFC2616">[RFC2616]</b></td> 4484 <td class="top">Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P., and T. Berners-Lee, “<a href="https://tools.ietf.org/html/rfc2616">Hypertext Transfer Protocol -- HTTP/1.1</a>”, RFC 2616, June 1999. 4485 </td> 4486 </tr> 4487 <tr> 4488 <td class="reference"><b id="RFC2817">[RFC2817]</b></td> 4489 <td class="top">Khare, R. and S. Lawrence, “<a href="https://tools.ietf.org/html/rfc2817">Upgrading to TLS Within HTTP/1.1</a>”, RFC 2817, May 2000. 4490 </td> 4491 </tr> 4492 <tr> 4493 <td class="reference"><b id="RFC2818">[RFC2818]</b></td> 4494 <td class="top">Rescorla, E., “<a href="https://tools.ietf.org/html/rfc2818">HTTP Over TLS</a>”, RFC 2818, May 2000. 4495 </td> 4496 </tr> 4497 <tr> 4498 <td class="reference"><b id="RFC3040">[RFC3040]</b></td> 4499 <td class="top">Cooper, I., Melve, I., and G. Tomlinson, “<a href="https://tools.ietf.org/html/rfc3040">Internet Web Replication and Caching Taxonomy</a>”, RFC 3040, January 2001. 4500 </td> 4501 </tr> 4502 <tr> 4503 <td class="reference"><b id="RFC4033">[RFC4033]</b></td> 4504 <td class="top">Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, “<a href="https://tools.ietf.org/html/rfc4033">DNS Security Introduction and Requirements</a>”, RFC 4033, March 2005. 4505 </td> 4506 </tr> 4507 <tr> 4508 <td class="reference"><b id="RFC4559">[RFC4559]</b></td> 4509 <td class="top">Jaganathan, K., Zhu, L., and J. Brezak, “<a href="https://tools.ietf.org/html/rfc4559">SPNEGO-based Kerberos and NTLM HTTP Authentication in Microsoft Windows</a>”, RFC 4559, June 2006. 4510 </td> 4511 </tr> 4512 <tr> 4513 <td class="reference"><b id="RFC5226">[RFC5226]</b></td> 4514 <td class="top">Narten, T. and H. Alvestrand, “<a href="https://tools.ietf.org/html/rfc5226">Guidelines for Writing an IANA Considerations Section in RFCs</a>”, BCP 26, RFC 5226, May 2008. 4515 </td> 4516 </tr> 4517 <tr> 4518 <td class="reference"><b id="RFC5246">[RFC5246]</b></td> 4519 <td class="top">Dierks, T. and E. Rescorla, “<a href="https://tools.ietf.org/html/rfc5246">The Transport Layer Security (TLS) Protocol Version 1.2</a>”, RFC 5246, August 2008. 4520 </td> 4521 </tr> 4522 <tr> 4523 <td class="reference"><b id="RFC5322">[RFC5322]</b></td> 4524 <td class="top">Resnick, P., “<a href="https://tools.ietf.org/html/rfc5322">Internet Message Format</a>”, RFC 5322, October 2008. 4525 </td> 4526 </tr> 4527 <tr> 4528 <td class="reference"><b id="RFC6265">[RFC6265]</b></td> 4529 <td class="top">Barth, A., “<a href="https://tools.ietf.org/html/rfc6265">HTTP State Management Mechanism</a>”, RFC 6265, April 2011. 4530 </td> 4531 </tr> 4532 <tr> 4533 <td class="reference"><b id="RFC6585">[RFC6585]</b></td> 4534 <td class="top">Nottingham, M. and R. Fielding, “<a href="https://tools.ietf.org/html/rfc6585">Additional HTTP Status Codes</a>”, RFC 6585, April 2012. 4535 </td> 4536 </tr> 4537 </table> 4344 <h3 id="rfc.references.1"><a href="#rfc.section.11.1" id="rfc.section.11.1">11.1</a> Normative References 4345 </h3> 4346 <dl class="reference"> 4347 <dt id="RFC0793">[RFC0793]</dt> 4348 <dd>Postel, J., “<a href="https://tools.ietf.org/html/rfc793">Transmission Control Protocol</a>”, STD 7, RFC 793, September 1981. 4349 </dd> 4350 <dt id="RFC1950">[RFC1950]</dt> 4351 <dd>Deutsch, L. and J-L. Gailly, “<a href="https://tools.ietf.org/html/rfc1950">ZLIB Compressed Data Format Specification version 3.3</a>”, RFC 1950, May 1996. 4352 </dd> 4353 <dt id="RFC1951">[RFC1951]</dt> 4354 <dd>Deutsch, P., “<a href="https://tools.ietf.org/html/rfc1951">DEFLATE Compressed Data Format Specification version 1.3</a>”, RFC 1951, May 1996. 4355 </dd> 4356 <dt id="RFC1952">[RFC1952]</dt> 4357 <dd>Deutsch, P., Gailly, J-L., Adler, M., Deutsch, L., and G. Randers-Pehrson, “<a href="https://tools.ietf.org/html/rfc1952">GZIP file format specification version 4.3</a>”, RFC 1952, May 1996. 4358 </dd> 4359 <dt id="RFC2119">[RFC2119]</dt> 4360 <dd>Bradner, S., “<a href="https://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a>”, BCP 14, RFC 2119, March 1997. 4361 </dd> 4362 <dt id="RFC3986">[RFC3986]</dt> 4363 <dd>Berners-Lee, T., Fielding, R., and L. Masinter, “<a href="https://tools.ietf.org/html/rfc3986">Uniform Resource Identifier (URI): Generic Syntax</a>”, STD 66, RFC 3986, January 2005. 4364 </dd> 4365 <dt id="RFC5234">[RFC5234]</dt> 4366 <dd>Crocker, D., Ed. and P. Overell, “<a href="https://tools.ietf.org/html/rfc5234">Augmented BNF for Syntax Specifications: ABNF</a>”, STD 68, RFC 5234, January 2008. 4367 </dd> 4368 <dt id="RFC7231">[RFC7231]</dt> 4369 <dd>Fielding, R., Ed. and J. Reschke, Ed., “<a href="https://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-latest">Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</a>”, Internet-Draft draft-ietf-httpbis-p2-semantics-latest (work in progress), June 2014. 4370 </dd> 4371 <dt id="RFC7232">[RFC7232]</dt> 4372 <dd>Fielding, R., Ed. and J. Reschke, Ed., “<a href="https://tools.ietf.org/html/draft-ietf-httpbis-p4-conditional-latest">Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests</a>”, Internet-Draft draft-ietf-httpbis-p4-conditional-latest (work in progress), June 2014. 4373 </dd> 4374 <dt id="RFC7233">[RFC7233]</dt> 4375 <dd>Fielding, R., Ed., Lafon, Y., Ed., and J. Reschke, Ed., “<a href="https://tools.ietf.org/html/draft-ietf-httpbis-p5-range-latest">Hypertext Transfer Protocol (HTTP/1.1): Range Requests</a>”, Internet-Draft draft-ietf-httpbis-p5-range-latest (work in progress), June 2014. 4376 </dd> 4377 <dt id="RFC7234">[RFC7234]</dt> 4378 <dd>Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke, Ed., “<a href="https://tools.ietf.org/html/draft-ietf-httpbis-p6-cache-latest">Hypertext Transfer Protocol (HTTP/1.1): Caching</a>”, Internet-Draft draft-ietf-httpbis-p6-cache-latest (work in progress), June 2014. 4379 </dd> 4380 <dt id="RFC7235">[RFC7235]</dt> 4381 <dd>Fielding, R., Ed. and J. Reschke, Ed., “<a href="https://tools.ietf.org/html/draft-ietf-httpbis-p7-auth-latest">Hypertext Transfer Protocol (HTTP/1.1): Authentication</a>”, Internet-Draft draft-ietf-httpbis-p7-auth-latest (work in progress), June 2014. 4382 </dd> 4383 <dt id="USASCII">[USASCII]</dt> 4384 <dd>American National Standards Institute, “Coded Character Set -- 7-bit American Standard Code for Information Interchange”, ANSI X3.4, 1986.</dd> 4385 <dt id="Welch">[Welch]</dt> 4386 <dd>Welch, T., “A Technique for High-Performance Data Compression”, IEEE Computer 17(6), June 1984.</dd> 4387 </dl> 4388 <h3 id="rfc.references.2"><a href="#rfc.section.11.2" id="rfc.section.11.2">11.2</a> Informative References 4389 </h3> 4390 <dl class="reference"> 4391 <dt id="BCP115">[BCP115]</dt> 4392 <dd>Hansen, T., Hardie, T., and L. Masinter, “<a href="https://tools.ietf.org/html/rfc4395">Guidelines and Registration Procedures for New URI Schemes</a>”, BCP 115, RFC 4395, February 2006. 4393 </dd> 4394 <dt id="BCP13">[BCP13]</dt> 4395 <dd>Freed, N., Klensin, J., and T. Hansen, “<a href="https://tools.ietf.org/html/rfc6838">Media Type Specifications and Registration Procedures</a>”, BCP 13, RFC 6838, January 2013. 4396 </dd> 4397 <dt id="BCP90">[BCP90]</dt> 4398 <dd>Klyne, G., Nottingham, M., and J. Mogul, “<a href="https://tools.ietf.org/html/rfc3864">Registration Procedures for Message Header Fields</a>”, BCP 90, RFC 3864, September 2004. 4399 </dd> 4400 <dt id="Georgiev">[Georgiev]</dt> 4401 <dd>Georgiev, M., Iyengar, S., Jana, S., Anubhai, R., Boneh, D., and V. Shmatikov, “<a href="http://doi.acm.org/10.1145/2382196.2382204">The Most Dangerous Code in the World: Validating SSL Certificates in Non-browser Software</a>”, In Proceedings of the 2012 ACM Conference on Computer and Communications Security 4402 (CCS '12), pp. 38-49, October 2012, <<a href="http://doi.acm.org/10.1145/2382196.2382204">http://doi.acm.org/10.1145/2382196.2382204</a>>. 4403 </dd> 4404 <dt id="ISO-8859-1">[ISO-8859-1]</dt> 4405 <dd>International Organization for Standardization, “Information technology -- 8-bit single-byte coded graphic character sets -- Part 1: 4406 Latin alphabet No. 1”, ISO/IEC 8859-1:1998, 1998. 4407 </dd> 4408 <dt id="Klein">[Klein]</dt> 4409 <dd>Klein, A., “<a href="http://packetstormsecurity.com/papers/general/whitepaper_httpresponse.pdf">Divide and Conquer - HTTP Response Splitting, Web Cache Poisoning Attacks, and Related 4410 Topics</a>”, March 2004, <<a href="http://packetstormsecurity.com/papers/general/whitepaper_httpresponse.pdf">http://packetstormsecurity.com/papers/general/whitepaper_httpresponse.pdf</a>>. 4411 </dd> 4412 <dt id="Kri2001">[Kri2001]</dt> 4413 <dd>Kristol, D., “<a href="http://arxiv.org/abs/cs.SE/0105018">HTTP Cookies: Standards, Privacy, and Politics</a>”, ACM Transactions on Internet Technology 1(2), November 2001, <<a href="http://arxiv.org/abs/cs.SE/0105018">http://arxiv.org/abs/cs.SE/0105018</a>>. 4414 </dd> 4415 <dt id="Linhart">[Linhart]</dt> 4416 <dd>Linhart, C., Klein, A., Heled, R., and S. Orrin, “<a href="http://www.watchfire.com/news/whitepapers.aspx">HTTP Request Smuggling</a>”, June 2005, <<a href="http://www.watchfire.com/news/whitepapers.aspx">http://www.watchfire.com/news/whitepapers.aspx</a>>. 4417 </dd> 4418 <dt id="RFC1919">[RFC1919]</dt> 4419 <dd>Chatel, M., “<a href="https://tools.ietf.org/html/rfc1919">Classical versus Transparent IP Proxies</a>”, RFC 1919, March 1996. 4420 </dd> 4421 <dt id="RFC1945">[RFC1945]</dt> 4422 <dd>Berners-Lee, T., Fielding, R., and H. Nielsen, “<a href="https://tools.ietf.org/html/rfc1945">Hypertext Transfer Protocol -- HTTP/1.0</a>”, RFC 1945, May 1996. 4423 </dd> 4424 <dt id="RFC2045">[RFC2045]</dt> 4425 <dd>Freed, N. and N. Borenstein, “<a href="https://tools.ietf.org/html/rfc2045">Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message 4426 Bodies</a>”, RFC 2045, November 1996. 4427 </dd> 4428 <dt id="RFC2047">[RFC2047]</dt> 4429 <dd>Moore, K., “<a href="https://tools.ietf.org/html/rfc2047">MIME (Multipurpose Internet Mail Extensions) Part Three: Message Header Extensions 4430 for Non-ASCII Text</a>”, RFC 2047, November 1996. 4431 </dd> 4432 <dt id="RFC2068">[RFC2068]</dt> 4433 <dd>Fielding, R., Gettys, J., Mogul, J., Nielsen, H., and T. Berners-Lee, “<a href="https://tools.ietf.org/html/rfc2068">Hypertext Transfer Protocol -- HTTP/1.1</a>”, RFC 2068, January 1997. 4434 </dd> 4435 <dt id="RFC2145">[RFC2145]</dt> 4436 <dd>Mogul, J., Fielding, R., Gettys, J., and H. Nielsen, “<a href="https://tools.ietf.org/html/rfc2145">Use and Interpretation of HTTP Version Numbers</a>”, RFC 2145, May 1997. 4437 </dd> 4438 <dt id="RFC2616">[RFC2616]</dt> 4439 <dd>Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P., and T. Berners-Lee, “<a href="https://tools.ietf.org/html/rfc2616">Hypertext Transfer Protocol -- HTTP/1.1</a>”, RFC 2616, June 1999. 4440 </dd> 4441 <dt id="RFC2817">[RFC2817]</dt> 4442 <dd>Khare, R. and S. Lawrence, “<a href="https://tools.ietf.org/html/rfc2817">Upgrading to TLS Within HTTP/1.1</a>”, RFC 2817, May 2000. 4443 </dd> 4444 <dt id="RFC2818">[RFC2818]</dt> 4445 <dd>Rescorla, E., “<a href="https://tools.ietf.org/html/rfc2818">HTTP Over TLS</a>”, RFC 2818, May 2000. 4446 </dd> 4447 <dt id="RFC3040">[RFC3040]</dt> 4448 <dd>Cooper, I., Melve, I., and G. Tomlinson, “<a href="https://tools.ietf.org/html/rfc3040">Internet Web Replication and Caching Taxonomy</a>”, RFC 3040, January 2001. 4449 </dd> 4450 <dt id="RFC4033">[RFC4033]</dt> 4451 <dd>Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, “<a href="https://tools.ietf.org/html/rfc4033">DNS Security Introduction and Requirements</a>”, RFC 4033, March 2005. 4452 </dd> 4453 <dt id="RFC4559">[RFC4559]</dt> 4454 <dd>Jaganathan, K., Zhu, L., and J. Brezak, “<a href="https://tools.ietf.org/html/rfc4559">SPNEGO-based Kerberos and NTLM HTTP Authentication in Microsoft Windows</a>”, RFC 4559, June 2006. 4455 </dd> 4456 <dt id="RFC5226">[RFC5226]</dt> 4457 <dd>Narten, T. and H. Alvestrand, “<a href="https://tools.ietf.org/html/rfc5226">Guidelines for Writing an IANA Considerations Section in RFCs</a>”, BCP 26, RFC 5226, May 2008. 4458 </dd> 4459 <dt id="RFC5246">[RFC5246]</dt> 4460 <dd>Dierks, T. and E. Rescorla, “<a href="https://tools.ietf.org/html/rfc5246">The Transport Layer Security (TLS) Protocol Version 1.2</a>”, RFC 5246, August 2008. 4461 </dd> 4462 <dt id="RFC5322">[RFC5322]</dt> 4463 <dd>Resnick, P., “<a href="https://tools.ietf.org/html/rfc5322">Internet Message Format</a>”, RFC 5322, October 2008. 4464 </dd> 4465 <dt id="RFC6265">[RFC6265]</dt> 4466 <dd>Barth, A., “<a href="https://tools.ietf.org/html/rfc6265">HTTP State Management Mechanism</a>”, RFC 6265, April 2011. 4467 </dd> 4468 <dt id="RFC6585">[RFC6585]</dt> 4469 <dd>Nottingham, M. and R. Fielding, “<a href="https://tools.ietf.org/html/rfc6585">Additional HTTP Status Codes</a>”, RFC 6585, April 2012. 4470 </dd> 4471 </dl> 4538 4472 <div id="compatibility"> 4539 <h 1 id="rfc.section.A" class="np"><a href="#rfc.section.A">A.</a> <a href="#compatibility">HTTP Version History</a></h1>4473 <h2 id="rfc.section.A" class="np"><a href="#rfc.section.A">A.</a> <a href="#compatibility">HTTP Version History</a></h2> 4540 4474 <div id="rfc.section.A.p.1"> 4541 4475 <p>HTTP has been in use since 1990. The first version, later referred to as HTTP/0.9, … … 4573 4507 </div> 4574 4508 <div id="changes.from.1.0"> 4575 <h 2 id="rfc.section.A.1"><a href="#rfc.section.A.1">A.1</a> <a href="#changes.from.1.0">Changes from HTTP/1.0</a></h2>4509 <h3 id="rfc.section.A.1"><a href="#rfc.section.A.1">A.1</a> <a href="#changes.from.1.0">Changes from HTTP/1.0</a></h3> 4576 4510 <div id="rfc.section.A.1.p.1"> 4577 4511 <p>This section summarizes major differences between versions HTTP/1.0 and HTTP/1.1.</p> 4578 4512 </div> 4579 4513 <div id="changes.to.simplify.multihomed.web.servers.and.conserve.ip.addresses"> 4580 <h 3 id="rfc.section.A.1.1"><a href="#rfc.section.A.1.1">A.1.1</a> <a href="#changes.to.simplify.multihomed.web.servers.and.conserve.ip.addresses">Multihomed Web Servers</a></h3>4514 <h4 id="rfc.section.A.1.1"><a href="#rfc.section.A.1.1">A.1.1</a> <a href="#changes.to.simplify.multihomed.web.servers.and.conserve.ip.addresses">Multihomed Web Servers</a></h4> 4581 4515 <div id="rfc.section.A.1.1.p.1"> 4582 4516 <p>The requirements that clients and servers support the <a href="#header.host" class="smpl">Host</a> header field (<a href="#header.host" id="rfc.xref.header.host.3" title="Host">Section 5.4</a>), report an error if it is missing from an HTTP/1.1 request, and accept absolute … … 4596 4530 </div> 4597 4531 <div id="compatibility.with.http.1.0.persistent.connections"> 4598 <h 3 id="rfc.section.A.1.2"><a href="#rfc.section.A.1.2">A.1.2</a> <a href="#compatibility.with.http.1.0.persistent.connections">Keep-Alive Connections</a></h3>4532 <h4 id="rfc.section.A.1.2"><a href="#rfc.section.A.1.2">A.1.2</a> <a href="#compatibility.with.http.1.0.persistent.connections">Keep-Alive Connections</a></h4> 4599 4533 <div id="rfc.section.A.1.2.p.1"> 4600 4534 <p>In HTTP/1.0, each connection is established by the client prior to the request and … … 4634 4568 </div> 4635 4569 <div id="introduction.of.transfer-encoding"> 4636 <h 3 id="rfc.section.A.1.3"><a href="#rfc.section.A.1.3">A.1.3</a> <a href="#introduction.of.transfer-encoding">Introduction of Transfer-Encoding</a></h3>4570 <h4 id="rfc.section.A.1.3"><a href="#rfc.section.A.1.3">A.1.3</a> <a href="#introduction.of.transfer-encoding">Introduction of Transfer-Encoding</a></h4> 4637 4571 <div id="rfc.section.A.1.3.p.1"> 4638 4572 <p>HTTP/1.1 introduces the <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a> header field (<a href="#header.transfer-encoding" id="rfc.xref.header.transfer-encoding.4" title="Transfer-Encoding">Section 3.3.1</a>). Transfer codings need to be decoded prior to forwarding an HTTP message over a … … 4643 4577 </div> 4644 4578 <div id="changes.from.rfc.2616"> 4645 <h 2 id="rfc.section.A.2"><a href="#rfc.section.A.2">A.2</a> <a href="#changes.from.rfc.2616">Changes from RFC 2616</a></h2>4579 <h3 id="rfc.section.A.2"><a href="#rfc.section.A.2">A.2</a> <a href="#changes.from.rfc.2616">Changes from RFC 2616</a></h3> 4646 4580 <div id="rfc.section.A.2.p.1"> 4647 4581 <p>HTTP's approach to error handling has been explained. (<a href="#conformance" title="Conformance and Error Handling">Section 2.5</a>) … … 4777 4711 </div> 4778 4712 <div id="collected.abnf"> 4779 <h 1 id="rfc.section.B"><a href="#rfc.section.B">B.</a> <a href="#collected.abnf">Collected ABNF</a></h1>4713 <h2 id="rfc.section.B"><a href="#rfc.section.B">B.</a> <a href="#collected.abnf">Collected ABNF</a></h2> 4780 4714 <div id="rfc.figure.u.72"><pre class="inline"><a href="#rule.whitespace" class="smpl">BWS</a> = OWS 4781 4715 … … 4892 4826 </pre></div> 4893 4827 </div> 4894 <h 1 id="rfc.index"><a href="#rfc.index">Index</a></h1>4828 <h2 id="rfc.index"><a href="#rfc.index">Index</a></h2> 4895 4829 <p class="noprint"><a href="#rfc.index.A">A</a> <a href="#rfc.index.B">B</a> <a href="#rfc.index.C">C</a> <a href="#rfc.index.D">D</a> <a href="#rfc.index.E">E</a> <a href="#rfc.index.G">G</a> <a href="#rfc.index.H">H</a> <a href="#rfc.index.I">I</a> <a href="#rfc.index.K">K</a> <a href="#rfc.index.L">L</a> <a href="#rfc.index.M">M</a> <a href="#rfc.index.N">N</a> <a href="#rfc.index.O">O</a> <a href="#rfc.index.P">P</a> <a href="#rfc.index.R">R</a> <a href="#rfc.index.S">S</a> <a href="#rfc.index.T">T</a> <a href="#rfc.index.U">U</a> <a href="#rfc.index.V">V</a> <a href="#rfc.index.W">W</a> 4896 4830 </p> … … 5239 5173 </div> 5240 5174 <div class="avoidbreakinside"> 5241 <h 1 id="rfc.authors"><a href="#rfc.authors">Authors' Addresses</a></h1>5175 <h2 id="rfc.authors"><a href="#rfc.authors">Authors' Addresses</a></h2> 5242 5176 <p><b>Roy T. Fielding</b> 5243 5177 (editor) -
draft-ietf-httpbis/latest/p2-semantics.html
r2734 r2748 4 4 <head profile="http://dublincore.org/documents/2008/08/04/dc-html/"> 5 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 6 <title>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</title><script >6 <title>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</title><script type="application/javascript"> 7 7 var buttonsAdded = false; 8 8 … … 17 17 18 18 function feedback() { 19 toggleButtonsToElementsByName("h1");20 19 toggleButtonsToElementsByName("h2"); 21 20 toggleButtonsToElementsByName("h3"); 22 21 toggleButtonsToElementsByName("h4"); 22 toggleButtonsToElementsByName("h5"); 23 23 24 24 buttonsAdded = !buttonsAdded; … … 147 147 margin-left: 0em; 148 148 } 149 dl.reference > dt { 150 font-weight: bold; 151 } 152 dl.reference > dd { 153 margin-left: 6em; 154 } 149 155 h1 { 156 color: green; 157 font-size: 150%; 158 line-height: 18pt; 159 font-weight: bold; 160 text-align: center; 161 margin-top: 36pt; 162 margin-bottom: 0pt; 163 } 164 h2 { 150 165 font-size: 130%; 151 166 line-height: 21pt; 152 167 page-break-after: avoid; 153 168 } 154 h 1.np {169 h2.np { 155 170 page-break-before: always; 156 171 } 157 h 2{172 h3 { 158 173 font-size: 120%; 159 174 line-height: 15pt; 160 175 page-break-after: avoid; 161 176 } 162 h 3{177 h4 { 163 178 font-size: 110%; 164 179 page-break-after: avoid; 165 180 } 166 h 4, h5, h6 {181 h5, h6 { 167 182 page-break-after: avoid; 168 183 } … … 266 281 border-width: 2px; 267 282 } 268 table. left {283 table.tleft { 269 284 margin-right: auto; 270 285 } 271 table. right {286 table.tright { 272 287 margin-left: auto; 273 288 } 274 table. center {289 table.tcenter { 275 290 margin-left: auto; 276 291 margin-right: auto; … … 303 318 color: white; 304 319 } 305 td.reference {306 vertical-align: top;307 white-space: nowrap;308 padding-right: 1em;309 }310 320 thead { 311 321 display:table-header-group; … … 333 343 margin-left: 0em; 334 344 } 335 . title, .filename, h1, h2, h3, h4 {345 .filename, h1, h2, h3, h4 { 336 346 font-family: candara, calibri, segoe, optima, arial, sans-serif; 337 347 } … … 381 391 .filename { 382 392 color: #333333; 383 font-size: 75%;393 font-size: 112%; 384 394 font-weight: bold; 385 395 line-height: 21pt; 386 396 text-align: center; 397 margin-top: 0pt; 387 398 } 388 399 .fn { … … 394 405 .right { 395 406 text-align: right; 396 }397 .title {398 color: green;399 font-size: 150%;400 line-height: 18pt;401 font-weight: bold;402 text-align: center;403 margin-top: 36pt;404 407 } 405 408 .warning { … … 428 431 border: 1px solid silver; 429 432 border-radius: 5px; 433 } 434 .publishedasrfc { 435 background-color: yellow; 436 color: green; 437 font-size: 14pt; 438 text-align: center; 430 439 } 431 440 … … 531 540 <link href="p1-messaging.html" rel="prev"> 532 541 <link href="p4-conditional.html" rel="next"> 533 <meta name="generator" content="http://greenbytes.de/tech/webdav/rfc2629.xslt, Revision 1.7 10, 2014/12/09 13:12:18, XSLT vendor: Saxonica http://www.saxonica.com/">542 <meta name="generator" content="http://greenbytes.de/tech/webdav/rfc2629.xslt, Revision 1.756, 2015/12/31 17:59:21, XSLT vendor: Saxonica http://www.saxonica.com/"> 534 543 <meta name="keywords" content="Hypertext Transfer Protocol, HTTP, HTTP semantics, HTTP payload, HTTP content, HTTP method, HTTP status code"> 535 544 <link rel="schema.dct" href="http://purl.org/dc/terms/"> … … 573 582 </tbody> 574 583 </table> 575 <p class="title" id="rfc.title">Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content<br><span class="filename">draft-ietf-httpbis-p2-semantics-latest</span></p> 576 <p style="color: green; text-align: center; font-size: 14pt; background-color: yellow;"><b>Note:</b> a later version of this document has been published as <a href="http://svn.tools.ietf.org/svn/wg/httpbis/specs/rfc7231.html">RFC7231</a>. 584 <div id="rfc.title"> 585 <h1>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</h1> 586 <div class="filename">draft-ietf-httpbis-p2-semantics-latest</div> 587 </div> 588 <p class="publishedasrfc"><b>Note:</b> a later version of this document has been published as <a href="http://svn.tools.ietf.org/svn/wg/httpbis/specs/rfc7231.html">RFC7231</a>. 577 589 578 590 </p> 579 <h 1 id="rfc.abstract"><a href="#rfc.abstract">Abstract</a></h1>591 <h2 id="rfc.abstract"><a href="#rfc.abstract">Abstract</a></h2> 580 592 <p>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for 581 593 distributed, collaborative, hypertext information systems. This document defines the … … 584 596 (metadata and body content) and mechanisms for content negotiation. 585 597 </p> 586 <h 1 id="rfc.note.1"><a href="#rfc.note.1">Editorial Note (To be removed by RFC Editor)</a></h1>598 <h2 id="rfc.note.1"><a href="#rfc.note.1">Editorial Note (To be removed by RFC Editor)</a></h2> 587 599 <p>Discussion of this draft takes place on the HTTPBIS working group mailing list (ietf-http-wg@w3.org), 588 600 which is archived at <<a href="http://lists.w3.org/Archives/Public/ietf-http-wg/">http://lists.w3.org/Archives/Public/ietf-http-wg/</a>>. … … 594 606 </p> 595 607 <div id="rfc.status"> 596 <h 1><a href="#rfc.status">Status of This Memo</a></h1>608 <h2><a href="#rfc.status">Status of This Memo</a></h2> 597 609 <p>This Internet-Draft is submitted in full conformance with the provisions of BCP 78 598 610 and BCP 79. … … 609 621 </div> 610 622 <div id="rfc.copyrightnotice"> 611 <h 1><a href="#rfc.copyrightnotice">Copyright Notice</a></h1>623 <h2><a href="#rfc.copyrightnotice">Copyright Notice</a></h2> 612 624 <p>Copyright © 2014 IETF Trust and the persons identified as the document authors. All 613 625 rights reserved. … … 632 644 <hr class="noprint"> 633 645 <div id="rfc.toc"> 634 <h 1 class="np"><a href="#rfc.toc">Table of Contents</a></h1>646 <h2 class="np"><a href="#rfc.toc">Table of Contents</a></h2> 635 647 <ul class="toc"> 636 648 <li><a href="#rfc.section.1">1.</a> <a href="#introduction">Introduction</a><ul> … … 832 844 </div> 833 845 <div id="introduction"> 834 <h 1 id="rfc.section.1" class="np"><a href="#rfc.section.1">1.</a> <a href="#introduction">Introduction</a></h1>846 <h2 id="rfc.section.1" class="np"><a href="#rfc.section.1">1.</a> <a href="#introduction">Introduction</a></h2> 835 847 <div id="rfc.section.1.p.1"> 836 848 <p>Each Hypertext Transfer Protocol (HTTP) message is either a request or a response. … … 862 874 </div> 863 875 <div id="conformance"> 864 <h 2 id="rfc.section.1.1"><a href="#rfc.section.1.1">1.1</a> <a href="#conformance">Conformance and Error Handling</a></h2>876 <h3 id="rfc.section.1.1"><a href="#rfc.section.1.1">1.1</a> <a href="#conformance">Conformance and Error Handling</a></h3> 865 877 <div id="rfc.section.1.1.p.1"> 866 878 <p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD … … 875 887 </div> 876 888 <div id="notation"> 877 <h 2 id="rfc.section.1.2"><a href="#rfc.section.1.2">1.2</a> <a href="#notation">Syntax Notation</a></h2>889 <h3 id="rfc.section.1.2"><a href="#rfc.section.1.2">1.2</a> <a href="#notation">Syntax Notation</a></h3> 878 890 <div id="rfc.section.1.2.p.1"> 879 891 <p>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 a list extension, defined in <a href="p1-messaging.html#abnf.extension" title="ABNF List Extension: #rule">Section 7</a> of <a href="#RFC7230" id="rfc.xref.RFC7230.3"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[RFC7230]</cite></a>, that allows for compact definition of comma-separated lists using a '#' operator … … 889 901 </div> 890 902 <div id="resources"> 891 <h 1 id="rfc.section.2"><a href="#rfc.section.2">2.</a> <a href="#resources">Resources</a></h1>903 <h2 id="rfc.section.2"><a href="#rfc.section.2">2.</a> <a href="#resources">Resources</a></h2> 892 904 <div id="rfc.section.2.p.1"> 893 905 <p>The target of an HTTP request is called a "<dfn>resource</dfn>". HTTP does not limit the nature of a resource; it merely defines an interface that … … 908 920 </div> 909 921 <div id="representations"> 910 <h 1 id="rfc.section.3"><a href="#rfc.section.3">3.</a> <a href="#representations">Representations</a></h1>922 <h2 id="rfc.section.3"><a href="#rfc.section.3">3.</a> <a href="#representations">Representations</a></h2> 911 923 <div id="rfc.section.3.p.1"> 912 924 <p>Considering that a resource could be anything, and that the uniform interface provided … … 931 943 </div> 932 944 <div id="representation.metadata"> 933 <h 2 id="rfc.section.3.1"><a href="#rfc.section.3.1">3.1</a> <a href="#representation.metadata">Representation Metadata</a></h2>945 <h3 id="rfc.section.3.1"><a href="#rfc.section.3.1">3.1</a> <a href="#representation.metadata">Representation Metadata</a></h3> 934 946 <div id="rfc.section.3.1.p.1"> 935 947 <p>Representation header fields provide metadata about the representation. When a message … … 940 952 </p> 941 953 </div> 942 <div id="rfc.section.3.1.p.2" >954 <div id="rfc.section.3.1.p.2" class="avoidbreakafter"> 943 955 <p>The following header fields convey representation metadata:</p> 944 956 </div> 945 957 <div id="rfc.table.u.1"> 946 <table class="tt full left" cellpadding="3" cellspacing="0">958 <table class="tt full tleft" cellpadding="3" cellspacing="0"> 947 959 <thead> 948 960 <tr> … … 972 984 </div> 973 985 <div id="data.type"> 974 <h 3 id="rfc.section.3.1.1"><a href="#rfc.section.3.1.1">3.1.1</a> <a href="#data.type">Processing Representation Data</a></h3>986 <h4 id="rfc.section.3.1.1"><a href="#rfc.section.3.1.1">3.1.1</a> <a href="#data.type">Processing Representation Data</a></h4> 975 987 <div id="media.type"> 976 <h 4 id="rfc.section.3.1.1.1"><a href="#rfc.section.3.1.1.1">3.1.1.1</a> <a href="#media.type">Media Type</a></h4>988 <h5 id="rfc.section.3.1.1.1"><a href="#rfc.section.3.1.1.1">3.1.1.1</a> <a href="#media.type">Media Type</a></h5> 977 989 <div id="rfc.section.3.1.1.1.p.1"> 978 990 <p>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.2" title="Content-Type">Section 3.1.1.5</a>) and <a href="#header.accept" class="smpl">Accept</a> (<a href="#header.accept" id="rfc.xref.header.accept.1" title="Accept">Section 5.3.2</a>) header fields in order to provide open and extensible data typing and type negotiation. … … 1000 1012 </p> 1001 1013 </div> 1002 <div id="rfc.section.3.1.1.1.p.4" >1014 <div id="rfc.section.3.1.1.1.p.4" class="avoidbreakafter"> 1003 1015 <p>A parameter value that matches the <a href="#imported.abnf" class="smpl">token</a> production can be transmitted either as a token or within a quoted-string. The quoted 1004 1016 and unquoted values are equivalent. For example, the following examples are all equivalent, … … 1025 1037 </div> 1026 1038 <div id="charset"> 1027 <h 4 id="rfc.section.3.1.1.2"><a href="#rfc.section.3.1.1.2">3.1.1.2</a> <a href="#charset">Charset</a></h4>1039 <h5 id="rfc.section.3.1.1.2"><a href="#rfc.section.3.1.1.2">3.1.1.2</a> <a href="#charset">Charset</a></h5> 1028 1040 <div id="rfc.section.3.1.1.2.p.1"> 1029 1041 <p>HTTP uses <dfn>charset</dfn> names to indicate or negotiate the character encoding scheme of a textual representation <a href="#RFC6365" id="rfc.xref.RFC6365.2"><cite title="Terminology Used in Internationalization in the IETF">[RFC6365]</cite></a>. A charset is identified by a case-insensitive token. … … 1038 1050 </div> 1039 1051 <div id="canonicalization.and.text.defaults"> 1040 <h 4 id="rfc.section.3.1.1.3"><a href="#rfc.section.3.1.1.3">3.1.1.3</a> <a href="#canonicalization.and.text.defaults">Canonicalization and Text Defaults</a></h4>1052 <h5 id="rfc.section.3.1.1.3"><a href="#rfc.section.3.1.1.3">3.1.1.3</a> <a href="#canonicalization.and.text.defaults">Canonicalization and Text Defaults</a></h5> 1041 1053 <div id="rfc.section.3.1.1.3.p.1"> 1042 1054 <p>Internet media types are registered with a canonical form in order to be interoperable … … 1068 1080 </div> 1069 1081 <div id="multipart.types"> 1070 <h 4 id="rfc.section.3.1.1.4"><a href="#rfc.section.3.1.1.4">3.1.1.4</a> <a href="#multipart.types">Multipart Types</a></h4>1082 <h5 id="rfc.section.3.1.1.4"><a href="#rfc.section.3.1.1.4">3.1.1.4</a> <a href="#multipart.types">Multipart Types</a></h5> 1071 1083 <div id="rfc.section.3.1.1.4.p.1"> 1072 1084 <p>MIME provides for a number of "multipart" types — encapsulations of one or more representations … … 1086 1098 </div> 1087 1099 <div id="header.content-type"> 1088 <h 4 id="rfc.section.3.1.1.5"><a href="#rfc.section.3.1.1.5">3.1.1.5</a> <a href="#header.content-type">Content-Type</a></h4>1100 <h5 id="rfc.section.3.1.1.5"><a href="#rfc.section.3.1.1.5">3.1.1.5</a> <a href="#header.content-type">Content-Type</a></h5> 1089 1101 <div id="rfc.section.3.1.1.5.p.1"> 1090 1102 <p>The "Content-Type" header field indicates the media type of the associated representation: … … 1122 1134 </div> 1123 1135 <div id="data.encoding"> 1124 <h 3 id="rfc.section.3.1.2"><a href="#rfc.section.3.1.2">3.1.2</a> <a href="#data.encoding">Encoding for Compression or Integrity</a></h3>1136 <h4 id="rfc.section.3.1.2"><a href="#rfc.section.3.1.2">3.1.2</a> <a href="#data.encoding">Encoding for Compression or Integrity</a></h4> 1125 1137 <div id="content.codings"> 1126 <h 4 id="rfc.section.3.1.2.1"><a href="#rfc.section.3.1.2.1">3.1.2.1</a> <a href="#content.codings">Content Codings</a></h4>1138 <h5 id="rfc.section.3.1.2.1"><a href="#rfc.section.3.1.2.1">3.1.2.1</a> <a href="#content.codings">Content Codings</a></h5> 1127 1139 <div id="rfc.section.3.1.2.1.p.1"> 1128 1140 <p>Content coding values indicate an encoding transformation that has been or can be … … 1153 1165 </div> 1154 1166 <div id="header.content-encoding"> 1155 <h 4 id="rfc.section.3.1.2.2"><a href="#rfc.section.3.1.2.2">3.1.2.2</a> <a href="#header.content-encoding">Content-Encoding</a></h4>1167 <h5 id="rfc.section.3.1.2.2"><a href="#rfc.section.3.1.2.2">3.1.2.2</a> <a href="#header.content-encoding">Content-Encoding</a></h5> 1156 1168 <div id="rfc.section.3.1.2.2.p.1"> 1157 1169 <p>The "Content-Encoding" header field indicates what content codings have been applied … … 1203 1215 </div> 1204 1216 <div id="audience.language"> 1205 <h 3 id="rfc.section.3.1.3"><a href="#rfc.section.3.1.3">3.1.3</a> <a href="#audience.language">Audience Language</a></h3>1217 <h4 id="rfc.section.3.1.3"><a href="#rfc.section.3.1.3">3.1.3</a> <a href="#audience.language">Audience Language</a></h4> 1206 1218 <div id="language.tags"> 1207 <h 4 id="rfc.section.3.1.3.1"><a href="#rfc.section.3.1.3.1">3.1.3.1</a> <a href="#language.tags">Language Tags</a></h4>1219 <h5 id="rfc.section.3.1.3.1"><a href="#rfc.section.3.1.3.1">3.1.3.1</a> <a href="#language.tags">Language Tags</a></h5> 1208 1220 <div id="rfc.section.3.1.3.1.p.1"> 1209 1221 <p>A language tag, as defined in <a href="#RFC5646" id="rfc.xref.RFC5646.1"><cite title="Tags for Identifying Languages">[RFC5646]</cite></a>, identifies a natural language spoken, written, or otherwise conveyed by human beings … … 1218 1230 <div id="rfc.figure.u.10"><pre class="inline"><span id="rfc.iref.g.9"></span> <a href="#language.tags" class="smpl">language-tag</a> = <Language-Tag, see <a href="#RFC5646" id="rfc.xref.RFC5646.2"><cite title="Tags for Identifying Languages">[RFC5646]</cite></a>, <a href="https://tools.ietf.org/html/rfc5646#section-2.1">Section 2.1</a>> 1219 1231 </pre></div> 1220 <div id="rfc.section.3.1.3.1.p.3" >1232 <div id="rfc.section.3.1.3.1.p.3" class="avoidbreakafter"> 1221 1233 <p>A language tag is a sequence of one or more case-insensitive subtags, each separated 1222 1234 by a hyphen character ("-", %x2D). In most cases, a language tag consists of a primary … … 1235 1247 </div> 1236 1248 <div id="header.content-language"> 1237 <h 4 id="rfc.section.3.1.3.2"><a href="#rfc.section.3.1.3.2">3.1.3.2</a> <a href="#header.content-language">Content-Language</a></h4>1249 <h5 id="rfc.section.3.1.3.2"><a href="#rfc.section.3.1.3.2">3.1.3.2</a> <a href="#header.content-language">Content-Language</a></h5> 1238 1250 <div id="rfc.section.3.1.3.2.p.1"> 1239 1251 <p>The "Content-Language" header field describes the natural language(s) of the intended … … 1282 1294 </div> 1283 1295 <div id="identification"> 1284 <h 3 id="rfc.section.3.1.4"><a href="#rfc.section.3.1.4">3.1.4</a> <a href="#identification">Identification</a></h3>1296 <h4 id="rfc.section.3.1.4"><a href="#rfc.section.3.1.4">3.1.4</a> <a href="#identification">Identification</a></h4> 1285 1297 <div id="identifying.payload"> 1286 <h 4 id="rfc.section.3.1.4.1"><a href="#rfc.section.3.1.4.1">3.1.4.1</a> <a href="#identifying.payload">Identifying a Representation</a></h4>1298 <h5 id="rfc.section.3.1.4.1"><a href="#rfc.section.3.1.4.1">3.1.4.1</a> <a href="#identifying.payload">Identifying a Representation</a></h5> 1287 1299 <div id="rfc.section.3.1.4.1.p.1"> 1288 1300 <p>When a complete or partial representation is transferred in a message payload, it … … 1326 1338 </div> 1327 1339 <div id="header.content-location"> 1328 <h 4 id="rfc.section.3.1.4.2"><a href="#rfc.section.3.1.4.2">3.1.4.2</a> <a href="#header.content-location">Content-Location</a></h4>1340 <h5 id="rfc.section.3.1.4.2"><a href="#rfc.section.3.1.4.2">3.1.4.2</a> <a href="#header.content-location">Content-Location</a></h5> 1329 1341 <div id="rfc.section.3.1.4.2.p.1"> 1330 1342 <p>The "Content-Location" header field references a URI that can be used as an identifier … … 1404 1416 </div> 1405 1417 <div id="representation.data"> 1406 <h 2 id="rfc.section.3.2"><a href="#rfc.section.3.2">3.2</a> <a href="#representation.data">Representation Data</a></h2>1418 <h3 id="rfc.section.3.2"><a href="#rfc.section.3.2">3.2</a> <a href="#representation.data">Representation Data</a></h3> 1407 1419 <div id="rfc.section.3.2.p.1"> 1408 1420 <p>The representation data associated with an HTTP message is either provided as the … … 1412 1424 </p> 1413 1425 </div> 1414 <div id="rfc.section.3.2.p.2" >1426 <div id="rfc.section.3.2.p.2" class="avoidbreakafter"> 1415 1427 <p>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: 1416 1428 </p> … … 1420 1432 </div> 1421 1433 <div id="payload"> 1422 <h 2 id="rfc.section.3.3"><a href="#rfc.section.3.3">3.3</a> <a href="#payload">Payload Semantics</a></h2>1434 <h3 id="rfc.section.3.3"><a href="#rfc.section.3.3">3.3</a> <a href="#payload">Payload Semantics</a></h3> 1423 1435 <div id="rfc.section.3.3.p.1"> 1424 1436 <p>Some HTTP messages transfer a complete or partial representation as the message "<dfn>payload</dfn>". In some cases, a payload might contain only the associated representation's header … … 1449 1461 </div> 1450 1462 <div id="rfc.table.u.2"> 1451 <table class="tt full left" cellpadding="3" cellspacing="0">1463 <table class="tt full tleft" cellpadding="3" cellspacing="0"> 1452 1464 <thead> 1453 1465 <tr> … … 1478 1490 </div> 1479 1491 <div id="content.negotiation"> 1480 <h 2 id="rfc.section.3.4"><a href="#rfc.section.3.4">3.4</a> <a href="#content.negotiation">Content Negotiation</a></h2>1492 <h3 id="rfc.section.3.4"><a href="#rfc.section.3.4">3.4</a> <a href="#content.negotiation">Content Negotiation</a></h3> 1481 1493 <div id="rfc.section.3.4.p.1"> 1482 1494 <p>When responses convey payload information, whether indicating a success or an error, … … 1510 1522 </div> 1511 1523 <div id="proactive.negotiation"> 1512 <h 3 id="rfc.section.3.4.1"><a href="#rfc.section.3.4.1">3.4.1</a> <a href="#proactive.negotiation">Proactive Negotiation</a></h3>1524 <h4 id="rfc.section.3.4.1"><a href="#rfc.section.3.4.1">3.4.1</a> <a href="#proactive.negotiation">Proactive Negotiation</a></h4> 1513 1525 <div id="rfc.section.3.4.1.p.1"> 1514 1526 <p>When content negotiation preferences are sent by the user agent in a request to encourage … … 1559 1571 </div> 1560 1572 <div id="reactive.negotiation"> 1561 <h 3 id="rfc.section.3.4.2"><a href="#rfc.section.3.4.2">3.4.2</a> <a href="#reactive.negotiation">Reactive Negotiation</a></h3>1573 <h4 id="rfc.section.3.4.2"><a href="#rfc.section.3.4.2">3.4.2</a> <a href="#reactive.negotiation">Reactive Negotiation</a></h4> 1562 1574 <div id="rfc.section.3.4.2.p.1"> 1563 1575 <p>With <dfn>reactive negotiation</dfn> (a.k.a., <dfn>agent-driven negotiation</dfn>), selection of the best response representation (regardless of the status code) is … … 1605 1617 </div> 1606 1618 <div id="methods"> 1607 <h 1 id="rfc.section.4"><a href="#rfc.section.4">4.</a> <a href="#methods">Request Methods</a></h1>1619 <h2 id="rfc.section.4"><a href="#rfc.section.4">4.</a> <a href="#methods">Request Methods</a></h2> 1608 1620 <div id="method.overview"> 1609 <h 2 id="rfc.section.4.1"><a href="#rfc.section.4.1">4.1</a> <a href="#method.overview">Overview</a></h2>1621 <h3 id="rfc.section.4.1"><a href="#rfc.section.4.1">4.1</a> <a href="#method.overview">Overview</a></h3> 1610 1622 <div id="rfc.section.4.1.p.1"> 1611 1623 <p>The request method token is the primary source of request semantics; it indicates … … 1646 1658 <div id="rfc.table.1"> 1647 1659 <div id="table.of.methods"></div> 1648 <table class="tt full left" cellpadding="3" cellspacing="0">1660 <table class="tt full tleft" cellpadding="3" cellspacing="0"> 1649 1661 <thead> 1650 1662 <tr> … … 1717 1729 </div> 1718 1730 <div id="method.properties"> 1719 <h 2 id="rfc.section.4.2"><a href="#rfc.section.4.2">4.2</a> <a href="#method.properties">Common Method Properties</a></h2>1731 <h3 id="rfc.section.4.2"><a href="#rfc.section.4.2">4.2</a> <a href="#method.properties">Common Method Properties</a></h3> 1720 1732 <div id="safe.methods"> 1721 <h 3 id="rfc.section.4.2.1"><a href="#rfc.section.4.2.1">4.2.1</a> <a href="#safe.methods">Safe Methods</a></h3>1733 <h4 id="rfc.section.4.2.1"><a href="#rfc.section.4.2.1">4.2.1</a> <a href="#safe.methods">Safe Methods</a></h4> 1722 1734 <div id="rfc.section.4.2.1.p.1"> 1723 1735 <p>Request methods are considered "<dfn>safe</dfn>" if their defined semantics are essentially read-only; i.e., the client does not … … 1772 1784 </div> 1773 1785 <div id="idempotent.methods"> 1774 <h 3 id="rfc.section.4.2.2"><a href="#rfc.section.4.2.2">4.2.2</a> <a href="#idempotent.methods">Idempotent Methods</a></h3>1786 <h4 id="rfc.section.4.2.2"><a href="#rfc.section.4.2.2">4.2.2</a> <a href="#idempotent.methods">Idempotent Methods</a></h4> 1775 1787 <div id="rfc.section.4.2.2.p.1"> 1776 1788 <p>A request method is considered "<dfn id="idempotent">idempotent</dfn>" if the intended effect on the server of multiple identical requests with that method … … 1798 1810 </div> 1799 1811 <div id="cacheable.methods"> 1800 <h 3 id="rfc.section.4.2.3"><a href="#rfc.section.4.2.3">4.2.3</a> <a href="#cacheable.methods">Cacheable Methods</a></h3>1812 <h4 id="rfc.section.4.2.3"><a href="#rfc.section.4.2.3">4.2.3</a> <a href="#cacheable.methods">Cacheable Methods</a></h4> 1801 1813 <div id="rfc.section.4.2.3.p.1"> 1802 1814 <p>Request methods can be defined as "<dfn id="cacheable">cacheable</dfn>" to indicate that responses to them are allowed to be stored for future reuse; for … … 1809 1821 </div> 1810 1822 <div id="method.definitions"> 1811 <h 2 id="rfc.section.4.3"><a href="#rfc.section.4.3">4.3</a> <a href="#method.definitions">Method Definitions</a></h2>1823 <h3 id="rfc.section.4.3"><a href="#rfc.section.4.3">4.3</a> <a href="#method.definitions">Method Definitions</a></h3> 1812 1824 <div id="GET"> 1813 <h 3 id="rfc.section.4.3.1"><a href="#rfc.section.4.3.1">4.3.1</a> <a href="#GET">GET</a></h3>1825 <h4 id="rfc.section.4.3.1"><a href="#rfc.section.4.3.1">4.3.1</a> <a href="#GET">GET</a></h4> 1814 1826 <div id="rfc.iref.g.13"></div> 1815 1827 <div id="rfc.section.4.3.1.p.1"> … … 1850 1862 </div> 1851 1863 <div id="HEAD"> 1852 <h 3 id="rfc.section.4.3.2"><a href="#rfc.section.4.3.2">4.3.2</a> <a href="#HEAD">HEAD</a></h3>1864 <h4 id="rfc.section.4.3.2"><a href="#rfc.section.4.3.2">4.3.2</a> <a href="#HEAD">HEAD</a></h4> 1853 1865 <div id="rfc.iref.h.1"></div> 1854 1866 <div id="rfc.section.4.3.2.p.1"> … … 1873 1885 </div> 1874 1886 <div id="POST"> 1875 <h 3 id="rfc.section.4.3.3"><a href="#rfc.section.4.3.3">4.3.3</a> <a href="#POST">POST</a></h3>1887 <h4 id="rfc.section.4.3.3"><a href="#rfc.section.4.3.3">4.3.3</a> <a href="#POST">POST</a></h4> 1876 1888 <div id="rfc.section.4.3.3.p.1"> 1877 1889 <p>The POST method requests that the <a href="#resources" class="smpl">target resource</a> process the representation enclosed in the request according to the resource's own … … 1919 1931 </div> 1920 1932 <div id="PUT"> 1921 <h 3 id="rfc.section.4.3.4"><a href="#rfc.section.4.3.4">4.3.4</a> <a href="#PUT">PUT</a></h3>1933 <h4 id="rfc.section.4.3.4"><a href="#rfc.section.4.3.4">4.3.4</a> <a href="#PUT">PUT</a></h4> 1922 1934 <div id="rfc.iref.p.1"></div> 1923 1935 <div id="rfc.section.4.3.4.p.1"> … … 2034 2046 </div> 2035 2047 <div id="DELETE"> 2036 <h 3 id="rfc.section.4.3.5"><a href="#rfc.section.4.3.5">4.3.5</a> <a href="#DELETE">DELETE</a></h3>2048 <h4 id="rfc.section.4.3.5"><a href="#rfc.section.4.3.5">4.3.5</a> <a href="#DELETE">DELETE</a></h4> 2037 2049 <div id="rfc.iref.d.1"></div> 2038 2050 <div id="rfc.section.4.3.5.p.1"> … … 2083 2095 </div> 2084 2096 <div id="CONNECT"> 2085 <h 3 id="rfc.section.4.3.6"><a href="#rfc.section.4.3.6">4.3.6</a> <a href="#CONNECT">CONNECT</a></h3>2097 <h4 id="rfc.section.4.3.6"><a href="#rfc.section.4.3.6">4.3.6</a> <a href="#CONNECT">CONNECT</a></h4> 2086 2098 <div id="rfc.section.4.3.6.p.1"> 2087 2099 <p>The CONNECT method requests that the recipient establish a tunnel to the destination … … 2158 2170 </div> 2159 2171 <div id="OPTIONS"> 2160 <h 3 id="rfc.section.4.3.7"><a href="#rfc.section.4.3.7">4.3.7</a> <a href="#OPTIONS">OPTIONS</a></h3>2172 <h4 id="rfc.section.4.3.7"><a href="#rfc.section.4.3.7">4.3.7</a> <a href="#OPTIONS">OPTIONS</a></h4> 2161 2173 <div id="rfc.iref.o.1"></div> 2162 2174 <div id="rfc.section.4.3.7.p.1"> … … 2205 2217 </div> 2206 2218 <div id="TRACE"> 2207 <h 3 id="rfc.section.4.3.8"><a href="#rfc.section.4.3.8">4.3.8</a> <a href="#TRACE">TRACE</a></h3>2219 <h4 id="rfc.section.4.3.8"><a href="#rfc.section.4.3.8">4.3.8</a> <a href="#TRACE">TRACE</a></h4> 2208 2220 <div id="rfc.iref.t.1"></div> 2209 2221 <div id="rfc.section.4.3.8.p.1"> … … 2239 2251 </div> 2240 2252 <div id="request.header.fields"> 2241 <h 1 id="rfc.section.5"><a href="#rfc.section.5">5.</a> <a href="#request.header.fields">Request Header Fields</a></h1>2253 <h2 id="rfc.section.5"><a href="#rfc.section.5">5.</a> <a href="#request.header.fields">Request Header Fields</a></h2> 2242 2254 <div id="rfc.section.5.p.1"> 2243 2255 <p>A client sends request header fields to provide more information about the request … … 2249 2261 </div> 2250 2262 <div id="request.controls"> 2251 <h 2 id="rfc.section.5.1"><a href="#rfc.section.5.1">5.1</a> <a href="#request.controls">Controls</a></h2>2263 <h3 id="rfc.section.5.1"><a href="#rfc.section.5.1">5.1</a> <a href="#request.controls">Controls</a></h3> 2252 2264 <div id="rfc.section.5.1.p.1"> 2253 2265 <p>Controls are request header fields that direct specific handling of the request.</p> 2254 2266 </div> 2255 2267 <div id="rfc.table.u.3"> 2256 <table class="tt full left" cellpadding="3" cellspacing="0">2268 <table class="tt full tleft" cellpadding="3" cellspacing="0"> 2257 2269 <thead> 2258 2270 <tr> … … 2294 2306 </div> 2295 2307 <div id="header.expect"> 2296 <h 3 id="rfc.section.5.1.1"><a href="#rfc.section.5.1.1">5.1.1</a> <a href="#header.expect">Expect</a></h3>2308 <h4 id="rfc.section.5.1.1"><a href="#rfc.section.5.1.1">5.1.1</a> <a href="#header.expect">Expect</a></h4> 2297 2309 <div id="rfc.section.5.1.1.p.1"> 2298 2310 <p>The "Expect" header field in a request indicates a certain set of behaviors (expectations) … … 2398 2410 </div> 2399 2411 <div id="header.max-forwards"> 2400 <h 3 id="rfc.section.5.1.2"><a href="#rfc.section.5.1.2">5.1.2</a> <a href="#header.max-forwards">Max-Forwards</a></h3>2412 <h4 id="rfc.section.5.1.2"><a href="#rfc.section.5.1.2">5.1.2</a> <a href="#header.max-forwards">Max-Forwards</a></h4> 2401 2413 <div id="rfc.section.5.1.2.p.1"> 2402 2414 <p>The "Max-Forwards" header field provides a mechanism with the TRACE (<a href="#TRACE" id="rfc.xref.TRACE.2" title="TRACE">Section 4.3.8</a>) and OPTIONS (<a href="#OPTIONS" id="rfc.xref.OPTIONS.2" title="OPTIONS">Section 4.3.7</a>) request methods to limit the number of times that the request is forwarded by proxies. … … 2428 2440 </div> 2429 2441 <div id="request.conditionals"> 2430 <h 2 id="rfc.section.5.2"><a href="#rfc.section.5.2">5.2</a> <a href="#request.conditionals">Conditionals</a></h2>2442 <h3 id="rfc.section.5.2"><a href="#rfc.section.5.2">5.2</a> <a href="#request.conditionals">Conditionals</a></h3> 2431 2443 <div id="rfc.section.5.2.p.1"> 2432 2444 <p>The HTTP conditional request header fields <a href="#RFC7232" id="rfc.xref.RFC7232.3"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[RFC7232]</cite></a> allow a client to place a precondition on the state of the target resource, so that … … 2440 2452 </div> 2441 2453 <div id="rfc.table.u.4"> 2442 <table class="tt full left" cellpadding="3" cellspacing="0">2454 <table class="tt full tleft" cellpadding="3" cellspacing="0"> 2443 2455 <thead> 2444 2456 <tr> … … 2473 2485 </div> 2474 2486 <div id="request.conneg"> 2475 <h 2 id="rfc.section.5.3"><a href="#rfc.section.5.3">5.3</a> <a href="#request.conneg">Content Negotiation</a></h2>2487 <h3 id="rfc.section.5.3"><a href="#rfc.section.5.3">5.3</a> <a href="#request.conneg">Content Negotiation</a></h3> 2476 2488 <div id="rfc.section.5.3.p.1"> 2477 2489 <p>The following request header fields are sent by a user agent to engage in <a href="#proactive.negotiation" class="smpl">proactive negotiation</a> of the response content, as defined in <a href="#proactive.negotiation" title="Proactive Negotiation">Section 3.4.1</a>. The preferences sent in these fields apply to any content in the response, including … … 2481 2493 </div> 2482 2494 <div id="rfc.table.u.5"> 2483 <table class="tt full left" cellpadding="3" cellspacing="0">2495 <table class="tt full tleft" cellpadding="3" cellspacing="0"> 2484 2496 <thead> 2485 2497 <tr> … … 2509 2521 </div> 2510 2522 <div id="quality.values"> 2511 <h 3 id="rfc.section.5.3.1"><a href="#rfc.section.5.3.1">5.3.1</a> <a href="#quality.values">Quality Values</a></h3>2523 <h4 id="rfc.section.5.3.1"><a href="#rfc.section.5.3.1">5.3.1</a> <a href="#quality.values">Quality Values</a></h4> 2512 2524 <div id="rfc.section.5.3.1.p.1"> 2513 2525 <p>Many of the request header fields for <a href="#proactive.negotiation" class="smpl">proactive negotiation</a> use a common parameter, named "q" (case-insensitive), to assign a relative "weight" … … 2535 2547 </div> 2536 2548 <div id="header.accept"> 2537 <h 3 id="rfc.section.5.3.2"><a href="#rfc.section.5.3.2">5.3.2</a> <a href="#header.accept">Accept</a></h3>2549 <h4 id="rfc.section.5.3.2"><a href="#rfc.section.5.3.2">5.3.2</a> <a href="#header.accept">Accept</a></h4> 2538 2550 <div id="rfc.section.5.3.2.p.1"> 2539 2551 <p>The "Accept" header field can be used by user agents to specify response media types … … 2631 2643 text/html;level=2;q=0.4, */*;q=0.5 2632 2644 </pre></div> 2633 <div id="rfc.section.5.3.2.p.13" >2645 <div id="rfc.section.5.3.2.p.13" class="avoidbreakafter"> 2634 2646 <p>would cause the following values to be associated:</p> 2635 2647 </div> 2636 2648 <div id="rfc.table.u.6"> 2637 <table class="tt full left" cellpadding="3" cellspacing="0">2649 <table class="tt full tleft" cellpadding="3" cellspacing="0"> 2638 2650 <thead> 2639 2651 <tr> … … 2678 2690 </div> 2679 2691 <div id="header.accept-charset"> 2680 <h 3 id="rfc.section.5.3.3"><a href="#rfc.section.5.3.3">5.3.3</a> <a href="#header.accept-charset">Accept-Charset</a></h3>2692 <h4 id="rfc.section.5.3.3"><a href="#rfc.section.5.3.3">5.3.3</a> <a href="#header.accept-charset">Accept-Charset</a></h4> 2681 2693 <div id="rfc.section.5.3.3.p.1"> 2682 2694 <p>The "Accept-Charset" header field can be sent by a user agent to indicate what charsets … … 2719 2731 </div> 2720 2732 <div id="header.accept-encoding"> 2721 <h 3 id="rfc.section.5.3.4"><a href="#rfc.section.5.3.4">5.3.4</a> <a href="#header.accept-encoding">Accept-Encoding</a></h3>2733 <h4 id="rfc.section.5.3.4"><a href="#rfc.section.5.3.4">5.3.4</a> <a href="#header.accept-encoding">Accept-Encoding</a></h4> 2722 2734 <div id="rfc.section.5.3.4.p.1"> 2723 2735 <p>The "Accept-Encoding" header field can be used by user agents to indicate what response … … 2788 2800 </div> 2789 2801 <div id="header.accept-language"> 2790 <h 3 id="rfc.section.5.3.5"><a href="#rfc.section.5.3.5">5.3.5</a> <a href="#header.accept-language">Accept-Language</a></h3>2802 <h4 id="rfc.section.5.3.5"><a href="#rfc.section.5.3.5">5.3.5</a> <a href="#header.accept-language">Accept-Language</a></h4> 2791 2803 <div id="rfc.section.5.3.5.p.1"> 2792 2804 <p>The "Accept-Language" header field can be used by user agents to indicate the set … … 2858 2870 </div> 2859 2871 <div id="request.auth"> 2860 <h 2 id="rfc.section.5.4"><a href="#rfc.section.5.4">5.4</a> <a href="#request.auth">Authentication Credentials</a></h2>2872 <h3 id="rfc.section.5.4"><a href="#rfc.section.5.4">5.4</a> <a href="#request.auth">Authentication Credentials</a></h3> 2861 2873 <div id="rfc.section.5.4.p.1"> 2862 2874 <p>Two header fields are used for carrying authentication credentials, as defined in <a href="#RFC7235" id="rfc.xref.RFC7235.2"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Authentication">[RFC7235]</cite></a>. Note that various custom mechanisms for user authentication use the Cookie header … … 2865 2877 </div> 2866 2878 <div id="rfc.table.u.7"> 2867 <table class="tt full left" cellpadding="3" cellspacing="0">2879 <table class="tt full tleft" cellpadding="3" cellspacing="0"> 2868 2880 <thead> 2869 2881 <tr> … … 2886 2898 </div> 2887 2899 <div id="request.context"> 2888 <h 2 id="rfc.section.5.5"><a href="#rfc.section.5.5">5.5</a> <a href="#request.context">Request Context</a></h2>2900 <h3 id="rfc.section.5.5"><a href="#rfc.section.5.5">5.5</a> <a href="#request.context">Request Context</a></h3> 2889 2901 <div id="rfc.section.5.5.p.1"> 2890 2902 <p>The following request header fields provide additional information about the request … … 2894 2906 </div> 2895 2907 <div id="rfc.table.u.8"> 2896 <table class="tt full left" cellpadding="3" cellspacing="0">2908 <table class="tt full tleft" cellpadding="3" cellspacing="0"> 2897 2909 <thead> 2898 2910 <tr> … … 2918 2930 </div> 2919 2931 <div id="header.from"> 2920 <h 3 id="rfc.section.5.5.1"><a href="#rfc.section.5.5.1">5.5.1</a> <a href="#header.from">From</a></h3>2921 <div id="rfc.section.5.5.1.p.1" >2932 <h4 id="rfc.section.5.5.1"><a href="#rfc.section.5.5.1">5.5.1</a> <a href="#header.from">From</a></h4> 2933 <div id="rfc.section.5.5.1.p.1" class="avoidbreakafter"> 2922 2934 <p>The "From" header field contains an Internet email address for a human user who controls 2923 2935 the requesting user agent. The address ought to be machine-usable, as defined by "mailbox" … … 2929 2941 <a href="#header.from" class="smpl">mailbox</a> = <mailbox, see <a href="#RFC5322" id="rfc.xref.RFC5322.2"><cite title="Internet Message Format">[RFC5322]</cite></a>, <a href="https://tools.ietf.org/html/rfc5322#section-3.4">Section 3.4</a>> 2930 2942 </pre></div> 2931 <div id="rfc.section.5.5.1.p.2" >2943 <div id="rfc.section.5.5.1.p.2" class="avoidbreakafter"> 2932 2944 <p>An example is:</p> 2933 2945 </div> … … 2952 2964 </div> 2953 2965 <div id="header.referer"> 2954 <h 3 id="rfc.section.5.5.2"><a href="#rfc.section.5.5.2">5.5.2</a> <a href="#header.referer">Referer</a></h3>2966 <h4 id="rfc.section.5.5.2"><a href="#rfc.section.5.5.2">5.5.2</a> <a href="#header.referer">Referer</a></h4> 2955 2967 <div id="rfc.section.5.5.2.p.1"> 2956 2968 <p>The "Referer" [sic] header field allows the user agent to specify a URI reference … … 2968 2980 </p> 2969 2981 </div> 2970 <div id="rfc.section.5.5.2.p.3" >2982 <div id="rfc.section.5.5.2.p.3" class="avoidbreakafter"> 2971 2983 <p>Example:</p> 2972 2984 </div> … … 3001 3013 </div> 3002 3014 <div id="header.user-agent"> 3003 <h 3 id="rfc.section.5.5.3"><a href="#rfc.section.5.5.3">5.5.3</a> <a href="#header.user-agent">User-Agent</a></h3>3015 <h4 id="rfc.section.5.5.3"><a href="#rfc.section.5.5.3">5.5.3</a> <a href="#header.user-agent">User-Agent</a></h4> 3004 3016 <div id="rfc.section.5.5.3.p.1"> 3005 3017 <p>The "User-Agent" header field contains information about the user agent originating … … 3030 3042 </p> 3031 3043 </div> 3032 <div id="rfc.section.5.5.3.p.4" >3044 <div id="rfc.section.5.5.3.p.4" class="avoidbreakafter"> 3033 3045 <p>Example:</p> 3034 3046 </div> … … 3053 3065 </div> 3054 3066 <div id="status.codes"> 3055 <h 1 id="rfc.section.6"><a href="#rfc.section.6">6.</a> <a href="#status.codes">Response Status Codes</a></h1>3067 <h2 id="rfc.section.6"><a href="#rfc.section.6">6.</a> <a href="#status.codes">Response Status Codes</a></h2> 3056 3068 <div id="rfc.section.6.p.1"> 3057 3069 <p>The status-code element is a three-digit integer code giving the result of the attempt … … 3092 3104 </div> 3093 3105 <div id="overview.of.status.codes"> 3094 <h 2 id="rfc.section.6.1"><a href="#rfc.section.6.1">6.1</a> <a href="#overview.of.status.codes">Overview of Status Codes</a></h2>3106 <h3 id="rfc.section.6.1"><a href="#rfc.section.6.1">6.1</a> <a href="#overview.of.status.codes">Overview of Status Codes</a></h3> 3095 3107 <div id="rfc.section.6.1.p.1"> 3096 3108 <p>The status codes listed below are defined in this specification, <a href="p4-conditional.html#status.code.definitions" title="Status Code Definitions">Section 4</a> of <a href="#RFC7232" id="rfc.xref.RFC7232.9"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[RFC7232]</cite></a>, <a href="p5-range.html#range.response" title="Responses to a Range Request">Section 4</a> of <a href="#RFC7233" id="rfc.xref.RFC7233.7"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[RFC7233]</cite></a>, and <a href="p7-auth.html#status.code.definitions" title="Status Code Definitions">Section 3</a> of <a href="#RFC7235" id="rfc.xref.RFC7235.5"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Authentication">[RFC7235]</cite></a>. The reason phrases listed here are only recommendations — they can be replaced by … … 3106 3118 </div> 3107 3119 <div id="rfc.table.u.9"> 3108 <table class="tt full left" cellpadding="3" cellspacing="0">3120 <table class="tt full tleft" cellpadding="3" cellspacing="0"> 3109 3121 <thead> 3110 3122 <tr> … … 3331 3343 </div> 3332 3344 <div id="status.1xx"> 3333 <h 2 id="rfc.section.6.2"><a href="#rfc.section.6.2">6.2</a> <a href="#status.1xx">Informational 1xx</a></h2>3345 <h3 id="rfc.section.6.2"><a href="#rfc.section.6.2">6.2</a> <a href="#status.1xx">Informational 1xx</a></h3> 3334 3346 <div id="rfc.section.6.2.p.1"> 3335 3347 <p>The <dfn>1xx (Informational)</dfn> class of status code indicates an interim response for communicating connection status … … 3352 3364 </div> 3353 3365 <div id="status.100"> 3354 <h 3 id="rfc.section.6.2.1"><a href="#rfc.section.6.2.1">6.2.1</a> <a href="#status.100">100 Continue</a></h3>3366 <h4 id="rfc.section.6.2.1"><a href="#rfc.section.6.2.1">6.2.1</a> <a href="#status.100">100 Continue</a></h4> 3355 3367 <div id="rfc.section.6.2.1.p.1"> 3356 3368 <p>The <dfn>100 (Continue)</dfn> status code indicates that the initial part of a request has been received and has … … 3370 3382 </div> 3371 3383 <div id="status.101"> 3372 <h 3 id="rfc.section.6.2.2"><a href="#rfc.section.6.2.2">6.2.2</a> <a href="#status.101">101 Switching Protocols</a></h3>3384 <h4 id="rfc.section.6.2.2"><a href="#rfc.section.6.2.2">6.2.2</a> <a href="#status.101">101 Switching Protocols</a></h4> 3373 3385 <div id="rfc.section.6.2.2.p.1"> 3374 3386 <p>The <dfn>101 (Switching Protocols)</dfn> status code indicates that the server understands and is willing to comply with the … … 3387 3399 </div> 3388 3400 <div id="status.2xx"> 3389 <h 2 id="rfc.section.6.3"><a href="#rfc.section.6.3">6.3</a> <a href="#status.2xx">Successful 2xx</a></h2>3401 <h3 id="rfc.section.6.3"><a href="#rfc.section.6.3">6.3</a> <a href="#status.2xx">Successful 2xx</a></h3> 3390 3402 <div id="rfc.section.6.3.p.1"> 3391 3403 <p>The <dfn>2xx (Successful)</dfn> class of status code indicates that the client's request was successfully received, … … 3394 3406 </div> 3395 3407 <div id="status.200"> 3396 <h 3 id="rfc.section.6.3.1"><a href="#rfc.section.6.3.1">6.3.1</a> <a href="#status.200">200 OK</a></h3>3408 <h4 id="rfc.section.6.3.1"><a href="#rfc.section.6.3.1">6.3.1</a> <a href="#status.200">200 OK</a></h4> 3397 3409 <div id="rfc.section.6.3.1.p.1"> 3398 3410 <p>The <dfn>200 (OK)</dfn> status code indicates that the request has succeeded. The payload sent in a 200 response … … 3430 3442 </div> 3431 3443 <div id="status.201"> 3432 <h 3 id="rfc.section.6.3.2"><a href="#rfc.section.6.3.2">6.3.2</a> <a href="#status.201">201 Created</a></h3>3444 <h4 id="rfc.section.6.3.2"><a href="#rfc.section.6.3.2">6.3.2</a> <a href="#status.201">201 Created</a></h4> 3433 3445 <div id="rfc.section.6.3.2.p.1"> 3434 3446 <p>The <dfn>201 (Created)</dfn> status code indicates that the request has been fulfilled and has resulted in one … … 3444 3456 </div> 3445 3457 <div id="status.202"> 3446 <h 3 id="rfc.section.6.3.3"><a href="#rfc.section.6.3.3">6.3.3</a> <a href="#status.202">202 Accepted</a></h3>3458 <h4 id="rfc.section.6.3.3"><a href="#rfc.section.6.3.3">6.3.3</a> <a href="#status.202">202 Accepted</a></h4> 3447 3459 <div id="rfc.section.6.3.3.p.1"> 3448 3460 <p>The <dfn>202 (Accepted)</dfn> status code indicates that the request has been accepted for processing, but the processing … … 3463 3475 </div> 3464 3476 <div id="status.203"> 3465 <h 3 id="rfc.section.6.3.4"><a href="#rfc.section.6.3.4">6.3.4</a> <a href="#status.203">203 Non-Authoritative Information</a></h3>3477 <h4 id="rfc.section.6.3.4"><a href="#rfc.section.6.3.4">6.3.4</a> <a href="#status.203">203 Non-Authoritative Information</a></h4> 3466 3478 <div id="rfc.section.6.3.4.p.1"> 3467 3479 <p>The <dfn>203 (Non-Authoritative Information)</dfn> status code indicates that the request was successful but the enclosed payload has … … 3483 3495 </div> 3484 3496 <div id="status.204"> 3485 <h 3 id="rfc.section.6.3.5"><a href="#rfc.section.6.3.5">6.3.5</a> <a href="#status.204">204 No Content</a></h3>3497 <h4 id="rfc.section.6.3.5"><a href="#rfc.section.6.3.5">6.3.5</a> <a href="#status.204">204 No Content</a></h4> 3486 3498 <div id="rfc.section.6.3.5.p.1"> 3487 3499 <p>The <dfn>204 (No Content)</dfn> status code indicates that the server has successfully fulfilled the request and that … … 3524 3536 </div> 3525 3537 <div id="status.205"> 3526 <h 3 id="rfc.section.6.3.6"><a href="#rfc.section.6.3.6">6.3.6</a> <a href="#status.205">205 Reset Content</a></h3>3538 <h4 id="rfc.section.6.3.6"><a href="#rfc.section.6.3.6">6.3.6</a> <a href="#status.205">205 Reset Content</a></h4> 3527 3539 <div id="rfc.section.6.3.6.p.1"> 3528 3540 <p>The <dfn>205 (Reset Content)</dfn> status code indicates that the server has fulfilled the request and desires that the … … 3550 3562 </div> 3551 3563 <div id="status.3xx"> 3552 <h 2 id="rfc.section.6.4"><a href="#rfc.section.6.4">6.4</a> <a href="#status.3xx">Redirection 3xx</a></h2>3564 <h3 id="rfc.section.6.4"><a href="#rfc.section.6.4">6.4</a> <a href="#status.3xx">Redirection 3xx</a></h3> 3553 3565 <div id="rfc.section.6.4.p.1"> 3554 3566 <p>The <dfn>3xx (Redirection)</dfn> class of status code indicates that further action needs to be taken by the user agent … … 3605 3617 </div> 3606 3618 <div id="status.300"> 3607 <h 3 id="rfc.section.6.4.1"><a href="#rfc.section.6.4.1">6.4.1</a> <a href="#status.300">300 Multiple Choices</a></h3>3619 <h4 id="rfc.section.6.4.1"><a href="#rfc.section.6.4.1">6.4.1</a> <a href="#status.300">300 Multiple Choices</a></h4> 3608 3620 <div id="rfc.section.6.4.1.p.1"> 3609 3621 <p>The <dfn>300 (Multiple Choices)</dfn> status code indicates that the <a href="#resources" class="smpl">target resource</a> has more than one representation, each with its own more specific identifier, and … … 3649 3661 </div> 3650 3662 <div id="status.301"> 3651 <h 3 id="rfc.section.6.4.2"><a href="#rfc.section.6.4.2">6.4.2</a> <a href="#status.301">301 Moved Permanently</a></h3>3663 <h4 id="rfc.section.6.4.2"><a href="#rfc.section.6.4.2">6.4.2</a> <a href="#status.301">301 Moved Permanently</a></h4> 3652 3664 <div id="rfc.section.6.4.2.p.1"> 3653 3665 <p>The <dfn>301 (Moved Permanently)</dfn> status code indicates that the <a href="#resources" class="smpl">target resource</a> has been assigned a new permanent URI and any future references to this resource ought … … 3677 3689 </div> 3678 3690 <div id="status.302"> 3679 <h 3 id="rfc.section.6.4.3"><a href="#rfc.section.6.4.3">6.4.3</a> <a href="#status.302">302 Found</a></h3>3691 <h4 id="rfc.section.6.4.3"><a href="#rfc.section.6.4.3">6.4.3</a> <a href="#status.302">302 Found</a></h4> 3680 3692 <div id="rfc.section.6.4.3.p.1"> 3681 3693 <p>The <dfn>302 (Found)</dfn> status code indicates that the target resource resides temporarily under a different … … 3699 3711 </div> 3700 3712 <div id="status.303"> 3701 <h 3 id="rfc.section.6.4.4"><a href="#rfc.section.6.4.4">6.4.4</a> <a href="#status.303">303 See Other</a></h3>3713 <h4 id="rfc.section.6.4.4"><a href="#rfc.section.6.4.4">6.4.4</a> <a href="#status.303">303 See Other</a></h4> 3702 3714 <div id="rfc.section.6.4.4.p.1"> 3703 3715 <p>The <dfn>303 (See Other)</dfn> status code indicates that the server is redirecting the user agent to a different … … 3733 3745 </div> 3734 3746 <div id="status.305"> 3735 <h 3 id="rfc.section.6.4.5"><a href="#rfc.section.6.4.5">6.4.5</a> <a href="#status.305">305 Use Proxy</a></h3>3747 <h4 id="rfc.section.6.4.5"><a href="#rfc.section.6.4.5">6.4.5</a> <a href="#status.305">305 Use Proxy</a></h4> 3736 3748 <div id="rfc.section.6.4.5.p.1"> 3737 3749 <p>The <dfn>305 (Use Proxy)</dfn> status code was defined in a previous version of this specification and is now deprecated … … 3741 3753 </div> 3742 3754 <div id="status.306"> 3743 <h 3 id="rfc.section.6.4.6"><a href="#rfc.section.6.4.6">6.4.6</a> <a href="#status.306">306 (Unused)</a></h3>3755 <h4 id="rfc.section.6.4.6"><a href="#rfc.section.6.4.6">6.4.6</a> <a href="#status.306">306 (Unused)</a></h4> 3744 3756 <div id="rfc.section.6.4.6.p.1"> 3745 3757 <p>The 306 status code was defined in a previous version of this specification, is no … … 3749 3761 </div> 3750 3762 <div id="status.307"> 3751 <h 3 id="rfc.section.6.4.7"><a href="#rfc.section.6.4.7">6.4.7</a> <a href="#status.307">307 Temporary Redirect</a></h3>3763 <h4 id="rfc.section.6.4.7"><a href="#rfc.section.6.4.7">6.4.7</a> <a href="#status.307">307 Temporary Redirect</a></h4> 3752 3764 <div id="rfc.section.6.4.7.p.1"> 3753 3765 <p>The <dfn>307 (Temporary Redirect)</dfn> status code indicates that the <a href="#resources" class="smpl">target resource</a> resides temporarily under a different URI and the user agent <em class="bcp14">MUST NOT</em> change the request method if it performs an automatic redirection to that URI. Since … … 3773 3785 </div> 3774 3786 <div id="status.4xx"> 3775 <h 2 id="rfc.section.6.5"><a href="#rfc.section.6.5">6.5</a> <a href="#status.4xx">Client Error 4xx</a></h2>3787 <h3 id="rfc.section.6.5"><a href="#rfc.section.6.5">6.5</a> <a href="#status.4xx">Client Error 4xx</a></h3> 3776 3788 <div id="rfc.section.6.5.p.1"> 3777 3789 <p>The <dfn>4xx (Client Error)</dfn> class of status code indicates that the client seems to have erred. Except when responding … … 3782 3794 </div> 3783 3795 <div id="status.400"> 3784 <h 3 id="rfc.section.6.5.1"><a href="#rfc.section.6.5.1">6.5.1</a> <a href="#status.400">400 Bad Request</a></h3>3796 <h4 id="rfc.section.6.5.1"><a href="#rfc.section.6.5.1">6.5.1</a> <a href="#status.400">400 Bad Request</a></h4> 3785 3797 <div id="rfc.section.6.5.1.p.1"> 3786 3798 <p>The <dfn>400 (Bad Request)</dfn> status code indicates that the server cannot or will not process the request due to … … 3791 3803 </div> 3792 3804 <div id="status.402"> 3793 <h 3 id="rfc.section.6.5.2"><a href="#rfc.section.6.5.2">6.5.2</a> <a href="#status.402">402 Payment Required</a></h3>3805 <h4 id="rfc.section.6.5.2"><a href="#rfc.section.6.5.2">6.5.2</a> <a href="#status.402">402 Payment Required</a></h4> 3794 3806 <div id="rfc.section.6.5.2.p.1"> 3795 3807 <p>The <dfn>402 (Payment Required)</dfn> status code is reserved for future use. … … 3798 3810 </div> 3799 3811 <div id="status.403"> 3800 <h 3 id="rfc.section.6.5.3"><a href="#rfc.section.6.5.3">6.5.3</a> <a href="#status.403">403 Forbidden</a></h3>3812 <h4 id="rfc.section.6.5.3"><a href="#rfc.section.6.5.3">6.5.3</a> <a href="#status.403">403 Forbidden</a></h4> 3801 3813 <div id="rfc.section.6.5.3.p.1"> 3802 3814 <p>The <dfn>403 (Forbidden)</dfn> status code indicates that the server understood the request but refuses to authorize … … 3817 3829 </div> 3818 3830 <div id="status.404"> 3819 <h 3 id="rfc.section.6.5.4"><a href="#rfc.section.6.5.4">6.5.4</a> <a href="#status.404">404 Not Found</a></h3>3831 <h4 id="rfc.section.6.5.4"><a href="#rfc.section.6.5.4">6.5.4</a> <a href="#status.404">404 Not Found</a></h4> 3820 3832 <div id="rfc.section.6.5.4.p.1"> 3821 3833 <p>The <dfn>404 (Not Found)</dfn> status code indicates that the origin server did not find a current representation … … 3832 3844 </div> 3833 3845 <div id="status.405"> 3834 <h 3 id="rfc.section.6.5.5"><a href="#rfc.section.6.5.5">6.5.5</a> <a href="#status.405">405 Method Not Allowed</a></h3>3846 <h4 id="rfc.section.6.5.5"><a href="#rfc.section.6.5.5">6.5.5</a> <a href="#status.405">405 Method Not Allowed</a></h4> 3835 3847 <div id="rfc.section.6.5.5.p.1"> 3836 3848 <p>The <dfn>405 (Method Not Allowed)</dfn> status code indicates that the method received in the request-line is known by the … … 3846 3858 </div> 3847 3859 <div id="status.406"> 3848 <h 3 id="rfc.section.6.5.6"><a href="#rfc.section.6.5.6">6.5.6</a> <a href="#status.406">406 Not Acceptable</a></h3>3860 <h4 id="rfc.section.6.5.6"><a href="#rfc.section.6.5.6">6.5.6</a> <a href="#status.406">406 Not Acceptable</a></h4> 3849 3861 <div id="rfc.section.6.5.6.p.1"> 3850 3862 <p>The <dfn>406 (Not Acceptable)</dfn> status code indicates that the <a href="#resources" class="smpl">target resource</a> does not have a current representation that would be acceptable to the user agent, … … 3861 3873 </div> 3862 3874 <div id="status.408"> 3863 <h 3 id="rfc.section.6.5.7"><a href="#rfc.section.6.5.7">6.5.7</a> <a href="#status.408">408 Request Timeout</a></h3>3875 <h4 id="rfc.section.6.5.7"><a href="#rfc.section.6.5.7">6.5.7</a> <a href="#status.408">408 Request Timeout</a></h4> 3864 3876 <div id="rfc.section.6.5.7.p.1"> 3865 3877 <p>The <dfn>408 (Request Timeout)</dfn> status code indicates that the server did not receive a complete request message within … … 3871 3883 </div> 3872 3884 <div id="status.409"> 3873 <h 3 id="rfc.section.6.5.8"><a href="#rfc.section.6.5.8">6.5.8</a> <a href="#status.409">409 Conflict</a></h3>3885 <h4 id="rfc.section.6.5.8"><a href="#rfc.section.6.5.8">6.5.8</a> <a href="#status.409">409 Conflict</a></h4> 3874 3886 <div id="rfc.section.6.5.8.p.1"> 3875 3887 <p>The <dfn>409 (Conflict)</dfn> status code indicates that the request could not be completed due to a conflict with … … 3890 3902 </div> 3891 3903 <div id="status.410"> 3892 <h 3 id="rfc.section.6.5.9"><a href="#rfc.section.6.5.9">6.5.9</a> <a href="#status.410">410 Gone</a></h3>3904 <h4 id="rfc.section.6.5.9"><a href="#rfc.section.6.5.9">6.5.9</a> <a href="#status.410">410 Gone</a></h4> 3893 3905 <div id="rfc.section.6.5.9.p.1"> 3894 3906 <p>The <dfn>410 (Gone)</dfn> status code indicates that access to the <a href="#resources" class="smpl">target resource</a> is no longer available at the origin server and that this condition is likely to be … … 3914 3926 </div> 3915 3927 <div id="status.411"> 3916 <h 3 id="rfc.section.6.5.10"><a href="#rfc.section.6.5.10">6.5.10</a> <a href="#status.411">411 Length Required</a></h3>3928 <h4 id="rfc.section.6.5.10"><a href="#rfc.section.6.5.10">6.5.10</a> <a href="#status.411">411 Length Required</a></h4> 3917 3929 <div id="rfc.section.6.5.10.p.1"> 3918 3930 <p>The <dfn>411 (Length Required)</dfn> status code indicates that the server refuses to accept the request without a defined <a href="p1-messaging.html#header.content-length" class="smpl">Content-Length</a> (<a href="p1-messaging.html#header.content-length" title="Content-Length">Section 3.3.2</a> of <a href="#RFC7230" id="rfc.xref.RFC7230.27"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[RFC7230]</cite></a>). The client <em class="bcp14">MAY</em> repeat the request if it adds a valid Content-Length header field containing the length … … 3922 3934 </div> 3923 3935 <div id="status.413"> 3924 <h 3 id="rfc.section.6.5.11"><a href="#rfc.section.6.5.11">6.5.11</a> <a href="#status.413">413 Payload Too Large</a></h3>3936 <h4 id="rfc.section.6.5.11"><a href="#rfc.section.6.5.11">6.5.11</a> <a href="#status.413">413 Payload Too Large</a></h4> 3925 3937 <div id="rfc.section.6.5.11.p.1"> 3926 3938 <p>The <dfn>413 (Payload Too Large)</dfn> status code indicates that the server is refusing to process a request because the … … 3934 3946 </div> 3935 3947 <div id="status.414"> 3936 <h 3 id="rfc.section.6.5.12"><a href="#rfc.section.6.5.12">6.5.12</a> <a href="#status.414">414 URI Too Long</a></h3>3948 <h4 id="rfc.section.6.5.12"><a href="#rfc.section.6.5.12">6.5.12</a> <a href="#status.414">414 URI Too Long</a></h4> 3937 3949 <div id="rfc.section.6.5.12.p.1"> 3938 3950 <p>The <dfn>414 (URI Too Long)</dfn> status code indicates that the server is refusing to service the request because the … … 3951 3963 </div> 3952 3964 <div id="status.415"> 3953 <h 3 id="rfc.section.6.5.13"><a href="#rfc.section.6.5.13">6.5.13</a> <a href="#status.415">415 Unsupported Media Type</a></h3>3965 <h4 id="rfc.section.6.5.13"><a href="#rfc.section.6.5.13">6.5.13</a> <a href="#status.415">415 Unsupported Media Type</a></h4> 3954 3966 <div id="rfc.section.6.5.13.p.1"> 3955 3967 <p>The <dfn>415 (Unsupported Media Type)</dfn> status code indicates that the origin server is refusing to service the request because … … 3959 3971 </div> 3960 3972 <div id="status.417"> 3961 <h 3 id="rfc.section.6.5.14"><a href="#rfc.section.6.5.14">6.5.14</a> <a href="#status.417">417 Expectation Failed</a></h3>3973 <h4 id="rfc.section.6.5.14"><a href="#rfc.section.6.5.14">6.5.14</a> <a href="#status.417">417 Expectation Failed</a></h4> 3962 3974 <div id="rfc.section.6.5.14.p.1"> 3963 3975 <p>The <dfn>417 (Expectation Failed)</dfn> status code indicates that the expectation given in the request's <a href="#header.expect" class="smpl">Expect</a> header field (<a href="#header.expect" id="rfc.xref.header.expect.3" title="Expect">Section 5.1.1</a>) could not be met by at least one of the inbound servers. … … 3966 3978 </div> 3967 3979 <div id="status.426"> 3968 <h 3 id="rfc.section.6.5.15"><a href="#rfc.section.6.5.15">6.5.15</a> <a href="#status.426">426 Upgrade Required</a></h3>3980 <h4 id="rfc.section.6.5.15"><a href="#rfc.section.6.5.15">6.5.15</a> <a href="#status.426">426 Upgrade Required</a></h4> 3969 3981 <div id="rfc.section.6.5.15.p.1"> 3970 3982 <p>The <dfn>426 (Upgrade Required)</dfn> status code indicates that the server refuses to perform the request using the current … … 3985 3997 </div> 3986 3998 <div id="status.5xx"> 3987 <h 2 id="rfc.section.6.6"><a href="#rfc.section.6.6">6.6</a> <a href="#status.5xx">Server Error 5xx</a></h2>3999 <h3 id="rfc.section.6.6"><a href="#rfc.section.6.6">6.6</a> <a href="#status.5xx">Server Error 5xx</a></h3> 3988 4000 <div id="rfc.section.6.6.p.1"> 3989 4001 <p>The <dfn>5xx (Server Error)</dfn> class of status code indicates that the server is aware that it has erred or is incapable … … 3995 4007 </div> 3996 4008 <div id="status.500"> 3997 <h 3 id="rfc.section.6.6.1"><a href="#rfc.section.6.6.1">6.6.1</a> <a href="#status.500">500 Internal Server Error</a></h3>4009 <h4 id="rfc.section.6.6.1"><a href="#rfc.section.6.6.1">6.6.1</a> <a href="#status.500">500 Internal Server Error</a></h4> 3998 4010 <div id="rfc.section.6.6.1.p.1"> 3999 4011 <p>The <dfn>500 (Internal Server Error)</dfn> status code indicates that the server encountered an unexpected condition that prevented … … 4003 4015 </div> 4004 4016 <div id="status.501"> 4005 <h 3 id="rfc.section.6.6.2"><a href="#rfc.section.6.6.2">6.6.2</a> <a href="#status.501">501 Not Implemented</a></h3>4017 <h4 id="rfc.section.6.6.2"><a href="#rfc.section.6.6.2">6.6.2</a> <a href="#status.501">501 Not Implemented</a></h4> 4006 4018 <div id="rfc.section.6.6.2.p.1"> 4007 4019 <p>The <dfn>501 (Not Implemented)</dfn> status code indicates that the server does not support the functionality required … … 4017 4029 </div> 4018 4030 <div id="status.502"> 4019 <h 3 id="rfc.section.6.6.3"><a href="#rfc.section.6.6.3">6.6.3</a> <a href="#status.502">502 Bad Gateway</a></h3>4031 <h4 id="rfc.section.6.6.3"><a href="#rfc.section.6.6.3">6.6.3</a> <a href="#status.502">502 Bad Gateway</a></h4> 4020 4032 <div id="rfc.section.6.6.3.p.1"> 4021 4033 <p>The <dfn>502 (Bad Gateway)</dfn> status code indicates that the server, while acting as a gateway or proxy, received … … 4026 4038 </div> 4027 4039 <div id="status.503"> 4028 <h 3 id="rfc.section.6.6.4"><a href="#rfc.section.6.6.4">6.6.4</a> <a href="#status.503">503 Service Unavailable</a></h3>4040 <h4 id="rfc.section.6.6.4"><a href="#rfc.section.6.6.4">6.6.4</a> <a href="#status.503">503 Service Unavailable</a></h4> 4029 4041 <div id="rfc.section.6.6.4.p.1"> 4030 4042 <p>The <dfn>503 (Service Unavailable)</dfn> status code indicates that the server is currently unable to handle the request due … … 4043 4055 </div> 4044 4056 <div id="status.504"> 4045 <h 3 id="rfc.section.6.6.5"><a href="#rfc.section.6.6.5">6.6.5</a> <a href="#status.504">504 Gateway Timeout</a></h3>4057 <h4 id="rfc.section.6.6.5"><a href="#rfc.section.6.6.5">6.6.5</a> <a href="#status.504">504 Gateway Timeout</a></h4> 4046 4058 <div id="rfc.section.6.6.5.p.1"> 4047 4059 <p>The <dfn>504 (Gateway Timeout)</dfn> status code indicates that the server, while acting as a gateway or proxy, did not … … 4052 4064 </div> 4053 4065 <div id="status.505"> 4054 <h 3 id="rfc.section.6.6.6"><a href="#rfc.section.6.6.6">6.6.6</a> <a href="#status.505">505 HTTP Version Not Supported</a></h3>4066 <h4 id="rfc.section.6.6.6"><a href="#rfc.section.6.6.6">6.6.6</a> <a href="#status.505">505 HTTP Version Not Supported</a></h4> 4055 4067 <div id="rfc.section.6.6.6.p.1"> 4056 4068 <p>The <dfn>505 (HTTP Version Not Supported)</dfn> status code indicates that the server does not support, or refuses to support, the … … 4065 4077 </div> 4066 4078 <div id="response.header.fields"> 4067 <h 1 id="rfc.section.7"><a href="#rfc.section.7">7.</a> <a href="#response.header.fields">Response Header Fields</a></h1>4079 <h2 id="rfc.section.7"><a href="#rfc.section.7">7.</a> <a href="#response.header.fields">Response Header Fields</a></h2> 4068 4080 <div id="rfc.section.7.p.1"> 4069 4081 <p>The response header fields allow the server to pass additional information about the … … 4079 4091 </div> 4080 4092 <div id="response.control.data"> 4081 <h 2 id="rfc.section.7.1"><a href="#rfc.section.7.1">7.1</a> <a href="#response.control.data">Control Data</a></h2>4093 <h3 id="rfc.section.7.1"><a href="#rfc.section.7.1">7.1</a> <a href="#response.control.data">Control Data</a></h3> 4082 4094 <div id="rfc.section.7.1.p.1"> 4083 4095 <p>Response header fields can supply control data that supplements the status code, directs … … 4086 4098 </div> 4087 4099 <div id="rfc.table.u.10"> 4088 <table class="tt full left" cellpadding="3" cellspacing="0">4100 <table class="tt full tleft" cellpadding="3" cellspacing="0"> 4089 4101 <thead> 4090 4102 <tr> … … 4130 4142 </div> 4131 4143 <div id="origination.date"> 4132 <h 3 id="rfc.section.7.1.1"><a href="#rfc.section.7.1.1">7.1.1</a> <a href="#origination.date">Origination Date</a></h3>4144 <h4 id="rfc.section.7.1.1"><a href="#rfc.section.7.1.1">7.1.1</a> <a href="#origination.date">Origination Date</a></h4> 4133 4145 <div id="http.date"> 4134 <h 4 id="rfc.section.7.1.1.1"><a href="#rfc.section.7.1.1.1">7.1.1.1</a> <a href="#http.date">Date/Time Formats</a></h4>4146 <h5 id="rfc.section.7.1.1.1"><a href="#rfc.section.7.1.1.1">7.1.1.1</a> <a href="#http.date">Date/Time Formats</a></h5> 4135 4147 <div id="rfc.section.7.1.1.1.p.1"> 4136 4148 <p>Prior to 1995, there were three different formats commonly used by servers to communicate … … 4257 4269 </div> 4258 4270 <div id="header.date"> 4259 <h 4 id="rfc.section.7.1.1.2"><a href="#rfc.section.7.1.1.2">7.1.1.2</a> <a href="#header.date">Date</a></h4>4271 <h5 id="rfc.section.7.1.1.2"><a href="#rfc.section.7.1.1.2">7.1.1.2</a> <a href="#header.date">Date</a></h5> 4260 4272 <div id="rfc.section.7.1.1.2.p.1"> 4261 4273 <p>The "Date" header field represents the date and time at which the message was originated, … … 4297 4309 </div> 4298 4310 <div id="header.location"> 4299 <h 3 id="rfc.section.7.1.2"><a href="#rfc.section.7.1.2">7.1.2</a> <a href="#header.location">Location</a></h3>4311 <h4 id="rfc.section.7.1.2"><a href="#rfc.section.7.1.2">7.1.2</a> <a href="#header.location">Location</a></h4> 4300 4312 <div id="rfc.section.7.1.2.p.1"> 4301 4313 <p>The "Location" header field is used in some responses to refer to a specific resource … … 4360 4372 </div> 4361 4373 <div id="header.retry-after"> 4362 <h 3 id="rfc.section.7.1.3"><a href="#rfc.section.7.1.3">7.1.3</a> <a href="#header.retry-after">Retry-After</a></h3>4374 <h4 id="rfc.section.7.1.3"><a href="#rfc.section.7.1.3">7.1.3</a> <a href="#header.retry-after">Retry-After</a></h4> 4363 4375 <div id="rfc.section.7.1.3.p.1"> 4364 4376 <p>Servers send the "Retry-After" header field to indicate how long the user agent ought … … 4393 4405 </div> 4394 4406 <div id="header.vary"> 4395 <h 3 id="rfc.section.7.1.4"><a href="#rfc.section.7.1.4">7.1.4</a> <a href="#header.vary">Vary</a></h3>4407 <h4 id="rfc.section.7.1.4"><a href="#rfc.section.7.1.4">7.1.4</a> <a href="#header.vary">Vary</a></h4> 4396 4408 <div id="rfc.section.7.1.4.p.1"> 4397 4409 <p>The "Vary" header field in a response describes what parts of a request message, aside … … 4454 4466 </div> 4455 4467 <div id="response.validator"> 4456 <h 2 id="rfc.section.7.2"><a href="#rfc.section.7.2">7.2</a> <a href="#response.validator">Validator Header Fields</a></h2>4468 <h3 id="rfc.section.7.2"><a href="#rfc.section.7.2">7.2</a> <a href="#response.validator">Validator Header Fields</a></h3> 4457 4469 <div id="rfc.section.7.2.p.1"> 4458 4470 <p>Validator header fields convey metadata about the <a href="#representations" class="smpl">selected representation</a> (<a href="#representations" title="Representations">Section 3</a>). In responses to safe requests, validator fields describe the selected representation … … 4474 4486 </div> 4475 4487 <div id="rfc.table.u.11"> 4476 <table class="tt full left" cellpadding="3" cellspacing="0">4488 <table class="tt full tleft" cellpadding="3" cellspacing="0"> 4477 4489 <thead> 4478 4490 <tr> … … 4495 4507 </div> 4496 4508 <div id="response.auth"> 4497 <h 2 id="rfc.section.7.3"><a href="#rfc.section.7.3">7.3</a> <a href="#response.auth">Authentication Challenges</a></h2>4509 <h3 id="rfc.section.7.3"><a href="#rfc.section.7.3">7.3</a> <a href="#response.auth">Authentication Challenges</a></h3> 4498 4510 <div id="rfc.section.7.3.p.1"> 4499 4511 <p>Authentication challenges indicate what mechanisms are available for the client to … … 4502 4514 </div> 4503 4515 <div id="rfc.table.u.12"> 4504 <table class="tt full left" cellpadding="3" cellspacing="0">4516 <table class="tt full tleft" cellpadding="3" cellspacing="0"> 4505 4517 <thead> 4506 4518 <tr> … … 4523 4535 </div> 4524 4536 <div id="response.context"> 4525 <h 2 id="rfc.section.7.4"><a href="#rfc.section.7.4">7.4</a> <a href="#response.context">Response Context</a></h2>4537 <h3 id="rfc.section.7.4"><a href="#rfc.section.7.4">7.4</a> <a href="#response.context">Response Context</a></h3> 4526 4538 <div id="rfc.section.7.4.p.1"> 4527 4539 <p>The remaining response header fields provide more information about the <a href="#resources" class="smpl">target resource</a> for potential use in later requests. … … 4529 4541 </div> 4530 4542 <div id="rfc.table.u.13"> 4531 <table class="tt full left" cellpadding="3" cellspacing="0">4543 <table class="tt full tleft" cellpadding="3" cellspacing="0"> 4532 4544 <thead> 4533 4545 <tr> … … 4553 4565 </div> 4554 4566 <div id="header.allow"> 4555 <h 3 id="rfc.section.7.4.1"><a href="#rfc.section.7.4.1">7.4.1</a> <a href="#header.allow">Allow</a></h3>4567 <h4 id="rfc.section.7.4.1"><a href="#rfc.section.7.4.1">7.4.1</a> <a href="#header.allow">Allow</a></h4> 4556 4568 <div id="rfc.section.7.4.1.p.1"> 4557 4569 <p>The "Allow" header field lists the set of methods advertised as supported by the <a href="#resources" class="smpl">target resource</a>. The purpose of this field is strictly to inform the recipient of valid request methods … … 4561 4573 <div id="rfc.figure.u.60"><pre class="inline"><span id="rfc.iref.g.53"></span> <a href="#header.allow" class="smpl">Allow</a> = #<a href="#method.overview" class="smpl">method</a> 4562 4574 </pre></div> 4563 <div id="rfc.section.7.4.1.p.2" >4575 <div id="rfc.section.7.4.1.p.2" class="avoidbreakafter"> 4564 4576 <p>Example of use:</p> 4565 4577 </div> … … 4580 4592 </div> 4581 4593 <div id="header.server"> 4582 <h 3 id="rfc.section.7.4.2"><a href="#rfc.section.7.4.2">7.4.2</a> <a href="#header.server">Server</a></h3>4594 <h4 id="rfc.section.7.4.2"><a href="#rfc.section.7.4.2">7.4.2</a> <a href="#header.server">Server</a></h4> 4583 4595 <div id="rfc.section.7.4.2.p.1"> 4584 4596 <p>The "Server" header field contains information about the software used by the origin … … 4599 4611 </p> 4600 4612 </div> 4601 <div id="rfc.section.7.4.2.p.3" >4613 <div id="rfc.section.7.4.2.p.3" class="avoidbreakafter"> 4602 4614 <p>Example:</p> 4603 4615 </div> … … 4615 4627 </div> 4616 4628 <div id="IANA.considerations"> 4617 <h 1 id="rfc.section.8"><a href="#rfc.section.8">8.</a> <a href="#IANA.considerations">IANA Considerations</a></h1>4629 <h2 id="rfc.section.8"><a href="#rfc.section.8">8.</a> <a href="#IANA.considerations">IANA Considerations</a></h2> 4618 4630 <div id="method.registry"> 4619 <h 2 id="rfc.section.8.1"><a href="#rfc.section.8.1">8.1</a> <a href="#method.registry">Method Registry</a></h2>4631 <h3 id="rfc.section.8.1"><a href="#rfc.section.8.1">8.1</a> <a href="#method.registry">Method Registry</a></h3> 4620 4632 <div id="rfc.section.8.1.p.1"> 4621 4633 <p>The "Hypertext Transfer Protocol (HTTP) Method Registry" defines the namespace for … … 4624 4636 </div> 4625 4637 <div id="method.registry.procedure"> 4626 <h 3 id="rfc.section.8.1.1"><a href="#rfc.section.8.1.1">8.1.1</a> <a href="#method.registry.procedure">Procedure</a></h3>4638 <h4 id="rfc.section.8.1.1"><a href="#rfc.section.8.1.1">8.1.1</a> <a href="#method.registry.procedure">Procedure</a></h4> 4627 4639 <div id="rfc.section.8.1.1.p.1"> 4628 4640 <p>HTTP method registrations <em class="bcp14">MUST</em> include the following fields: … … 4644 4656 </div> 4645 4657 <div id="considerations.for.new.methods"> 4646 <h 3 id="rfc.section.8.1.2"><a href="#rfc.section.8.1.2">8.1.2</a> <a href="#considerations.for.new.methods">Considerations for New Methods</a></h3>4658 <h4 id="rfc.section.8.1.2"><a href="#rfc.section.8.1.2">8.1.2</a> <a href="#considerations.for.new.methods">Considerations for New Methods</a></h4> 4647 4659 <div id="rfc.section.8.1.2.p.1"> 4648 4660 <p>Standardized methods are generic; that is, they are potentially applicable to any … … 4679 4691 </div> 4680 4692 <div id="method.registration"> 4681 <h 3 id="rfc.section.8.1.3"><a href="#rfc.section.8.1.3">8.1.3</a> <a href="#method.registration">Registrations</a></h3>4682 <div id="rfc.section.8.1.3.p.1" >4693 <h4 id="rfc.section.8.1.3"><a href="#rfc.section.8.1.3">8.1.3</a> <a href="#method.registration">Registrations</a></h4> 4694 <div id="rfc.section.8.1.3.p.1" class="avoidbreakafter"> 4683 4695 <p>The "Hypertext Transfer Protocol (HTTP) Method Registry" has been populated with the 4684 4696 registrations below: … … 4687 4699 <div id="rfc.table.2"> 4688 4700 <div id="iana.method.registration.table"></div> 4689 <table class="tt full left" cellpadding="3" cellspacing="0">4701 <table class="tt full tleft" cellpadding="3" cellspacing="0"> 4690 4702 <thead> 4691 4703 <tr> … … 4759 4771 </div> 4760 4772 <div id="status.code.registry"> 4761 <h 2 id="rfc.section.8.2"><a href="#rfc.section.8.2">8.2</a> <a href="#status.code.registry">Status Code Registry</a></h2>4773 <h3 id="rfc.section.8.2"><a href="#rfc.section.8.2">8.2</a> <a href="#status.code.registry">Status Code Registry</a></h3> 4762 4774 <div id="rfc.section.8.2.p.1"> 4763 4775 <p>The "Hypertext Transfer Protocol (HTTP) Status Code Registry" defines the namespace … … 4771 4783 </div> 4772 4784 <div id="status.code.registry.procedure"> 4773 <h 3 id="rfc.section.8.2.1"><a href="#rfc.section.8.2.1">8.2.1</a> <a href="#status.code.registry.procedure">Procedure</a></h3>4785 <h4 id="rfc.section.8.2.1"><a href="#rfc.section.8.2.1">8.2.1</a> <a href="#status.code.registry.procedure">Procedure</a></h4> 4774 4786 <div id="rfc.section.8.2.1.p.1"> 4775 4787 <p>A registration <em class="bcp14">MUST</em> include the following fields: … … 4787 4799 </div> 4788 4800 <div id="considerations.for.new.status.codes"> 4789 <h 3 id="rfc.section.8.2.2"><a href="#rfc.section.8.2.2">8.2.2</a> <a href="#considerations.for.new.status.codes">Considerations for New Status Codes</a></h3>4801 <h4 id="rfc.section.8.2.2"><a href="#rfc.section.8.2.2">8.2.2</a> <a href="#considerations.for.new.status.codes">Considerations for New Status Codes</a></h4> 4790 4802 <div id="rfc.section.8.2.2.p.1"> 4791 4803 <p>When it is necessary to express semantics for a response that are not defined by current … … 4831 4843 </div> 4832 4844 <div id="status.code.registration"> 4833 <h 3 id="rfc.section.8.2.3"><a href="#rfc.section.8.2.3">8.2.3</a> <a href="#status.code.registration">Registrations</a></h3>4834 <div id="rfc.section.8.2.3.p.1" >4845 <h4 id="rfc.section.8.2.3"><a href="#rfc.section.8.2.3">8.2.3</a> <a href="#status.code.registration">Registrations</a></h4> 4846 <div id="rfc.section.8.2.3.p.1" class="avoidbreakafter"> 4835 4847 <p>The status code registry has been updated with the registrations below:</p> 4836 4848 </div> 4837 4849 <div id="rfc.table.3"> 4838 4850 <div id="iana.status.code.registration.table"></div> 4839 <table class="tt full left" cellpadding="3" cellspacing="0">4851 <table class="tt full tleft" cellpadding="3" cellspacing="0"> 4840 4852 <thead> 4841 4853 <tr> … … 5068 5080 </div> 5069 5081 <div id="header.field.registry"> 5070 <h 2 id="rfc.section.8.3"><a href="#rfc.section.8.3">8.3</a> <a href="#header.field.registry">Header Field Registry</a></h2>5082 <h3 id="rfc.section.8.3"><a href="#rfc.section.8.3">8.3</a> <a href="#header.field.registry">Header Field Registry</a></h3> 5071 5083 <div id="rfc.section.8.3.p.1"> 5072 5084 <p>HTTP header fields are registered within the "Message Headers" registry located at <<a href="http://www.iana.org/assignments/message-headers">http://www.iana.org/assignments/message-headers</a>>, as defined by <a href="#BCP90" id="rfc.xref.BCP90.1"><cite title="Registration Procedures for Message Header Fields">[BCP90]</cite></a>. … … 5074 5086 </div> 5075 5087 <div id="considerations.for.new.header.fields"> 5076 <h 3 id="rfc.section.8.3.1"><a href="#rfc.section.8.3.1">8.3.1</a> <a href="#considerations.for.new.header.fields">Considerations for New Header Fields</a></h3>5088 <h4 id="rfc.section.8.3.1"><a href="#rfc.section.8.3.1">8.3.1</a> <a href="#considerations.for.new.header.fields">Considerations for New Header Fields</a></h4> 5077 5089 <div id="rfc.section.8.3.1.p.1"> 5078 5090 <p>Header fields are key:value pairs that can be used to communicate data about the message, … … 5112 5124 </p> 5113 5125 </div> 5114 <div id="rfc.section.8.3.1.p.7" >5126 <div id="rfc.section.8.3.1.p.7" class="avoidbreakafter"> 5115 5127 <p>For example, a textual date and a URI (either of which might contain a comma) could 5116 5128 be safely carried in field-values like these: … … 5197 5209 </div> 5198 5210 <div id="header.field.registration"> 5199 <h 3 id="rfc.section.8.3.2"><a href="#rfc.section.8.3.2">8.3.2</a> <a href="#header.field.registration">Registrations</a></h3>5200 <div id="rfc.section.8.3.2.p.1" >5211 <h4 id="rfc.section.8.3.2"><a href="#rfc.section.8.3.2">8.3.2</a> <a href="#header.field.registration">Registrations</a></h4> 5212 <div id="rfc.section.8.3.2.p.1" class="avoidbreakafter"> 5201 5213 <p>The "Message Headers" registry has been updated with the following permanent registrations:</p> 5202 5214 </div> 5203 5215 <div id="rfc.table.4"> 5204 5216 <div id="iana.header.registration.table"></div> 5205 <table class="tt full left" cellpadding="3" cellspacing="0">5217 <table class="tt full tleft" cellpadding="3" cellspacing="0"> 5206 5218 <thead> 5207 5219 <tr> … … 5364 5376 </div> 5365 5377 <div id="content.coding.registry"> 5366 <h 2 id="rfc.section.8.4"><a href="#rfc.section.8.4">8.4</a> <a href="#content.coding.registry">Content Coding Registry</a></h2>5378 <h3 id="rfc.section.8.4"><a href="#rfc.section.8.4">8.4</a> <a href="#content.coding.registry">Content Coding Registry</a></h3> 5367 5379 <div id="rfc.section.8.4.p.1"> 5368 5380 <p>The "HTTP Content Coding Registry" defines the namespace for content coding names … … 5371 5383 </div> 5372 5384 <div id="content.coding.procedure"> 5373 <h 3 id="rfc.section.8.4.1"><a href="#rfc.section.8.4.1">8.4.1</a> <a href="#content.coding.procedure">Procedure</a></h3>5385 <h4 id="rfc.section.8.4.1"><a href="#rfc.section.8.4.1">8.4.1</a> <a href="#content.coding.procedure">Procedure</a></h4> 5374 5386 <div id="rfc.section.8.4.1.p.1"> 5375 5387 <p>Content coding registrations <em class="bcp14">MUST</em> include the following fields: … … 5392 5404 </div> 5393 5405 <div id="content.coding.registration"> 5394 <h 3 id="rfc.section.8.4.2"><a href="#rfc.section.8.4.2">8.4.2</a> <a href="#content.coding.registration">Registrations</a></h3>5395 <div id="rfc.section.8.4.2.p.1" >5406 <h4 id="rfc.section.8.4.2"><a href="#rfc.section.8.4.2">8.4.2</a> <a href="#content.coding.registration">Registrations</a></h4> 5407 <div id="rfc.section.8.4.2.p.1" class="avoidbreakafter"> 5396 5408 <p>The "HTTP Content Coding Registry" has been updated with the registrations below:</p> 5397 5409 </div> 5398 5410 <div id="rfc.table.5"> 5399 5411 <div id="iana.content.coding.registration.table"></div> 5400 <table class="tt full left" cellpadding="3" cellspacing="0">5412 <table class="tt full tleft" cellpadding="3" cellspacing="0"> 5401 5413 <thead> 5402 5414 <tr> … … 5421 5433 </div> 5422 5434 <div id="security.considerations"> 5423 <h 1 id="rfc.section.9"><a href="#rfc.section.9">9.</a> <a href="#security.considerations">Security Considerations</a></h1>5435 <h2 id="rfc.section.9"><a href="#rfc.section.9">9.</a> <a href="#security.considerations">Security Considerations</a></h2> 5424 5436 <div id="rfc.section.9.p.1"> 5425 5437 <p>This section is meant to inform developers, information providers, and users of known … … 5439 5451 </div> 5440 5452 <div id="attack.pathname"> 5441 <h 2 id="rfc.section.9.1"><a href="#rfc.section.9.1">9.1</a> <a href="#attack.pathname">Attacks Based on File and Path Names</a></h2>5453 <h3 id="rfc.section.9.1"><a href="#rfc.section.9.1">9.1</a> <a href="#attack.pathname">Attacks Based on File and Path Names</a></h3> 5442 5454 <div id="rfc.section.9.1.p.1"> 5443 5455 <p>Origin servers frequently make use of their local file system to manage the mapping … … 5466 5478 </div> 5467 5479 <div id="attack.injection"> 5468 <h 2 id="rfc.section.9.2"><a href="#rfc.section.9.2">9.2</a> <a href="#attack.injection">Attacks Based on Command, Code, or Query Injection</a></h2>5480 <h3 id="rfc.section.9.2"><a href="#rfc.section.9.2">9.2</a> <a href="#attack.injection">Attacks Based on Command, Code, or Query Injection</a></h3> 5469 5481 <div id="rfc.section.9.2.p.1"> 5470 5482 <p>Origin servers often use parameters within the URI as a means of identifying system … … 5501 5513 </div> 5502 5514 <div id="personal.information"> 5503 <h 2 id="rfc.section.9.3"><a href="#rfc.section.9.3">9.3</a> <a href="#personal.information">Disclosure of Personal Information</a></h2>5515 <h3 id="rfc.section.9.3"><a href="#rfc.section.9.3">9.3</a> <a href="#personal.information">Disclosure of Personal Information</a></h3> 5504 5516 <div id="rfc.section.9.3.p.1"> 5505 5517 <p>Clients are often privy to large amounts of personal information, including both information … … 5512 5524 </div> 5513 5525 <div id="sensitive.information.in.uris"> 5514 <h 2 id="rfc.section.9.4"><a href="#rfc.section.9.4">9.4</a> <a href="#sensitive.information.in.uris">Disclosure of Sensitive Information in URIs</a></h2>5526 <h3 id="rfc.section.9.4"><a href="#rfc.section.9.4">9.4</a> <a href="#sensitive.information.in.uris">Disclosure of Sensitive Information in URIs</a></h3> 5515 5527 <div id="rfc.section.9.4.p.1"> 5516 5528 <p>URIs are intended to be shared, not secured, even when they identify secure resources. … … 5537 5549 </div> 5538 5550 <div id="fragment.disclosure"> 5539 <h 2 id="rfc.section.9.5"><a href="#rfc.section.9.5">9.5</a> <a href="#fragment.disclosure">Disclosure of Fragment after Redirects</a></h2>5551 <h3 id="rfc.section.9.5"><a href="#rfc.section.9.5">9.5</a> <a href="#fragment.disclosure">Disclosure of Fragment after Redirects</a></h3> 5540 5552 <div id="rfc.section.9.5.p.1"> 5541 5553 <p>Although fragment identifiers used within URI references are not sent in requests, … … 5551 5563 </div> 5552 5564 <div id="disclosure.product.information"> 5553 <h 2 id="rfc.section.9.6"><a href="#rfc.section.9.6">9.6</a> <a href="#disclosure.product.information">Disclosure of Product Information</a></h2>5565 <h3 id="rfc.section.9.6"><a href="#rfc.section.9.6">9.6</a> <a href="#disclosure.product.information">Disclosure of Product Information</a></h3> 5554 5566 <div id="rfc.section.9.6.p.1"> 5555 5567 <p>The <a href="#header.user-agent" class="smpl">User-Agent</a> (<a href="#header.user-agent" id="rfc.xref.header.user-agent.4" title="User-Agent">Section 5.5.3</a>), <a href="p1-messaging.html#header.via" class="smpl">Via</a> (<a href="p1-messaging.html#header.via" title="Via">Section 5.7.1</a> of <a href="#RFC7230" id="rfc.xref.RFC7230.44"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[RFC7230]</cite></a>), and <a href="#header.server" class="smpl">Server</a> (<a href="#header.server" id="rfc.xref.header.server.3" title="Server">Section 7.4.2</a>) header fields often reveal information about the respective sender's software systems. … … 5567 5579 </div> 5568 5580 <div id="fingerprinting"> 5569 <h 2 id="rfc.section.9.7"><a href="#rfc.section.9.7">9.7</a> <a href="#fingerprinting">Browser Fingerprinting</a></h2>5581 <h3 id="rfc.section.9.7"><a href="#rfc.section.9.7">9.7</a> <a href="#fingerprinting">Browser Fingerprinting</a></h3> 5570 5582 <div id="rfc.section.9.7.p.1"> 5571 5583 <p>Browser fingerprinting is a set of techniques for identifying a specific user agent … … 5615 5627 </div> 5616 5628 <div id="acks"> 5617 <h 1 id="rfc.section.10"><a href="#rfc.section.10">10.</a> <a href="#acks">Acknowledgments</a></h1>5629 <h2 id="rfc.section.10"><a href="#rfc.section.10">10.</a> <a href="#acks">Acknowledgments</a></h2> 5618 5630 <div id="rfc.section.10.p.1"> 5619 5631 <p>See <a href="p1-messaging.html#acks" title="Acknowledgments">Section 10</a> of <a href="#RFC7230" id="rfc.xref.RFC7230.45"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[RFC7230]</cite></a>. … … 5621 5633 </div> 5622 5634 </div> 5623 <h1 id="rfc.references"><a id="rfc.section.11" href="#rfc.section.11">11.</a> References 5624 </h1> 5625 <h2 id="rfc.references.1"><a href="#rfc.section.11.1" id="rfc.section.11.1">11.1</a> Normative References 5635 <h2 id="rfc.references"><a id="rfc.section.11" href="#rfc.section.11">11.</a> References 5626 5636 </h2> 5627 <table> 5628 <tr> 5629 <td class="reference"><b id="RFC2045">[RFC2045]</b></td> 5630 <td class="top">Freed, N. and N. Borenstein, “<a href="https://tools.ietf.org/html/rfc2045">Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message 5631 Bodies</a>”, RFC 2045, November 1996. 5632 </td> 5633 </tr> 5634 <tr> 5635 <td class="reference"><b id="RFC2046">[RFC2046]</b></td> 5636 <td class="top">Freed, N. and N. Borenstein, “<a href="https://tools.ietf.org/html/rfc2046">Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types</a>”, RFC 2046, November 1996. 5637 </td> 5638 </tr> 5639 <tr> 5640 <td class="reference"><b id="RFC2119">[RFC2119]</b></td> 5641 <td class="top">Bradner, S., “<a href="https://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a>”, BCP 14, RFC 2119, March 1997. 5642 </td> 5643 </tr> 5644 <tr> 5645 <td class="reference"><b id="RFC3986">[RFC3986]</b></td> 5646 <td class="top">Berners-Lee, T., Fielding, R., and L. Masinter, “<a href="https://tools.ietf.org/html/rfc3986">Uniform Resource Identifier (URI): Generic Syntax</a>”, STD 66, RFC 3986, January 2005. 5647 </td> 5648 </tr> 5649 <tr> 5650 <td class="reference"><b id="RFC4647">[RFC4647]</b></td> 5651 <td class="top">Phillips, A., Ed. and M. Davis, Ed., “<a href="https://tools.ietf.org/html/rfc4647">Matching of Language Tags</a>”, BCP 47, RFC 4647, September 2006. 5652 </td> 5653 </tr> 5654 <tr> 5655 <td class="reference"><b id="RFC5234">[RFC5234]</b></td> 5656 <td class="top">Crocker, D., Ed. and P. Overell, “<a href="https://tools.ietf.org/html/rfc5234">Augmented BNF for Syntax Specifications: ABNF</a>”, STD 68, RFC 5234, January 2008. 5657 </td> 5658 </tr> 5659 <tr> 5660 <td class="reference"><b id="RFC5646">[RFC5646]</b></td> 5661 <td class="top">Phillips, A., Ed. and M. Davis, Ed., “<a href="https://tools.ietf.org/html/rfc5646">Tags for Identifying Languages</a>”, BCP 47, RFC 5646, September 2009. 5662 </td> 5663 </tr> 5664 <tr> 5665 <td class="reference"><b id="RFC6365">[RFC6365]</b></td> 5666 <td class="top">Hoffman, P. and J. Klensin, “<a href="https://tools.ietf.org/html/rfc6365">Terminology Used in Internationalization in the IETF</a>”, BCP 166, RFC 6365, September 2011. 5667 </td> 5668 </tr> 5669 <tr> 5670 <td class="reference"><b id="RFC7230">[RFC7230]</b></td> 5671 <td class="top">Fielding, R., Ed. and J. Reschke, Ed., “<a href="https://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging-latest">Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</a>”, Internet-Draft draft-ietf-httpbis-p1-messaging-latest (work in progress), June 2014. 5672 </td> 5673 </tr> 5674 <tr> 5675 <td class="reference"><b id="RFC7232">[RFC7232]</b></td> 5676 <td class="top">Fielding, R., Ed. and J. Reschke, Ed., “<a href="https://tools.ietf.org/html/draft-ietf-httpbis-p4-conditional-latest">Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests</a>”, Internet-Draft draft-ietf-httpbis-p4-conditional-latest (work in progress), June 2014. 5677 </td> 5678 </tr> 5679 <tr> 5680 <td class="reference"><b id="RFC7233">[RFC7233]</b></td> 5681 <td class="top">Fielding, R., Ed., Lafon, Y., Ed., and J. Reschke, Ed., “<a href="https://tools.ietf.org/html/draft-ietf-httpbis-p5-range-latest">Hypertext Transfer Protocol (HTTP/1.1): Range Requests</a>”, Internet-Draft draft-ietf-httpbis-p5-range-latest (work in progress), June 2014. 5682 </td> 5683 </tr> 5684 <tr> 5685 <td class="reference"><b id="RFC7234">[RFC7234]</b></td> 5686 <td class="top">Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke, Ed., “<a href="https://tools.ietf.org/html/draft-ietf-httpbis-p6-cache-latest">Hypertext Transfer Protocol (HTTP/1.1): Caching</a>”, Internet-Draft draft-ietf-httpbis-p6-cache-latest (work in progress), June 2014. 5687 </td> 5688 </tr> 5689 <tr> 5690 <td class="reference"><b id="RFC7235">[RFC7235]</b></td> 5691 <td class="top">Fielding, R., Ed. and J. Reschke, Ed., “<a href="https://tools.ietf.org/html/draft-ietf-httpbis-p7-auth-latest">Hypertext Transfer Protocol (HTTP/1.1): Authentication</a>”, Internet-Draft draft-ietf-httpbis-p7-auth-latest (work in progress), June 2014. 5692 </td> 5693 </tr> 5694 </table> 5695 <h2 id="rfc.references.2"><a href="#rfc.section.11.2" id="rfc.section.11.2">11.2</a> Informative References 5696 </h2> 5697 <table> 5698 <tr> 5699 <td class="reference"><b id="BCP13">[BCP13]</b></td> 5700 <td class="top">Freed, N., Klensin, J., and T. Hansen, “<a href="https://tools.ietf.org/html/rfc6838">Media Type Specifications and Registration Procedures</a>”, BCP 13, RFC 6838, January 2013. 5701 </td> 5702 </tr> 5703 <tr> 5704 <td class="reference"><b id="BCP178">[BCP178]</b></td> 5705 <td class="top">Saint-Andre, P., Crocker, D., and M. Nottingham, “<a href="https://tools.ietf.org/html/rfc6648">Deprecating the "X-" Prefix and Similar Constructs in Application Protocols</a>”, BCP 178, RFC 6648, June 2012. 5706 </td> 5707 </tr> 5708 <tr> 5709 <td class="reference"><b id="BCP90">[BCP90]</b></td> 5710 <td class="top">Klyne, G., Nottingham, M., and J. Mogul, “<a href="https://tools.ietf.org/html/rfc3864">Registration Procedures for Message Header Fields</a>”, BCP 90, RFC 3864, September 2004. 5711 </td> 5712 </tr> 5713 <tr> 5714 <td class="reference"><b id="OWASP">[OWASP]</b></td> 5715 <td class="top">van der Stock, A., Ed., “<a href="https://www.owasp.org/">A Guide to Building Secure Web Applications and Web Services</a>”, The Open Web Application Security Project (OWASP) 2.0.1, July 2005, <<a href="https://www.owasp.org/">https://www.owasp.org/</a>>. 5716 </td> 5717 </tr> 5718 <tr> 5719 <td class="reference"><b id="REST">[REST]</b></td> 5720 <td class="top">Fielding, R., “<a href="http://roy.gbiv.com/pubs/dissertation/top.htm">Architectural Styles and the Design of Network-based Software Architectures</a>”, Doctoral Dissertation, University of California, Irvine, September 2000, <<a href="http://roy.gbiv.com/pubs/dissertation/top.htm">http://roy.gbiv.com/pubs/dissertation/top.htm</a>>. 5721 </td> 5722 </tr> 5723 <tr> 5724 <td class="reference"><b id="RFC1945">[RFC1945]</b></td> 5725 <td class="top">Berners-Lee, T., Fielding, R., and H. Nielsen, “<a href="https://tools.ietf.org/html/rfc1945">Hypertext Transfer Protocol -- HTTP/1.0</a>”, RFC 1945, May 1996. 5726 </td> 5727 </tr> 5728 <tr> 5729 <td class="reference"><b id="RFC2049">[RFC2049]</b></td> 5730 <td class="top">Freed, N. and N. Borenstein, “<a href="https://tools.ietf.org/html/rfc2049">Multipurpose Internet Mail Extensions (MIME) Part Five: Conformance Criteria and Examples</a>”, RFC 2049, November 1996. 5731 </td> 5732 </tr> 5733 <tr> 5734 <td class="reference"><b id="RFC2068">[RFC2068]</b></td> 5735 <td class="top">Fielding, R., Gettys, J., Mogul, J., Nielsen, H., and T. Berners-Lee, “<a href="https://tools.ietf.org/html/rfc2068">Hypertext Transfer Protocol -- HTTP/1.1</a>”, RFC 2068, January 1997. 5736 </td> 5737 </tr> 5738 <tr> 5739 <td class="reference"><b id="RFC2295">[RFC2295]</b></td> 5740 <td class="top">Holtman, K. and A. Mutz, “<a href="https://tools.ietf.org/html/rfc2295">Transparent Content Negotiation in HTTP</a>”, RFC 2295, March 1998. 5741 </td> 5742 </tr> 5743 <tr> 5744 <td class="reference"><b id="RFC2388">[RFC2388]</b></td> 5745 <td class="top">Masinter, L., “<a href="https://tools.ietf.org/html/rfc2388">Returning Values from Forms: multipart/form-data</a>”, RFC 2388, August 1998. 5746 </td> 5747 </tr> 5748 <tr> 5749 <td class="reference"><b id="RFC2557">[RFC2557]</b></td> 5750 <td class="top">Palme, F., Hopmann, A., Shelness, N., and E. Stefferud, “<a href="https://tools.ietf.org/html/rfc2557">MIME Encapsulation of Aggregate Documents, such as HTML (MHTML)</a>”, RFC 2557, March 1999. 5751 </td> 5752 </tr> 5753 <tr> 5754 <td class="reference"><b id="RFC2616">[RFC2616]</b></td> 5755 <td class="top">Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P., and T. Berners-Lee, “<a href="https://tools.ietf.org/html/rfc2616">Hypertext Transfer Protocol -- HTTP/1.1</a>”, RFC 2616, June 1999. 5756 </td> 5757 </tr> 5758 <tr> 5759 <td class="reference"><b id="RFC2774">[RFC2774]</b></td> 5760 <td class="top">Frystyk, H., Leach, P., and S. Lawrence, “<a href="https://tools.ietf.org/html/rfc2774">An HTTP Extension Framework</a>”, RFC 2774, February 2000. 5761 </td> 5762 </tr> 5763 <tr> 5764 <td class="reference"><b id="RFC2817">[RFC2817]</b></td> 5765 <td class="top">Khare, R. and S. Lawrence, “<a href="https://tools.ietf.org/html/rfc2817">Upgrading to TLS Within HTTP/1.1</a>”, RFC 2817, May 2000. 5766 </td> 5767 </tr> 5768 <tr> 5769 <td class="reference"><b id="RFC2978">[RFC2978]</b></td> 5770 <td class="top">Freed, N. and J. Postel, “<a href="https://tools.ietf.org/html/rfc2978">IANA Charset Registration Procedures</a>”, BCP 19, RFC 2978, October 2000. 5771 </td> 5772 </tr> 5773 <tr> 5774 <td class="reference"><b id="RFC5226">[RFC5226]</b></td> 5775 <td class="top">Narten, T. and H. Alvestrand, “<a href="https://tools.ietf.org/html/rfc5226">Guidelines for Writing an IANA Considerations Section in RFCs</a>”, BCP 26, RFC 5226, May 2008. 5776 </td> 5777 </tr> 5778 <tr> 5779 <td class="reference"><b id="RFC5246">[RFC5246]</b></td> 5780 <td class="top">Dierks, T. and E. Rescorla, “<a href="https://tools.ietf.org/html/rfc5246">The Transport Layer Security (TLS) Protocol Version 1.2</a>”, RFC 5246, August 2008. 5781 </td> 5782 </tr> 5783 <tr> 5784 <td class="reference"><b id="RFC5322">[RFC5322]</b></td> 5785 <td class="top">Resnick, P., “<a href="https://tools.ietf.org/html/rfc5322">Internet Message Format</a>”, RFC 5322, October 2008. 5786 </td> 5787 </tr> 5788 <tr> 5789 <td class="reference"><b id="RFC5789">[RFC5789]</b></td> 5790 <td class="top">Dusseault, L. and J. Snell, “<a href="https://tools.ietf.org/html/rfc5789">PATCH Method for HTTP</a>”, RFC 5789, March 2010. 5791 </td> 5792 </tr> 5793 <tr> 5794 <td class="reference"><b id="RFC5905">[RFC5905]</b></td> 5795 <td class="top">Mills, D., Martin, J., Ed., Burbank, J., and W. Kasch, “<a href="https://tools.ietf.org/html/rfc5905">Network Time Protocol Version 4: Protocol and Algorithms Specification</a>”, RFC 5905, June 2010. 5796 </td> 5797 </tr> 5798 <tr> 5799 <td class="reference"><b id="RFC5987">[RFC5987]</b></td> 5800 <td class="top">Reschke, J., “<a href="https://tools.ietf.org/html/rfc5987">Character Set and Language Encoding for Hypertext Transfer Protocol (HTTP) Header 5801 Field Parameters</a>”, RFC 5987, August 2010. 5802 </td> 5803 </tr> 5804 <tr> 5805 <td class="reference"><b id="RFC5988">[RFC5988]</b></td> 5806 <td class="top">Nottingham, M., “<a href="https://tools.ietf.org/html/rfc5988">Web Linking</a>”, RFC 5988, October 2010. 5807 </td> 5808 </tr> 5809 <tr> 5810 <td class="reference"><b id="RFC6265">[RFC6265]</b></td> 5811 <td class="top">Barth, A., “<a href="https://tools.ietf.org/html/rfc6265">HTTP State Management Mechanism</a>”, RFC 6265, April 2011. 5812 </td> 5813 </tr> 5814 <tr> 5815 <td class="reference"><b id="RFC6266">[RFC6266]</b></td> 5816 <td class="top">Reschke, J., “<a href="https://tools.ietf.org/html/rfc6266">Use of the Content-Disposition Header Field in the Hypertext Transfer Protocol (HTTP)</a>”, RFC 6266, June 2011. 5817 </td> 5818 </tr> 5819 <tr> 5820 <td class="reference"><b id="RFC7238">[RFC7238]</b></td> 5821 <td class="top">Reschke, J., “<a href="https://tools.ietf.org/html/draft-reschke-http-status-308-07">The Hypertext Transfer Protocol (HTTP) Status Code 308 (Permanent Redirect)</a>”, Internet-Draft draft-reschke-http-status-308-07 (work in progress), March 2012. 5822 </td> 5823 </tr> 5824 </table> 5637 <h3 id="rfc.references.1"><a href="#rfc.section.11.1" id="rfc.section.11.1">11.1</a> Normative References 5638 </h3> 5639 <dl class="reference"> 5640 <dt id="RFC2045">[RFC2045]</dt> 5641 <dd>Freed, N. and N. Borenstein, “<a href="https://tools.ietf.org/html/rfc2045">Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message 5642 Bodies</a>”, RFC 2045, November 1996. 5643 </dd> 5644 <dt id="RFC2046">[RFC2046]</dt> 5645 <dd>Freed, N. and N. Borenstein, “<a href="https://tools.ietf.org/html/rfc2046">Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types</a>”, RFC 2046, November 1996. 5646 </dd> 5647 <dt id="RFC2119">[RFC2119]</dt> 5648 <dd>Bradner, S., “<a href="https://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a>”, BCP 14, RFC 2119, March 1997. 5649 </dd> 5650 <dt id="RFC3986">[RFC3986]</dt> 5651 <dd>Berners-Lee, T., Fielding, R., and L. Masinter, “<a href="https://tools.ietf.org/html/rfc3986">Uniform Resource Identifier (URI): Generic Syntax</a>”, STD 66, RFC 3986, January 2005. 5652 </dd> 5653 <dt id="RFC4647">[RFC4647]</dt> 5654 <dd>Phillips, A., Ed. and M. Davis, Ed., “<a href="https://tools.ietf.org/html/rfc4647">Matching of Language Tags</a>”, BCP 47, RFC 4647, September 2006. 5655 </dd> 5656 <dt id="RFC5234">[RFC5234]</dt> 5657 <dd>Crocker, D., Ed. and P. Overell, “<a href="https://tools.ietf.org/html/rfc5234">Augmented BNF for Syntax Specifications: ABNF</a>”, STD 68, RFC 5234, January 2008. 5658 </dd> 5659 <dt id="RFC5646">[RFC5646]</dt> 5660 <dd>Phillips, A., Ed. and M. Davis, Ed., “<a href="https://tools.ietf.org/html/rfc5646">Tags for Identifying Languages</a>”, BCP 47, RFC 5646, September 2009. 5661 </dd> 5662 <dt id="RFC6365">[RFC6365]</dt> 5663 <dd>Hoffman, P. and J. Klensin, “<a href="https://tools.ietf.org/html/rfc6365">Terminology Used in Internationalization in the IETF</a>”, BCP 166, RFC 6365, September 2011. 5664 </dd> 5665 <dt id="RFC7230">[RFC7230]</dt> 5666 <dd>Fielding, R., Ed. and J. Reschke, Ed., “<a href="https://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging-latest">Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</a>”, Internet-Draft draft-ietf-httpbis-p1-messaging-latest (work in progress), June 2014. 5667 </dd> 5668 <dt id="RFC7232">[RFC7232]</dt> 5669 <dd>Fielding, R., Ed. and J. Reschke, Ed., “<a href="https://tools.ietf.org/html/draft-ietf-httpbis-p4-conditional-latest">Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests</a>”, Internet-Draft draft-ietf-httpbis-p4-conditional-latest (work in progress), June 2014. 5670 </dd> 5671 <dt id="RFC7233">[RFC7233]</dt> 5672 <dd>Fielding, R., Ed., Lafon, Y., Ed., and J. Reschke, Ed., “<a href="https://tools.ietf.org/html/draft-ietf-httpbis-p5-range-latest">Hypertext Transfer Protocol (HTTP/1.1): Range Requests</a>”, Internet-Draft draft-ietf-httpbis-p5-range-latest (work in progress), June 2014. 5673 </dd> 5674 <dt id="RFC7234">[RFC7234]</dt> 5675 <dd>Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke, Ed., “<a href="https://tools.ietf.org/html/draft-ietf-httpbis-p6-cache-latest">Hypertext Transfer Protocol (HTTP/1.1): Caching</a>”, Internet-Draft draft-ietf-httpbis-p6-cache-latest (work in progress), June 2014. 5676 </dd> 5677 <dt id="RFC7235">[RFC7235]</dt> 5678 <dd>Fielding, R., Ed. and J. Reschke, Ed., “<a href="https://tools.ietf.org/html/draft-ietf-httpbis-p7-auth-latest">Hypertext Transfer Protocol (HTTP/1.1): Authentication</a>”, Internet-Draft draft-ietf-httpbis-p7-auth-latest (work in progress), June 2014. 5679 </dd> 5680 </dl> 5681 <h3 id="rfc.references.2"><a href="#rfc.section.11.2" id="rfc.section.11.2">11.2</a> Informative References 5682 </h3> 5683 <dl class="reference"> 5684 <dt id="BCP13">[BCP13]</dt> 5685 <dd>Freed, N., Klensin, J., and T. Hansen, “<a href="https://tools.ietf.org/html/rfc6838">Media Type Specifications and Registration Procedures</a>”, BCP 13, RFC 6838, January 2013. 5686 </dd> 5687 <dt id="BCP178">[BCP178]</dt> 5688 <dd>Saint-Andre, P., Crocker, D., and M. Nottingham, “<a href="https://tools.ietf.org/html/rfc6648">Deprecating the "X-" Prefix and Similar Constructs in Application Protocols</a>”, BCP 178, RFC 6648, June 2012. 5689 </dd> 5690 <dt id="BCP90">[BCP90]</dt> 5691 <dd>Klyne, G., Nottingham, M., and J. Mogul, “<a href="https://tools.ietf.org/html/rfc3864">Registration Procedures for Message Header Fields</a>”, BCP 90, RFC 3864, September 2004. 5692 </dd> 5693 <dt id="OWASP">[OWASP]</dt> 5694 <dd>van der Stock, A., Ed., “<a href="https://www.owasp.org/">A Guide to Building Secure Web Applications and Web Services</a>”, The Open Web Application Security Project (OWASP) 2.0.1, July 2005, <<a href="https://www.owasp.org/">https://www.owasp.org/</a>>. 5695 </dd> 5696 <dt id="REST">[REST]</dt> 5697 <dd>Fielding, R., “<a href="http://roy.gbiv.com/pubs/dissertation/top.htm">Architectural Styles and the Design of Network-based Software Architectures</a>”, Doctoral Dissertation, University of California, Irvine, September 2000, <<a href="http://roy.gbiv.com/pubs/dissertation/top.htm">http://roy.gbiv.com/pubs/dissertation/top.htm</a>>. 5698 </dd> 5699 <dt id="RFC1945">[RFC1945]</dt> 5700 <dd>Berners-Lee, T., Fielding, R., and H. Nielsen, “<a href="https://tools.ietf.org/html/rfc1945">Hypertext Transfer Protocol -- HTTP/1.0</a>”, RFC 1945, May 1996. 5701 </dd> 5702 <dt id="RFC2049">[RFC2049]</dt> 5703 <dd>Freed, N. and N. Borenstein, “<a href="https://tools.ietf.org/html/rfc2049">Multipurpose Internet Mail Extensions (MIME) Part Five: Conformance Criteria and Examples</a>”, RFC 2049, November 1996. 5704 </dd> 5705 <dt id="RFC2068">[RFC2068]</dt> 5706 <dd>Fielding, R., Gettys, J., Mogul, J., Nielsen, H., and T. Berners-Lee, “<a href="https://tools.ietf.org/html/rfc2068">Hypertext Transfer Protocol -- HTTP/1.1</a>”, RFC 2068, January 1997. 5707 </dd> 5708 <dt id="RFC2295">[RFC2295]</dt> 5709 <dd>Holtman, K. and A. Mutz, “<a href="https://tools.ietf.org/html/rfc2295">Transparent Content Negotiation in HTTP</a>”, RFC 2295, March 1998. 5710 </dd> 5711 <dt id="RFC2388">[RFC2388]</dt> 5712 <dd>Masinter, L., “<a href="https://tools.ietf.org/html/rfc2388">Returning Values from Forms: multipart/form-data</a>”, RFC 2388, August 1998. 5713 </dd> 5714 <dt id="RFC2557">[RFC2557]</dt> 5715 <dd>Palme, F., Hopmann, A., Shelness, N., and E. Stefferud, “<a href="https://tools.ietf.org/html/rfc2557">MIME Encapsulation of Aggregate Documents, such as HTML (MHTML)</a>”, RFC 2557, March 1999. 5716 </dd> 5717 <dt id="RFC2616">[RFC2616]</dt> 5718 <dd>Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P., and T. Berners-Lee, “<a href="https://tools.ietf.org/html/rfc2616">Hypertext Transfer Protocol -- HTTP/1.1</a>”, RFC 2616, June 1999. 5719 </dd> 5720 <dt id="RFC2774">[RFC2774]</dt> 5721 <dd>Frystyk, H., Leach, P., and S. Lawrence, “<a href="https://tools.ietf.org/html/rfc2774">An HTTP Extension Framework</a>”, RFC 2774, February 2000. 5722 </dd> 5723 <dt id="RFC2817">[RFC2817]</dt> 5724 <dd>Khare, R. and S. Lawrence, “<a href="https://tools.ietf.org/html/rfc2817">Upgrading to TLS Within HTTP/1.1</a>”, RFC 2817, May 2000. 5725 </dd> 5726 <dt id="RFC2978">[RFC2978]</dt> 5727 <dd>Freed, N. and J. Postel, “<a href="https://tools.ietf.org/html/rfc2978">IANA Charset Registration Procedures</a>”, BCP 19, RFC 2978, October 2000. 5728 </dd> 5729 <dt id="RFC5226">[RFC5226]</dt> 5730 <dd>Narten, T. and H. Alvestrand, “<a href="https://tools.ietf.org/html/rfc5226">Guidelines for Writing an IANA Considerations Section in RFCs</a>”, BCP 26, RFC 5226, May 2008. 5731 </dd> 5732 <dt id="RFC5246">[RFC5246]</dt> 5733 <dd>Dierks, T. and E. Rescorla, “<a href="https://tools.ietf.org/html/rfc5246">The Transport Layer Security (TLS) Protocol Version 1.2</a>”, RFC 5246, August 2008. 5734 </dd> 5735 <dt id="RFC5322">[RFC5322]</dt> 5736 <dd>Resnick, P., “<a href="https://tools.ietf.org/html/rfc5322">Internet Message Format</a>”, RFC 5322, October 2008. 5737 </dd> 5738 <dt id="RFC5789">[RFC5789]</dt> 5739 <dd>Dusseault, L. and J. Snell, “<a href="https://tools.ietf.org/html/rfc5789">PATCH Method for HTTP</a>”, RFC 5789, March 2010. 5740 </dd> 5741 <dt id="RFC5905">[RFC5905]</dt> 5742 <dd>Mills, D., Martin, J., Ed., Burbank, J., and W. Kasch, “<a href="https://tools.ietf.org/html/rfc5905">Network Time Protocol Version 4: Protocol and Algorithms Specification</a>”, RFC 5905, June 2010. 5743 </dd> 5744 <dt id="RFC5987">[RFC5987]</dt> 5745 <dd>Reschke, J., “<a href="https://tools.ietf.org/html/rfc5987">Character Set and Language Encoding for Hypertext Transfer Protocol (HTTP) Header 5746 Field Parameters</a>”, RFC 5987, August 2010. 5747 </dd> 5748 <dt id="RFC5988">[RFC5988]</dt> 5749 <dd>Nottingham, M., “<a href="https://tools.ietf.org/html/rfc5988">Web Linking</a>”, RFC 5988, October 2010. 5750 </dd> 5751 <dt id="RFC6265">[RFC6265]</dt> 5752 <dd>Barth, A., “<a href="https://tools.ietf.org/html/rfc6265">HTTP State Management Mechanism</a>”, RFC 6265, April 2011. 5753 </dd> 5754 <dt id="RFC6266">[RFC6266]</dt> 5755 <dd>Reschke, J., “<a href="https://tools.ietf.org/html/rfc6266">Use of the Content-Disposition Header Field in the Hypertext Transfer Protocol (HTTP)</a>”, RFC 6266, June 2011. 5756 </dd> 5757 <dt id="RFC7238">[RFC7238]</dt> 5758 <dd>Reschke, J., “<a href="https://tools.ietf.org/html/draft-reschke-http-status-308-07">The Hypertext Transfer Protocol (HTTP) Status Code 308 (Permanent Redirect)</a>”, Internet-Draft draft-reschke-http-status-308-07 (work in progress), March 2012. 5759 </dd> 5760 </dl> 5825 5761 <div id="differences.between.http.and.mime"> 5826 <h 1 id="rfc.section.A" class="np"><a href="#rfc.section.A">A.</a> <a href="#differences.between.http.and.mime">Differences between HTTP and MIME</a></h1>5762 <h2 id="rfc.section.A" class="np"><a href="#rfc.section.A">A.</a> <a href="#differences.between.http.and.mime">Differences between HTTP and MIME</a></h2> 5827 5763 <div id="rfc.section.A.p.1"> 5828 5764 <p>HTTP/1.1 uses many of the constructs defined for the Internet Message Format <a href="#RFC5322" id="rfc.xref.RFC5322.7"><cite title="Internet Message Format">[RFC5322]</cite></a> and the Multipurpose Internet Mail Extensions (MIME) <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> to allow a message body to be transmitted in an open variety of representations and … … 5842 5778 </div> 5843 5779 <div id="mime-version"> 5844 <h 2 id="rfc.section.A.1"><a href="#rfc.section.A.1">A.1</a> <a href="#mime-version">MIME-Version</a></h2>5780 <h3 id="rfc.section.A.1"><a href="#rfc.section.A.1">A.1</a> <a href="#mime-version">MIME-Version</a></h3> 5845 5781 <div id="rfc.section.A.1.p.1"> 5846 5782 <p>HTTP is not a MIME-compliant protocol. However, messages can include a single MIME-Version … … 5853 5789 </div> 5854 5790 <div id="conversion.to.canonical.form"> 5855 <h 2 id="rfc.section.A.2"><a href="#rfc.section.A.2">A.2</a> <a href="#conversion.to.canonical.form">Conversion to Canonical Form</a></h2>5791 <h3 id="rfc.section.A.2"><a href="#rfc.section.A.2">A.2</a> <a href="#conversion.to.canonical.form">Conversion to Canonical Form</a></h3> 5856 5792 <div id="rfc.section.A.2.p.1"> 5857 5793 <p>MIME requires that an Internet mail body part be converted to canonical form prior … … 5877 5813 </div> 5878 5814 <div id="conversion.of.date.formats"> 5879 <h 2 id="rfc.section.A.3"><a href="#rfc.section.A.3">A.3</a> <a href="#conversion.of.date.formats">Conversion of Date Formats</a></h2>5815 <h3 id="rfc.section.A.3"><a href="#rfc.section.A.3">A.3</a> <a href="#conversion.of.date.formats">Conversion of Date Formats</a></h3> 5880 5816 <div id="rfc.section.A.3.p.1"> 5881 5817 <p>HTTP/1.1 uses a restricted set of date formats (<a href="#http.date" title="Date/Time Formats">Section 7.1.1.1</a>) to simplify the process of date comparison. Proxies and gateways from other protocols … … 5886 5822 </div> 5887 5823 <div id="conversion.content-encoding"> 5888 <h 2 id="rfc.section.A.4"><a href="#rfc.section.A.4">A.4</a> <a href="#conversion.content-encoding">Conversion of Content-Encoding</a></h2>5824 <h3 id="rfc.section.A.4"><a href="#rfc.section.A.4">A.4</a> <a href="#conversion.content-encoding">Conversion of Content-Encoding</a></h3> 5889 5825 <div id="rfc.section.A.4.p.1"> 5890 5826 <p>MIME does not include any concept equivalent to HTTP/1.1's <a href="#header.content-encoding" class="smpl">Content-Encoding</a> header field. Since this acts as a modifier on the media type, proxies and gateways … … 5897 5833 </div> 5898 5834 <div id="conversion.content-transfer-encoding"> 5899 <h 2 id="rfc.section.A.5"><a href="#rfc.section.A.5">A.5</a> <a href="#conversion.content-transfer-encoding">Conversion of Content-Transfer-Encoding</a></h2>5835 <h3 id="rfc.section.A.5"><a href="#rfc.section.A.5">A.5</a> <a href="#conversion.content-transfer-encoding">Conversion of Content-Transfer-Encoding</a></h3> 5900 5836 <div id="rfc.section.A.5.p.1"> 5901 5837 <p>HTTP does not use the Content-Transfer-Encoding field of MIME. Proxies and gateways … … 5915 5851 </div> 5916 5852 <div id="mhtml.line.length"> 5917 <h 2 id="rfc.section.A.6"><a href="#rfc.section.A.6">A.6</a> <a href="#mhtml.line.length">MHTML and Line Length Limitations</a></h2>5853 <h3 id="rfc.section.A.6"><a href="#rfc.section.A.6">A.6</a> <a href="#mhtml.line.length">MHTML and Line Length Limitations</a></h3> 5918 5854 <div id="rfc.section.A.6.p.1"> 5919 5855 <p>HTTP implementations that share code with MHTML <a href="#RFC2557" id="rfc.xref.RFC2557.2"><cite title="MIME Encapsulation of Aggregate Documents, such as HTML (MHTML)">[RFC2557]</cite></a> implementations need to be aware of MIME line length limitations. Since HTTP does … … 5928 5864 </div> 5929 5865 <div id="changes.from.rfc.2616"> 5930 <h 1 id="rfc.section.B"><a href="#rfc.section.B">B.</a> <a href="#changes.from.rfc.2616">Changes from RFC 2616</a></h1>5866 <h2 id="rfc.section.B"><a href="#rfc.section.B">B.</a> <a href="#changes.from.rfc.2616">Changes from RFC 2616</a></h2> 5931 5867 <div id="rfc.section.B.p.1"> 5932 5868 <p>The primary changes in this revision have been editorial in nature: extracting the … … 6076 6012 </div> 6077 6013 <div id="imported.abnf"> 6078 <h 1 id="rfc.section.C"><a href="#rfc.section.C">C.</a> <a href="#imported.abnf">Imported ABNF</a></h1>6014 <h2 id="rfc.section.C"><a href="#rfc.section.C">C.</a> <a href="#imported.abnf">Imported ABNF</a></h2> 6079 6015 <div id="rfc.section.C.p.1"> 6080 6016 <p>The following core rules are included by reference, as defined in <a href="https://tools.ietf.org/html/rfc5234#appendix-B.1">Appendix B.1</a> of <a href="#RFC5234" id="rfc.xref.RFC5234.3"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a>: ALPHA (letters), CR (carriage return), CRLF (CR LF), CTL (controls), DIGIT (decimal … … 6084 6020 </p> 6085 6021 </div> 6086 <div id="rfc.section.C.p.2" >6022 <div id="rfc.section.C.p.2" class="avoidbreakafter"> 6087 6023 <p>The rules below are defined in <a href="#RFC7230" id="rfc.xref.RFC7230.47"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[RFC7230]</cite></a>: 6088 6024 </p> … … 6101 6037 </div> 6102 6038 <div id="collected.abnf"> 6103 <h 1 id="rfc.section.D"><a href="#rfc.section.D">D.</a> <a href="#collected.abnf">Collected ABNF</a></h1>6039 <h2 id="rfc.section.D"><a href="#rfc.section.D">D.</a> <a href="#collected.abnf">Collected ABNF</a></h2> 6104 6040 <div id="rfc.section.D.p.1"> 6105 6041 <p>In the collected ABNF below, list rules are expanded as per <a href="p1-messaging.html#notation" title="Syntax Notation">Section 1.2</a> of <a href="#RFC7230" id="rfc.xref.RFC7230.58"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[RFC7230]</cite></a>. … … 6235 6171 </pre></div> 6236 6172 </div> 6237 <h 1 id="rfc.index"><a href="#rfc.index">Index</a></h1>6173 <h2 id="rfc.index"><a href="#rfc.index">Index</a></h2> 6238 6174 <p class="noprint"><a href="#rfc.index.1">1</a> <a href="#rfc.index.2">2</a> <a href="#rfc.index.3">3</a> <a href="#rfc.index.4">4</a> <a href="#rfc.index.5">5</a> <a href="#rfc.index.A">A</a> <a href="#rfc.index.B">B</a> <a href="#rfc.index.C">C</a> <a href="#rfc.index.D">D</a> <a href="#rfc.index.E">E</a> <a href="#rfc.index.F">F</a> <a href="#rfc.index.G">G</a> <a href="#rfc.index.H">H</a> <a href="#rfc.index.I">I</a> <a href="#rfc.index.L">L</a> <a href="#rfc.index.M">M</a> <a href="#rfc.index.O">O</a> <a href="#rfc.index.P">P</a> <a href="#rfc.index.R">R</a> <a href="#rfc.index.S">S</a> <a href="#rfc.index.T">T</a> <a href="#rfc.index.U">U</a> <a href="#rfc.index.V">V</a> <a href="#rfc.index.X">X</a> 6239 6175 </p> … … 6626 6562 </div> 6627 6563 <div class="avoidbreakinside"> 6628 <h 1 id="rfc.authors"><a href="#rfc.authors">Authors' Addresses</a></h1>6564 <h2 id="rfc.authors"><a href="#rfc.authors">Authors' Addresses</a></h2> 6629 6565 <p><b>Roy T. Fielding</b> 6630 6566 (editor) -
draft-ietf-httpbis/latest/p4-conditional.html
r2734 r2748 4 4 <head profile="http://dublincore.org/documents/2008/08/04/dc-html/"> 5 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 6 <title>Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests</title><script >6 <title>Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests</title><script type="application/javascript"> 7 7 var buttonsAdded = false; 8 8 … … 17 17 18 18 function feedback() { 19 toggleButtonsToElementsByName("h1");20 19 toggleButtonsToElementsByName("h2"); 21 20 toggleButtonsToElementsByName("h3"); 22 21 toggleButtonsToElementsByName("h4"); 22 toggleButtonsToElementsByName("h5"); 23 23 24 24 buttonsAdded = !buttonsAdded; … … 147 147 margin-left: 0em; 148 148 } 149 dl.reference > dt { 150 font-weight: bold; 151 } 152 dl.reference > dd { 153 margin-left: 6em; 154 } 149 155 h1 { 156 color: green; 157 font-size: 150%; 158 line-height: 18pt; 159 font-weight: bold; 160 text-align: center; 161 margin-top: 36pt; 162 margin-bottom: 0pt; 163 } 164 h2 { 150 165 font-size: 130%; 151 166 line-height: 21pt; 152 167 page-break-after: avoid; 153 168 } 154 h 1.np {169 h2.np { 155 170 page-break-before: always; 156 171 } 157 h 2{172 h3 { 158 173 font-size: 120%; 159 174 line-height: 15pt; 160 175 page-break-after: avoid; 161 176 } 162 h 3{177 h4 { 163 178 font-size: 110%; 164 179 page-break-after: avoid; 165 180 } 166 h 4, h5, h6 {181 h5, h6 { 167 182 page-break-after: avoid; 168 183 } … … 266 281 border-width: 2px; 267 282 } 268 table. left {283 table.tleft { 269 284 margin-right: auto; 270 285 } 271 table. right {286 table.tright { 272 287 margin-left: auto; 273 288 } 274 table. center {289 table.tcenter { 275 290 margin-left: auto; 276 291 margin-right: auto; … … 303 318 color: white; 304 319 } 305 td.reference {306 vertical-align: top;307 white-space: nowrap;308 padding-right: 1em;309 }310 320 thead { 311 321 display:table-header-group; … … 333 343 margin-left: 0em; 334 344 } 335 . title, .filename, h1, h2, h3, h4 {345 .filename, h1, h2, h3, h4 { 336 346 font-family: candara, calibri, segoe, optima, arial, sans-serif; 337 347 } … … 381 391 .filename { 382 392 color: #333333; 383 font-size: 75%;393 font-size: 112%; 384 394 font-weight: bold; 385 395 line-height: 21pt; 386 396 text-align: center; 397 margin-top: 0pt; 387 398 } 388 399 .fn { … … 394 405 .right { 395 406 text-align: right; 396 }397 .title {398 color: green;399 font-size: 150%;400 line-height: 18pt;401 font-weight: bold;402 text-align: center;403 margin-top: 36pt;404 407 } 405 408 .warning { … … 428 431 border: 1px solid silver; 429 432 border-radius: 5px; 433 } 434 .publishedasrfc { 435 background-color: yellow; 436 color: green; 437 font-size: 14pt; 438 text-align: center; 430 439 } 431 440 … … 529 538 <link href="p2-semantics.html" rel="prev"> 530 539 <link href="p5-range.html" rel="next"> 531 <meta name="generator" content="http://greenbytes.de/tech/webdav/rfc2629.xslt, Revision 1.7 10, 2014/12/09 13:12:18, XSLT vendor: Saxonica http://www.saxonica.com/">540 <meta name="generator" content="http://greenbytes.de/tech/webdav/rfc2629.xslt, Revision 1.756, 2015/12/31 17:59:21, XSLT vendor: Saxonica http://www.saxonica.com/"> 532 541 <meta name="keywords" content="Hypertext Transfer Protocol, HTTP, HTTP conditional requests"> 533 542 <link rel="schema.dct" href="http://purl.org/dc/terms/"> … … 566 575 </tbody> 567 576 </table> 568 <p class="title" id="rfc.title">Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests<br><span class="filename">draft-ietf-httpbis-p4-conditional-latest</span></p> 569 <p style="color: green; text-align: center; font-size: 14pt; background-color: yellow;"><b>Note:</b> a later version of this document has been published as <a href="http://svn.tools.ietf.org/svn/wg/httpbis/specs/rfc7232.html">RFC7232</a>. 577 <div id="rfc.title"> 578 <h1>Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests</h1> 579 <div class="filename">draft-ietf-httpbis-p4-conditional-latest</div> 580 </div> 581 <p class="publishedasrfc"><b>Note:</b> a later version of this document has been published as <a href="http://svn.tools.ietf.org/svn/wg/httpbis/specs/rfc7232.html">RFC7232</a>. 570 582 571 583 </p> 572 <h 1 id="rfc.abstract"><a href="#rfc.abstract">Abstract</a></h1>584 <h2 id="rfc.abstract"><a href="#rfc.abstract">Abstract</a></h2> 573 585 <p>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for 574 586 distributed, collaborative, hypertext information systems. This document defines HTTP/1.1 … … 578 590 false. 579 591 </p> 580 <h 1 id="rfc.note.1"><a href="#rfc.note.1">Editorial Note (To be removed by RFC Editor)</a></h1>592 <h2 id="rfc.note.1"><a href="#rfc.note.1">Editorial Note (To be removed by RFC Editor)</a></h2> 581 593 <p>Discussion of this draft takes place on the HTTPBIS working group mailing list (ietf-http-wg@w3.org), 582 594 which is archived at <<a href="http://lists.w3.org/Archives/Public/ietf-http-wg/">http://lists.w3.org/Archives/Public/ietf-http-wg/</a>>. … … 588 600 </p> 589 601 <div id="rfc.status"> 590 <h 1><a href="#rfc.status">Status of This Memo</a></h1>602 <h2><a href="#rfc.status">Status of This Memo</a></h2> 591 603 <p>This Internet-Draft is submitted in full conformance with the provisions of BCP 78 592 604 and BCP 79. … … 603 615 </div> 604 616 <div id="rfc.copyrightnotice"> 605 <h 1><a href="#rfc.copyrightnotice">Copyright Notice</a></h1>617 <h2><a href="#rfc.copyrightnotice">Copyright Notice</a></h2> 606 618 <p>Copyright © 2014 IETF Trust and the persons identified as the document authors. All 607 619 rights reserved. … … 626 638 <hr class="noprint"> 627 639 <div id="rfc.toc"> 628 <h 1 class="np"><a href="#rfc.toc">Table of Contents</a></h1>640 <h2 class="np"><a href="#rfc.toc">Table of Contents</a></h2> 629 641 <ul class="toc"> 630 642 <li><a href="#rfc.section.1">1.</a> <a href="#introduction">Introduction</a><ul> … … 684 696 </div> 685 697 <div id="introduction"> 686 <h 1 id="rfc.section.1" class="np"><a href="#rfc.section.1">1.</a> <a href="#introduction">Introduction</a></h1>698 <h2 id="rfc.section.1" class="np"><a href="#rfc.section.1">1.</a> <a href="#introduction">Introduction</a></h2> 687 699 <div id="rfc.section.1.p.1"> 688 700 <p>Conditional requests are HTTP requests <a href="#RFC7231" id="rfc.xref.RFC7231.1"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[RFC7231]</cite></a> that include one or more header fields indicating a precondition to be tested before … … 714 726 </div> 715 727 <div id="conformance"> 716 <h 2 id="rfc.section.1.1"><a href="#rfc.section.1.1">1.1</a> <a href="#conformance">Conformance and Error Handling</a></h2>728 <h3 id="rfc.section.1.1"><a href="#rfc.section.1.1">1.1</a> <a href="#conformance">Conformance and Error Handling</a></h3> 717 729 <div id="rfc.section.1.1.p.1"> 718 730 <p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD … … 727 739 </div> 728 740 <div id="notation"> 729 <h 2 id="rfc.section.1.2"><a href="#rfc.section.1.2">1.2</a> <a href="#notation">Syntax Notation</a></h2>741 <h3 id="rfc.section.1.2"><a href="#rfc.section.1.2">1.2</a> <a href="#notation">Syntax Notation</a></h3> 730 742 <div id="rfc.section.1.2.p.1"> 731 743 <p>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 a list extension, defined in <a href="p1-messaging.html#abnf.extension" title="ABNF List Extension: #rule">Section 7</a> of <a href="#RFC7230" id="rfc.xref.RFC7230.3"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[RFC7230]</cite></a>, that allows for compact definition of comma-separated lists using a '#' operator … … 736 748 </div> 737 749 <div id="validators"> 738 <h 1 id="rfc.section.2"><a href="#rfc.section.2">2.</a> <a href="#validators">Validators</a></h1>750 <h2 id="rfc.section.2"><a href="#rfc.section.2">2.</a> <a href="#validators">Validators</a></h2> 739 751 <div id="rfc.section.2.p.1"> 740 752 <p>This specification defines two forms of metadata that are commonly used to observe … … 745 757 </div> 746 758 <div id="weak.and.strong.validators"> 747 <h 2 id="rfc.section.2.1"><a href="#rfc.section.2.1">2.1</a> <a href="#weak.and.strong.validators">Weak versus Strong</a></h2>759 <h3 id="rfc.section.2.1"><a href="#rfc.section.2.1">2.1</a> <a href="#weak.and.strong.validators">Weak versus Strong</a></h3> 748 760 <div id="rfc.section.2.1.p.1"> 749 761 <p>Validators come in two flavors: strong or weak. Weak validators are easy to generate … … 834 846 </div> 835 847 <div id="header.last-modified"> 836 <h 2 id="rfc.section.2.2"><a href="#rfc.section.2.2">2.2</a> <a href="#header.last-modified">Last-Modified</a></h2>848 <h3 id="rfc.section.2.2"><a href="#rfc.section.2.2">2.2</a> <a href="#header.last-modified">Last-Modified</a></h3> 837 849 <div id="rfc.section.2.2.p.1"> 838 850 <p>The "Last-Modified" header field in a response provides a timestamp indicating the … … 849 861 </pre></div> 850 862 <div id="lastmod.generation"> 851 <h 3 id="rfc.section.2.2.1"><a href="#rfc.section.2.2.1">2.2.1</a> <a href="#lastmod.generation">Generation</a></h3>863 <h4 id="rfc.section.2.2.1"><a href="#rfc.section.2.2.1">2.2.1</a> <a href="#lastmod.generation">Generation</a></h4> 852 864 <div id="rfc.section.2.2.1.p.1"> 853 865 <p>An origin server <em class="bcp14">SHOULD</em> send Last-Modified for any selected representation for which a last modification date … … 888 900 </div> 889 901 <div id="lastmod.comparison"> 890 <h 3 id="rfc.section.2.2.2"><a href="#rfc.section.2.2.2">2.2.2</a> <a href="#lastmod.comparison">Comparison</a></h3>902 <h4 id="rfc.section.2.2.2"><a href="#rfc.section.2.2.2">2.2.2</a> <a href="#lastmod.comparison">Comparison</a></h4> 891 903 <div id="rfc.section.2.2.2.p.1"> 892 904 <p>A Last-Modified time, when used as a validator in a request, is implicitly weak unless … … 935 947 </div> 936 948 <div id="header.etag"> 937 <h 2 id="rfc.section.2.3"><a href="#rfc.section.2.3">2.3</a> <a href="#header.etag">ETag</a></h2>949 <h3 id="rfc.section.2.3"><a href="#rfc.section.2.3">2.3</a> <a href="#header.etag">ETag</a></h3> 938 950 <div id="rfc.section.2.3.p.1"> 939 951 <p>The "ETag" header field in a response provides the current entity-tag for the selected … … 981 993 </div> 982 994 <div id="entity.tag.generation"> 983 <h 3 id="rfc.section.2.3.1"><a href="#rfc.section.2.3.1">2.3.1</a> <a href="#entity.tag.generation">Generation</a></h3>995 <h4 id="rfc.section.2.3.1"><a href="#rfc.section.2.3.1">2.3.1</a> <a href="#entity.tag.generation">Generation</a></h4> 984 996 <div id="rfc.section.2.3.1.p.1"> 985 997 <p>The principle behind entity-tags is that only the service author knows the implementation … … 1008 1020 </div> 1009 1021 <div id="entity.tag.comparison"> 1010 <h 3 id="rfc.section.2.3.2"><a href="#rfc.section.2.3.2">2.3.2</a> <a href="#entity.tag.comparison">Comparison</a></h3>1022 <h4 id="rfc.section.2.3.2"><a href="#rfc.section.2.3.2">2.3.2</a> <a href="#entity.tag.comparison">Comparison</a></h4> 1011 1023 <div id="rfc.section.2.3.2.p.1"> 1012 1024 <p>There are two entity-tag comparison functions, depending on whether or not the comparison … … 1022 1034 </ul> 1023 1035 </div> 1024 <div id="rfc.section.2.3.2.p.2" >1036 <div id="rfc.section.2.3.2.p.2" class="avoidbreakafter"> 1025 1037 <p>The example below shows the results for a set of entity-tag pairs and both the weak 1026 1038 and strong comparison function results: … … 1028 1040 </div> 1029 1041 <div id="rfc.table.u.1"> 1030 <table class="tt full left" cellpadding="3" cellspacing="0">1042 <table class="tt full tleft" cellpadding="3" cellspacing="0"> 1031 1043 <thead> 1032 1044 <tr> … … 1067 1079 </div> 1068 1080 <div id="example.entity.tag.vs.conneg"> 1069 <h 3 id="rfc.section.2.3.3"><a href="#rfc.section.2.3.3">2.3.3</a> <a href="#example.entity.tag.vs.conneg">Example: Entity-Tags Varying on Content-Negotiated Resources</a></h3>1070 <div id="rfc.section.2.3.3.p.1" >1081 <h4 id="rfc.section.2.3.3"><a href="#rfc.section.2.3.3">2.3.3</a> <a href="#example.entity.tag.vs.conneg">Example: Entity-Tags Varying on Content-Negotiated Resources</a></h4> 1082 <div id="rfc.section.2.3.3.p.1" class="avoidbreakafter"> 1071 1083 <p>Consider a resource that is subject to content negotiation (<a href="p2-semantics.html#content.negotiation" title="Content Negotiation">Section 3.4</a> of <a href="#RFC7231" id="rfc.xref.RFC7231.3"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[RFC7231]</cite></a>), and where the representations sent in response to a GET request vary based on the <a href="p2-semantics.html#header.accept-encoding" class="smpl">Accept-Encoding</a> request header field (<a href="p2-semantics.html#header.accept-encoding" title="Accept-Encoding">Section 5.3.4</a> of <a href="#RFC7231" id="rfc.xref.RFC7231.4"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[RFC7231]</cite></a>): 1072 1084 </p> … … 1078 1090 1079 1091 </pre></div> 1080 <div id="rfc.section.2.3.3.p.2" >1092 <div id="rfc.section.2.3.3.p.2" class="avoidbreakafter"> 1081 1093 <p>In this case, the response might or might not use the gzip content coding. If it does 1082 1094 not, the response might look like: … … 1097 1109 Hello World! 1098 1110 </span></pre></div> 1099 <div id="rfc.section.2.3.3.p.3" >1111 <div id="rfc.section.2.3.3.p.3" class="avoidbreakafter"> 1100 1112 <p>An alternative representation that does use gzip content coding would be:</p> 1101 1113 </div> … … 1122 1134 </div> 1123 1135 <div id="when.to.use.entity.tags.and.last-modified.dates"> 1124 <h 2 id="rfc.section.2.4"><a href="#rfc.section.2.4">2.4</a> <a href="#when.to.use.entity.tags.and.last-modified.dates">When to Use Entity-Tags and Last-Modified Dates</a></h2>1136 <h3 id="rfc.section.2.4"><a href="#rfc.section.2.4">2.4</a> <a href="#when.to.use.entity.tags.and.last-modified.dates">When to Use Entity-Tags and Last-Modified Dates</a></h3> 1125 1137 <div id="rfc.section.2.4.p.1"> 1126 1138 <p>In <a href="p2-semantics.html#status.200" class="smpl">200 (OK)</a> responses to GET or HEAD, an origin server: … … 1159 1171 </div> 1160 1172 <div id="preconditions"> 1161 <h 1 id="rfc.section.3"><a href="#rfc.section.3">3.</a> <a href="#preconditions">Precondition Header Fields</a></h1>1173 <h2 id="rfc.section.3"><a href="#rfc.section.3">3.</a> <a href="#preconditions">Precondition Header Fields</a></h2> 1162 1174 <div id="rfc.section.3.p.1"> 1163 1175 <p>This section defines the syntax and semantics of HTTP/1.1 header fields for applying … … 1166 1178 </div> 1167 1179 <div id="header.if-match"> 1168 <h 2 id="rfc.section.3.1"><a href="#rfc.section.3.1">3.1</a> <a href="#header.if-match">If-Match</a></h2>1180 <h3 id="rfc.section.3.1"><a href="#rfc.section.3.1">3.1</a> <a href="#header.if-match">If-Match</a></h3> 1169 1181 <div id="rfc.section.3.1.p.1"> 1170 1182 <p>The "If-Match" header field makes the request method conditional on the recipient … … 1182 1194 <div id="rfc.figure.u.8"><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> 1183 1195 </pre></div> 1184 <div id="rfc.section.3.1.p.3" >1196 <div id="rfc.section.3.1.p.3" class="avoidbreakafter"> 1185 1197 <p>Examples:</p> 1186 1198 </div> … … 1220 1232 </div> 1221 1233 <div id="header.if-none-match"> 1222 <h 2 id="rfc.section.3.2"><a href="#rfc.section.3.2">3.2</a> <a href="#header.if-none-match">If-None-Match</a></h2>1234 <h3 id="rfc.section.3.2"><a href="#rfc.section.3.2">3.2</a> <a href="#header.if-none-match">If-None-Match</a></h3> 1223 1235 <div id="rfc.section.3.2.p.1"> 1224 1236 <p>The "If-None-Match" header field makes the request method conditional on a recipient … … 1235 1247 <div id="rfc.figure.u.10"><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> 1236 1248 </pre></div> 1237 <div id="rfc.section.3.2.p.3" >1249 <div id="rfc.section.3.2.p.3" class="avoidbreakafter"> 1238 1250 <p>Examples:</p> 1239 1251 </div> … … 1278 1290 </div> 1279 1291 <div id="header.if-modified-since"> 1280 <h 2 id="rfc.section.3.3"><a href="#rfc.section.3.3">3.3</a> <a href="#header.if-modified-since">If-Modified-Since</a></h2>1292 <h3 id="rfc.section.3.3"><a href="#rfc.section.3.3">3.3</a> <a href="#header.if-modified-since">If-Modified-Since</a></h3> 1281 1293 <div id="rfc.section.3.3.p.1"> 1282 1294 <p>The "If-Modified-Since" header field makes a GET or HEAD request method conditional … … 1288 1300 <div id="rfc.figure.u.12"><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> 1289 1301 </pre></div> 1290 <div id="rfc.section.3.3.p.2" >1302 <div id="rfc.section.3.3.p.2" class="avoidbreakafter"> 1291 1303 <p>An example of the field is:</p> 1292 1304 </div> … … 1347 1359 </div> 1348 1360 <div id="header.if-unmodified-since"> 1349 <h 2 id="rfc.section.3.4"><a href="#rfc.section.3.4">3.4</a> <a href="#header.if-unmodified-since">If-Unmodified-Since</a></h2>1361 <h3 id="rfc.section.3.4"><a href="#rfc.section.3.4">3.4</a> <a href="#header.if-unmodified-since">If-Unmodified-Since</a></h3> 1350 1362 <div id="rfc.section.3.4.p.1"> 1351 1363 <p>The "If-Unmodified-Since" header field makes the request method conditional on the … … 1356 1368 <div id="rfc.figure.u.14"><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> 1357 1369 </pre></div> 1358 <div id="rfc.section.3.4.p.2" >1370 <div id="rfc.section.3.4.p.2" class="avoidbreakafter"> 1359 1371 <p>An example of the field is:</p> 1360 1372 </div> … … 1403 1415 </div> 1404 1416 <div id="header.if-range"> 1405 <h 2 id="rfc.section.3.5"><a href="#rfc.section.3.5">3.5</a> <a href="#header.if-range">If-Range</a></h2>1417 <h3 id="rfc.section.3.5"><a href="#rfc.section.3.5">3.5</a> <a href="#header.if-range">If-Range</a></h3> 1406 1418 <div id="rfc.section.3.5.p.1"> 1407 1419 <p>The "If-Range" header field provides a special conditional request mechanism that … … 1413 1425 </div> 1414 1426 <div id="status.code.definitions"> 1415 <h 1 id="rfc.section.4"><a href="#rfc.section.4">4.</a> <a href="#status.code.definitions">Status Code Definitions</a></h1>1427 <h2 id="rfc.section.4"><a href="#rfc.section.4">4.</a> <a href="#status.code.definitions">Status Code Definitions</a></h2> 1416 1428 <div id="status.304"> 1417 <h 2 id="rfc.section.4.1"><a href="#rfc.section.4.1">4.1</a> <a href="#status.304">304 Not Modified</a></h2>1429 <h3 id="rfc.section.4.1"><a href="#rfc.section.4.1">4.1</a> <a href="#status.304">304 Not Modified</a></h3> 1418 1430 <div id="rfc.section.4.1.p.1"> 1419 1431 <p>The <dfn>304 (Not Modified)</dfn> status code indicates that a conditional GET or HEAD request has been received and … … 1447 1459 </div> 1448 1460 <div id="status.412"> 1449 <h 2 id="rfc.section.4.2"><a href="#rfc.section.4.2">4.2</a> <a href="#status.412">412 Precondition Failed</a></h2>1461 <h3 id="rfc.section.4.2"><a href="#rfc.section.4.2">4.2</a> <a href="#status.412">412 Precondition Failed</a></h3> 1450 1462 <div id="rfc.section.4.2.p.1"> 1451 1463 <p>The <dfn>412 (Precondition Failed)</dfn> status code indicates that one or more conditions given in the request header fields … … 1459 1471 </div> 1460 1472 <div id="evaluation"> 1461 <h 1 id="rfc.section.5"><a href="#rfc.section.5">5.</a> <a href="#evaluation">Evaluation</a></h1>1473 <h2 id="rfc.section.5"><a href="#rfc.section.5">5.</a> <a href="#evaluation">Evaluation</a></h2> 1462 1474 <div id="rfc.section.5.p.1"> 1463 1475 <p>Except when excluded below, a recipient cache or origin server <em class="bcp14">MUST</em> evaluate received request preconditions after it has successfully performed its normal … … 1494 1506 </div> 1495 1507 <div id="precedence"> 1496 <h 1 id="rfc.section.6"><a href="#rfc.section.6">6.</a> <a href="#precedence">Precedence</a></h1>1508 <h2 id="rfc.section.6"><a href="#rfc.section.6">6.</a> <a href="#precedence">Precedence</a></h2> 1497 1509 <div id="rfc.section.6.p.1"> 1498 1510 <p>When more than one conditional request header field is present in a request, the order … … 1562 1574 </div> 1563 1575 <div id="IANA.considerations"> 1564 <h 1 id="rfc.section.7"><a href="#rfc.section.7">7.</a> <a href="#IANA.considerations">IANA Considerations</a></h1>1576 <h2 id="rfc.section.7"><a href="#rfc.section.7">7.</a> <a href="#IANA.considerations">IANA Considerations</a></h2> 1565 1577 <div id="status.code.registration"> 1566 <h 2 id="rfc.section.7.1"><a href="#rfc.section.7.1">7.1</a> <a href="#status.code.registration">Status Code Registration</a></h2>1567 <div id="rfc.section.7.1.p.1" >1578 <h3 id="rfc.section.7.1"><a href="#rfc.section.7.1">7.1</a> <a href="#status.code.registration">Status Code Registration</a></h3> 1579 <div id="rfc.section.7.1.p.1" class="avoidbreakafter"> 1568 1580 <p>The "Hypertext Transfer Protocol (HTTP) Status Code Registry" located at <<a href="http://www.iana.org/assignments/http-status-codes">http://www.iana.org/assignments/http-status-codes</a>> has been updated with the registrations below: 1569 1581 </p> … … 1571 1583 <div id="rfc.table.1"> 1572 1584 <div id="iana.status.code.registration.table"></div> 1573 <table class="tt full left" cellpadding="3" cellspacing="0">1585 <table class="tt full tleft" cellpadding="3" cellspacing="0"> 1574 1586 <thead> 1575 1587 <tr> … … 1597 1609 </div> 1598 1610 <div id="header.field.registration"> 1599 <h 2 id="rfc.section.7.2"><a href="#rfc.section.7.2">7.2</a> <a href="#header.field.registration">Header Field Registration</a></h2>1611 <h3 id="rfc.section.7.2"><a href="#rfc.section.7.2">7.2</a> <a href="#header.field.registration">Header Field Registration</a></h3> 1600 1612 <div id="rfc.section.7.2.p.1"> 1601 1613 <p>HTTP header fields are registered within the "Message Headers" registry maintained … … 1603 1615 </p> 1604 1616 </div> 1605 <div id="rfc.section.7.2.p.2" >1617 <div id="rfc.section.7.2.p.2" class="avoidbreakafter"> 1606 1618 <p>This document defines the following HTTP header fields, so their associated registry 1607 1619 entries have been updated according to the permanent registrations below (see <a href="#BCP90" id="rfc.xref.BCP90.1"><cite title="Registration Procedures for Message Header Fields">[BCP90]</cite></a>): … … 1610 1622 <div id="rfc.table.2"> 1611 1623 <div id="iana.header.registration.table"></div> 1612 <table class="tt full left" cellpadding="3" cellspacing="0">1624 <table class="tt full tleft" cellpadding="3" cellspacing="0"> 1613 1625 <thead> 1614 1626 <tr> … … 1671 1683 </div> 1672 1684 <div id="security.considerations"> 1673 <h 1 id="rfc.section.8"><a href="#rfc.section.8">8.</a> <a href="#security.considerations">Security Considerations</a></h1>1685 <h2 id="rfc.section.8"><a href="#rfc.section.8">8.</a> <a href="#security.considerations">Security Considerations</a></h2> 1674 1686 <div id="rfc.section.8.p.1"> 1675 1687 <p>This section is meant to inform developers, information providers, and users of known … … 1701 1713 </div> 1702 1714 <div id="acks"> 1703 <h 1 id="rfc.section.9"><a href="#rfc.section.9">9.</a> <a href="#acks">Acknowledgments</a></h1>1715 <h2 id="rfc.section.9"><a href="#rfc.section.9">9.</a> <a href="#acks">Acknowledgments</a></h2> 1704 1716 <div id="rfc.section.9.p.1"> 1705 1717 <p>See <a href="p1-messaging.html#acks" title="Acknowledgments">Section 10</a> of <a href="#RFC7230" id="rfc.xref.RFC7230.6"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[RFC7230]</cite></a>. … … 1707 1719 </div> 1708 1720 </div> 1709 <h1 id="rfc.references"><a id="rfc.section.10" href="#rfc.section.10">10.</a> References 1710 </h1> 1711 <h2 id="rfc.references.1"><a href="#rfc.section.10.1" id="rfc.section.10.1">10.1</a> Normative References 1721 <h2 id="rfc.references"><a id="rfc.section.10" href="#rfc.section.10">10.</a> References 1712 1722 </h2> 1713 <table> 1714 <tr> 1715 <td class="reference"><b id="RFC2119">[RFC2119]</b></td> 1716 <td class="top">Bradner, S., “<a href="https://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a>”, BCP 14, RFC 2119, March 1997. 1717 </td> 1718 </tr> 1719 <tr> 1720 <td class="reference"><b id="RFC5234">[RFC5234]</b></td> 1721 <td class="top">Crocker, D., Ed. and P. Overell, “<a href="https://tools.ietf.org/html/rfc5234">Augmented BNF for Syntax Specifications: ABNF</a>”, STD 68, RFC 5234, January 2008. 1722 </td> 1723 </tr> 1724 <tr> 1725 <td class="reference"><b id="RFC7230">[RFC7230]</b></td> 1726 <td class="top">Fielding, R., Ed. and J. Reschke, Ed., “<a href="https://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging-latest">Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</a>”, Internet-Draft draft-ietf-httpbis-p1-messaging-latest (work in progress), June 2014. 1727 </td> 1728 </tr> 1729 <tr> 1730 <td class="reference"><b id="RFC7231">[RFC7231]</b></td> 1731 <td class="top">Fielding, R., Ed. and J. Reschke, Ed., “<a href="https://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-latest">Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</a>”, Internet-Draft draft-ietf-httpbis-p2-semantics-latest (work in progress), June 2014. 1732 </td> 1733 </tr> 1734 <tr> 1735 <td class="reference"><b id="RFC7233">[RFC7233]</b></td> 1736 <td class="top">Fielding, R., Ed., Lafon, Y., Ed., and J. Reschke, Ed., “<a href="https://tools.ietf.org/html/draft-ietf-httpbis-p5-range-latest">Hypertext Transfer Protocol (HTTP/1.1): Range Requests</a>”, Internet-Draft draft-ietf-httpbis-p5-range-latest (work in progress), June 2014. 1737 </td> 1738 </tr> 1739 <tr> 1740 <td class="reference"><b id="RFC7234">[RFC7234]</b></td> 1741 <td class="top">Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke, Ed., “<a href="https://tools.ietf.org/html/draft-ietf-httpbis-p6-cache-latest">Hypertext Transfer Protocol (HTTP/1.1): Caching</a>”, Internet-Draft draft-ietf-httpbis-p6-cache-latest (work in progress), June 2014. 1742 </td> 1743 </tr> 1744 </table> 1745 <h2 id="rfc.references.2"><a href="#rfc.section.10.2" id="rfc.section.10.2">10.2</a> Informative References 1746 </h2> 1747 <table> 1748 <tr> 1749 <td class="reference"><b id="BCP90">[BCP90]</b></td> 1750 <td class="top">Klyne, G., Nottingham, M., and J. Mogul, “<a href="https://tools.ietf.org/html/rfc3864">Registration Procedures for Message Header Fields</a>”, BCP 90, RFC 3864, September 2004. 1751 </td> 1752 </tr> 1753 <tr> 1754 <td class="reference"><b id="RFC2616">[RFC2616]</b></td> 1755 <td class="top">Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P., and T. Berners-Lee, “<a href="https://tools.ietf.org/html/rfc2616">Hypertext Transfer Protocol -- HTTP/1.1</a>”, RFC 2616, June 1999. 1756 </td> 1757 </tr> 1758 <tr> 1759 <td class="reference"><b id="RFC4918">[RFC4918]</b></td> 1760 <td class="top">Dusseault, L., Ed., “<a href="https://tools.ietf.org/html/rfc4918">HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)</a>”, RFC 4918, June 2007. 1761 </td> 1762 </tr> 1763 </table> 1723 <h3 id="rfc.references.1"><a href="#rfc.section.10.1" id="rfc.section.10.1">10.1</a> Normative References 1724 </h3> 1725 <dl class="reference"> 1726 <dt id="RFC2119">[RFC2119]</dt> 1727 <dd>Bradner, S., “<a href="https://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a>”, BCP 14, RFC 2119, March 1997. 1728 </dd> 1729 <dt id="RFC5234">[RFC5234]</dt> 1730 <dd>Crocker, D., Ed. and P. Overell, “<a href="https://tools.ietf.org/html/rfc5234">Augmented BNF for Syntax Specifications: ABNF</a>”, STD 68, RFC 5234, January 2008. 1731 </dd> 1732 <dt id="RFC7230">[RFC7230]</dt> 1733 <dd>Fielding, R., Ed. and J. Reschke, Ed., “<a href="https://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging-latest">Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</a>”, Internet-Draft draft-ietf-httpbis-p1-messaging-latest (work in progress), June 2014. 1734 </dd> 1735 <dt id="RFC7231">[RFC7231]</dt> 1736 <dd>Fielding, R., Ed. and J. Reschke, Ed., “<a href="https://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-latest">Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</a>”, Internet-Draft draft-ietf-httpbis-p2-semantics-latest (work in progress), June 2014. 1737 </dd> 1738 <dt id="RFC7233">[RFC7233]</dt> 1739 <dd>Fielding, R., Ed., Lafon, Y., Ed., and J. Reschke, Ed., “<a href="https://tools.ietf.org/html/draft-ietf-httpbis-p5-range-latest">Hypertext Transfer Protocol (HTTP/1.1): Range Requests</a>”, Internet-Draft draft-ietf-httpbis-p5-range-latest (work in progress), June 2014. 1740 </dd> 1741 <dt id="RFC7234">[RFC7234]</dt> 1742 <dd>Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke, Ed., “<a href="https://tools.ietf.org/html/draft-ietf-httpbis-p6-cache-latest">Hypertext Transfer Protocol (HTTP/1.1): Caching</a>”, Internet-Draft draft-ietf-httpbis-p6-cache-latest (work in progress), June 2014. 1743 </dd> 1744 </dl> 1745 <h3 id="rfc.references.2"><a href="#rfc.section.10.2" id="rfc.section.10.2">10.2</a> Informative References 1746 </h3> 1747 <dl class="reference"> 1748 <dt id="BCP90">[BCP90]</dt> 1749 <dd>Klyne, G., Nottingham, M., and J. Mogul, “<a href="https://tools.ietf.org/html/rfc3864">Registration Procedures for Message Header Fields</a>”, BCP 90, RFC 3864, September 2004. 1750 </dd> 1751 <dt id="RFC2616">[RFC2616]</dt> 1752 <dd>Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P., and T. Berners-Lee, “<a href="https://tools.ietf.org/html/rfc2616">Hypertext Transfer Protocol -- HTTP/1.1</a>”, RFC 2616, June 1999. 1753 </dd> 1754 <dt id="RFC4918">[RFC4918]</dt> 1755 <dd>Dusseault, L., Ed., “<a href="https://tools.ietf.org/html/rfc4918">HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)</a>”, RFC 4918, June 2007. 1756 </dd> 1757 </dl> 1764 1758 <div id="changes.from.rfc.2616"> 1765 <h 1 id="rfc.section.A" class="np"><a href="#rfc.section.A">A.</a> <a href="#changes.from.rfc.2616">Changes from RFC 2616</a></h1>1759 <h2 id="rfc.section.A" class="np"><a href="#rfc.section.A">A.</a> <a href="#changes.from.rfc.2616">Changes from RFC 2616</a></h2> 1766 1760 <div id="rfc.section.A.p.1"> 1767 1761 <p>The definition of validator weakness has been expanded and clarified. (<a href="#weak.and.strong.validators" title="Weak versus Strong">Section 2.1</a>) … … 1788 1782 </div> 1789 1783 <div id="imported.abnf"> 1790 <h 1 id="rfc.section.B"><a href="#rfc.section.B">B.</a> <a href="#imported.abnf">Imported ABNF</a></h1>1784 <h2 id="rfc.section.B"><a href="#rfc.section.B">B.</a> <a href="#imported.abnf">Imported ABNF</a></h2> 1791 1785 <div id="rfc.section.B.p.1"> 1792 1786 <p>The following core rules are included by reference, as defined in <a href="https://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 … … 1795 1789 </p> 1796 1790 </div> 1797 <div id="rfc.section.B.p.2" >1791 <div id="rfc.section.B.p.2" class="avoidbreakafter"> 1798 1792 <p>The rules below are defined in <a href="#RFC7230" id="rfc.xref.RFC7230.7"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[RFC7230]</cite></a>: 1799 1793 </p> … … 1802 1796 <a href="#imported.abnf" class="smpl">obs-text</a> = <obs-text, see <a href="#RFC7230" id="rfc.xref.RFC7230.9"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[RFC7230]</cite></a>, <a href="p1-messaging.html#field.components" title="Field Value Components">Section 3.2.6</a>> 1803 1797 </pre></div> 1804 <div id="rfc.section.B.p.3" >1798 <div id="rfc.section.B.p.3" class="avoidbreakafter"> 1805 1799 <p>The rules below are defined in other parts:</p> 1806 1800 </div> … … 1809 1803 </div> 1810 1804 <div id="collected.abnf"> 1811 <h 1 id="rfc.section.C"><a href="#rfc.section.C">C.</a> <a href="#collected.abnf">Collected ABNF</a></h1>1805 <h2 id="rfc.section.C"><a href="#rfc.section.C">C.</a> <a href="#collected.abnf">Collected ABNF</a></h2> 1812 1806 <div id="rfc.section.C.p.1"> 1813 1807 <p>In the collected ABNF below, list rules are expanded as per <a href="p1-messaging.html#notation" title="Syntax Notation">Section 1.2</a> of <a href="#RFC7230" id="rfc.xref.RFC7230.10"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[RFC7230]</cite></a>. … … 1839 1833 </pre></div> 1840 1834 </div> 1841 <h 1 id="rfc.index"><a href="#rfc.index">Index</a></h1>1835 <h2 id="rfc.index"><a href="#rfc.index">Index</a></h2> 1842 1836 <p class="noprint"><a href="#rfc.index.3">3</a> <a href="#rfc.index.4">4</a> <a href="#rfc.index.B">B</a> <a href="#rfc.index.E">E</a> <a href="#rfc.index.G">G</a> <a href="#rfc.index.I">I</a> <a href="#rfc.index.L">L</a> <a href="#rfc.index.M">M</a> <a href="#rfc.index.R">R</a> <a href="#rfc.index.S">S</a> <a href="#rfc.index.V">V</a> 1843 1837 </p> … … 1950 1944 </div> 1951 1945 <div class="avoidbreakinside"> 1952 <h 1 id="rfc.authors"><a href="#rfc.authors">Authors' Addresses</a></h1>1946 <h2 id="rfc.authors"><a href="#rfc.authors">Authors' Addresses</a></h2> 1953 1947 <p><b>Roy T. Fielding</b> 1954 1948 (editor) -
draft-ietf-httpbis/latest/p5-range.html
r2734 r2748 4 4 <head profile="http://dublincore.org/documents/2008/08/04/dc-html/"> 5 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 6 <title>Hypertext Transfer Protocol (HTTP/1.1): Range Requests</title><script >6 <title>Hypertext Transfer Protocol (HTTP/1.1): Range Requests</title><script type="application/javascript"> 7 7 var buttonsAdded = false; 8 8 … … 17 17 18 18 function feedback() { 19 toggleButtonsToElementsByName("h1");20 19 toggleButtonsToElementsByName("h2"); 21 20 toggleButtonsToElementsByName("h3"); 22 21 toggleButtonsToElementsByName("h4"); 22 toggleButtonsToElementsByName("h5"); 23 23 24 24 buttonsAdded = !buttonsAdded; … … 147 147 margin-left: 0em; 148 148 } 149 dl.reference > dt { 150 font-weight: bold; 151 } 152 dl.reference > dd { 153 margin-left: 6em; 154 } 149 155 h1 { 156 color: green; 157 font-size: 150%; 158 line-height: 18pt; 159 font-weight: bold; 160 text-align: center; 161 margin-top: 36pt; 162 margin-bottom: 0pt; 163 } 164 h2 { 150 165 font-size: 130%; 151 166 line-height: 21pt; 152 167 page-break-after: avoid; 153 168 } 154 h 1.np {169 h2.np { 155 170 page-break-before: always; 156 171 } 157 h 2{172 h3 { 158 173 font-size: 120%; 159 174 line-height: 15pt; 160 175 page-break-after: avoid; 161 176 } 162 h 3{177 h4 { 163 178 font-size: 110%; 164 179 page-break-after: avoid; 165 180 } 166 h 4, h5, h6 {181 h5, h6 { 167 182 page-break-after: avoid; 168 183 } … … 266 281 border-width: 2px; 267 282 } 268 table. left {283 table.tleft { 269 284 margin-right: auto; 270 285 } 271 table. right {286 table.tright { 272 287 margin-left: auto; 273 288 } 274 table. center {289 table.tcenter { 275 290 margin-left: auto; 276 291 margin-right: auto; … … 303 318 color: white; 304 319 } 305 td.reference {306 vertical-align: top;307 white-space: nowrap;308 padding-right: 1em;309 }310 320 thead { 311 321 display:table-header-group; … … 333 343 margin-left: 0em; 334 344 } 335 . title, .filename, h1, h2, h3, h4 {345 .filename, h1, h2, h3, h4 { 336 346 font-family: candara, calibri, segoe, optima, arial, sans-serif; 337 347 } … … 381 391 .filename { 382 392 color: #333333; 383 font-size: 75%;393 font-size: 112%; 384 394 font-weight: bold; 385 395 line-height: 21pt; 386 396 text-align: center; 397 margin-top: 0pt; 387 398 } 388 399 .fn { … … 394 405 .right { 395 406 text-align: right; 396 }397 .title {398 color: green;399 font-size: 150%;400 line-height: 18pt;401 font-weight: bold;402 text-align: center;403 margin-top: 36pt;404 407 } 405 408 .warning { … … 428 431 border: 1px solid silver; 429 432 border-radius: 5px; 433 } 434 .publishedasrfc { 435 background-color: yellow; 436 color: green; 437 font-size: 14pt; 438 text-align: center; 430 439 } 431 440 … … 528 537 <link href="p4-conditional.html" rel="prev"> 529 538 <link href="p6-cache.html" rel="next"> 530 <meta name="generator" content="http://greenbytes.de/tech/webdav/rfc2629.xslt, Revision 1.7 10, 2014/12/09 13:12:18, XSLT vendor: Saxonica http://www.saxonica.com/">539 <meta name="generator" content="http://greenbytes.de/tech/webdav/rfc2629.xslt, Revision 1.756, 2015/12/31 17:59:21, XSLT vendor: Saxonica http://www.saxonica.com/"> 531 540 <meta name="keywords" content="Hypertext Transfer Protocol, HTTP, HTTP Range Requests"> 532 541 <link rel="schema.dct" href="http://purl.org/dc/terms/"> … … 574 583 <