Changeset 61 for draft-ietf-httpbis/diffs/draft-ietf-httpbis-p7-auth-00-from-rfc2616-symrefs.diff.html
- Timestamp:
- 18/12/07 13:07:35 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/diffs/draft-ietf-httpbis-p7-auth-00-from-rfc2616-symrefs.diff.html
r59 r61 1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 2 <!-- Generated by rfcdiff 1.34: rfcdiff --> 3 <!-- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional" > -->4 <!-- System: Darwin kiwi.local 8.11.0 Darwin Kernel Version 8.11.0: Wed Oct 10 18:26:00 PDT 2007; root:xnu-792.24.17~1/RELEASE_PPC Power Macintosh powerpc -->5 <!-- Using awk: /usr/local/bin/gawk: GNU Awk 3.1.6 -->6 <!-- Using diff: /usr/bin/diff: diff (GNU diffutils) 2.8.1 -->7 <!-- Using wdiff: /usr/local/bin/wdiff: wdiff (Free wdiff) 0.5g -->8 3 <html> 9 4 <head> … … 43 38 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 44 39 <tr><td><a name="diff0001" /></td></tr> 45 <tr><td class="lineno" valign="top"></td><td class="lblock">Network Working Group R. <span class="delete">Fielding</span></td><td> </td><td class="rblock">Network Working Group R. <span class="insert">Fielding, Ed.</span></td><td class="lineno" valign="top"></td></tr>46 <tr><td class="lineno" valign="top"></td><td class="lblock">Internet-Draft <span class="delete">UC Irvine</span></td><td> </td><td class="rblock">Internet-Draft <span class="insert">Day Software</span></td><td class="lineno" valign="top"></td></tr>47 <tr><td class="lineno" valign="top"></td><td class="lblock">Obsoletes: <span class="delete">2068</span> (if approved) J. <span class="delete">Gettys</span></td><td> </td><td class="rblock">Obsoletes: <span class="insert">2068, 2616 J. Gettys</span></td><td class="lineno" valign="top"></td></tr>48 <tr><td class="lineno" valign="top"></td><td class="lblock"> Intended status: Standards Track <span class="delete">Compaq/W3C</span></td><td> </td><td class="rblock"><span class="insert">(if approved) One Laptop per Child</span></td><td class="lineno" valign="top"></td></tr>49 <tr><td class="lineno" valign="top"></td><td class="lblock"> Expires: <span class="delete">December 3, 1999 J. Mogul</span></td><td> </td><td class="rblock"><span class="insert">Updates: 2617</span> (if approved) J. <span class="insert">Mogul</span></td><td class="lineno" valign="top"></td></tr>50 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Compaq</span></td><td> </td><td class="rblock"> Intended status: Standards Track <span class="insert">HP</span></td><td class="lineno" valign="top"></td></tr>51 <tr><td class="lineno" valign="top"></td><td class="lblock"> H. Frystyk</td><td> </td><td class="rblock">Expires: <span class="insert">June 19, 2008</span> H. Frystyk</td><td class="lineno" valign="top"></td></tr>52 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">W3C/MIT</span></td><td> </td><td class="rblock"> <span class="insert">Microsoft</span></td><td class="lineno" valign="top"></td></tr>40 <tr><td class="lineno" valign="top"></td><td class="lblock">Network Working Group <span class="delete"> R. Fielding</span></td><td> </td><td class="rblock">Network Working Group <span class="insert">R. Fielding, Ed.</span></td><td class="lineno" valign="top"></td></tr> 41 <tr><td class="lineno" valign="top"></td><td class="lblock">Internet-Draft <span class="delete"> UC Irvin</span>e</td><td> </td><td class="rblock">Internet-Draft <span class="insert">Day Softwar</span>e</td><td class="lineno" valign="top"></td></tr> 42 <tr><td class="lineno" valign="top"></td><td class="lblock">Obsoletes: 2068<span class="delete"> (if approved)</span> J. Gettys</td><td> </td><td class="rblock">Obsoletes: 2068<span class="insert">, 2616 </span> J. Gettys</td><td class="lineno" valign="top"></td></tr> 43 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">Intended status: Standards Track Compaq/W3C</span></td><td> </td><td class="rblock"><span class="insert">(if approved) One Laptop per Child</span></td><td class="lineno" valign="top"></td></tr> 44 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">Expires: December 3, 1999 </span> J. Mogul</td><td> </td><td class="rblock"><span class="insert">Updates: 2617 (if approved)</span> J. Mogul</td><td class="lineno" valign="top"></td></tr> 45 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Compaq</span></td><td> </td><td class="rblock"><span class="insert">Intended status: Standards Track HP</span></td><td class="lineno" valign="top"></td></tr> 46 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span> H. Frystyk</td><td> </td><td class="rblock"><span class="insert">Expires: June 20, 2008</span> H. Frystyk</td><td class="lineno" valign="top"></td></tr> 47 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> W3C/MIT</span></td><td> </td><td class="rblock"> <span class="insert">Microsoft</span></td><td class="lineno" valign="top"></td></tr> 53 48 <tr><td class="lineno" valign="top"></td><td class="left"> L. Masinter</td><td> </td><td class="right"> L. Masinter</td><td class="lineno" valign="top"></td></tr> 54 49 <tr><td><a name="diff0002" /></td></tr> … … 59 54 <tr><td class="lineno" valign="top"></td><td class="left"> W3C/MIT</td><td> </td><td class="right"> W3C/MIT</td><td class="lineno" valign="top"></td></tr> 60 55 <tr><td><a name="diff0003" /></td></tr> 61 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">Hypertext Transfer Protocol -- HTTP/1.1</span></td><td> </td><td class="rblock"> <span class="insert">December 17, 2007</span></td><td class="lineno" valign="top"></td></tr>62 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> rfc2616-symrefs</span></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>56 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">Hypertext Transfer Protocol -- HTTP/1.1</span></td><td> </td><td class="rblock"> <span class="insert"> December 18, 2007</span></td><td class="lineno" valign="top"></td></tr> 57 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">rfc2616-symrefs</span></td><td> </td><td class="rblock"> <span class="insert"> </span></td><td class="lineno" valign="top"></td></tr> 63 58 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> HTTP/1.1, part 7: Authentication</span></td><td class="lineno" valign="top"></td></tr> 64 59 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> draft-ietf-httpbis-p7-auth-00</span></td><td class="lineno" valign="top"></td></tr> … … 86 81 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 87 82 <tr><td><a name="diff0004" /></td></tr> 88 <tr><td class="lineno" valign="top"></td><td class="lblock"> This Internet-Draft will expire on <span class="delete">December 3, 1999</span>.</td><td> </td><td class="rblock"> This Internet-Draft will expire on <span class="insert">June 19, 2008</span>.</td><td class="lineno" valign="top"></td></tr>83 <tr><td class="lineno" valign="top"></td><td class="lblock"> This Internet-Draft will expire on <span class="delete">December 3, 1999</span>.</td><td> </td><td class="rblock"> This Internet-Draft will expire on <span class="insert">June 20, 2008</span>.</td><td class="lineno" valign="top"></td></tr> 89 84 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 90 85 <tr><td class="lineno" valign="top"></td><td class="left">Copyright Notice</td><td> </td><td class="right">Copyright Notice</td><td class="lineno" valign="top"></td></tr> … … 98 93 <tr><td class="lineno" valign="top"></td><td class="left"> protocol for distributed, collaborative, hypermedia information</td><td> </td><td class="right"> protocol for distributed, collaborative, hypermedia information</td><td class="lineno" valign="top"></td></tr> 99 94 <tr><td><a name="diff0006" /></td></tr> 100 <tr><td class="lineno" valign="top"></td><td class="lblock"> systems. <span class="delete">It is a generic, stateless, protocol which can be used for</span></td><td> </td><td class="rblock"> systems. HTTP has been in use by the <span class="insert">World Wide</span> Web global</td><td class="lineno" valign="top"></td></tr>101 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> many tasks beyond its use for hypertext, such as name servers and</span></td><td> </td><td class="rblock"> information initiative since 1990. This <span class="insert">document is Part 7 of the</span></td><td class="lineno" valign="top"></td></tr>102 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> distributed object management systems, through extension of its</span></td><td> </td><td class="rblock"><span class="insert"> seven-part</span> specification <span class="insert">that</span> defines the protocol referred to as</td><td class="lineno" valign="top"></td></tr>103 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> request methods, error codes and headers [RFC2324]. A feature of</span></td><td> </td><td class="rblock"> <span class="insert">"HTTP/1.1" and, taken together, obsoletes</span> RFC <span class="insert">2616. Part 7 defines</span></td><td class="lineno" valign="top"></td></tr>104 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> HTTP is the typing and negotiation of data representation, allowing</span></td><td> </td><td class="rblock"><span class="insert"> HTTPAuthentication.</span></td><td class="lineno" valign="top"></td></tr>95 <tr><td class="lineno" valign="top"></td><td class="lblock"> systems. <span class="delete">It is a generic, stateless, protocol which can be used for</span></td><td> </td><td class="rblock"> systems. <span class="insert">HTTP has been in use by the World Wide Web global</span></td><td class="lineno" valign="top"></td></tr> 96 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">many tasks beyond its use for hypertext, such as name servers and</span></td><td> </td><td class="rblock"> <span class="insert">information initiative since 1990. This document is Part 7 of the</span></td><td class="lineno" valign="top"></td></tr> 97 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">distributed object management systems, through extension of it</span>s</td><td> </td><td class="rblock"> <span class="insert">seven-part specification that defines the protocol referred to a</span>s</td><td class="lineno" valign="top"></td></tr> 98 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">request methods, error codes and headers [RFC2324]. A feature of</span></td><td> </td><td class="rblock"> <span class="insert">"HTTP/1.1" and, taken together, obsoletes RFC 2616. Part 7 defines</span></td><td class="lineno" valign="top"></td></tr> 99 <tr><td class="lineno" valign="top"></td><td class="lblock"> HTTP <span class="delete">is the typing and negotiation of data representation, allowing</span></td><td> </td><td class="rblock"> HTTP <span class="insert">Authentication.</span></td><td class="lineno" valign="top"></td></tr> 105 100 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> systems to be built independently of the data being transferred.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 106 <tr><td class="lineno" valign="top"></td><td class="lblock"> 107 <tr><td class="lineno" valign="top"></td><td class="lblock"> HTTP has been in use by the <span class="delete">World-Wide</span> Web global information</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>108 <tr><td class="lineno" valign="top"></td><td class="lblock"> initiative since 1990. This specification defines the protocol</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>109 <tr><td class="lineno" valign="top"></td><td class="lblock"> referred to as <span class="delete">"HTTP/1.1", and is an update to</span> RFC <span class="delete">2068 [RFC2068].</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>101 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 102 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> HTTP has been in use by the World-Wide Web global information</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 103 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> initiative since 1990. This specification defines the protocol</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 104 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> referred to as "HTTP/1.1", and is an update to RFC 2068 [RFC2068].</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 110 105 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 111 106 <tr><td class="lineno" valign="top"></td><td class="left">Editorial Note (To be removed by RFC Editor)</td><td> </td><td class="right">Editorial Note (To be removed by RFC Editor)</td><td class="lineno" valign="top"></td></tr> … … 113 108 <tr><td><a name="diff0007" /></td></tr> 114 109 <tr><td class="lineno" valign="top"></td><td class="lblock"> This version of the HTTP specification contains only <span class="delete">XML processing</span></td><td> </td><td class="rblock"> This version of the HTTP specification contains only <span class="insert">minimal</span></td><td class="lineno" valign="top"></td></tr> 115 <tr><td class="lineno" valign="top"></td><td class="lblock"> changes from [RFC2616] <span class="delete">in internet-draft form</span> for use in <span class="delete">creating</span></td><td> </td><td class="rblock"><span class="insert"> editorial</span> changes from [RFC2616] <span class="insert">(abstract, introductory paragraph,</span></td><td class="lineno" valign="top"></td></tr>116 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> diffs.</span></td><td> </td><td class="rblock"><span class="insert">and authors' addresses). All other changes are due to partitioning</span></td><td class="lineno" valign="top"></td></tr>117 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> the original into seven mostly independent parts. The intent is </span> for</td><td class="lineno" valign="top"></td></tr>118 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> <span class="insert">readers of future drafts to able to</span> use <span class="insert">draft 00 as the basis for</span></td><td class="lineno" valign="top"></td></tr>110 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">changes from [RFC2616] in internet-draft form for use in creating</span></td><td> </td><td class="rblock"> <span class="insert">editorial changes from [RFC2616] (abstract, introductory paragraph,</span></td><td class="lineno" valign="top"></td></tr> 111 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">diffs.</span></td><td> </td><td class="rblock"> <span class="insert">and authors' addresses). All other changes are due to partitioning</span></td><td class="lineno" valign="top"></td></tr> 112 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> the original into seven mostly independent parts. The intent is for</span></td><td class="lineno" valign="top"></td></tr> 113 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> readers of future drafts to able to use draft 00 as the basis for</span></td><td class="lineno" valign="top"></td></tr> 119 114 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> comparison when the WG makes later changes to the specification text.</span></td><td class="lineno" valign="top"></td></tr> 120 115 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> This draft will shortly be followed by draft 01 (containing the first</span></td><td class="lineno" valign="top"></td></tr> 121 116 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> round of changes that have already been agreed to on the mailing</span></td><td class="lineno" valign="top"></td></tr> 122 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> list). There is no point </span> in <span class="insert">reviewing this draft other than to</span></td><td class="lineno" valign="top"></td></tr>117 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> list). There is no point in reviewing this draft other than to</span></td><td class="lineno" valign="top"></td></tr> 123 118 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> verify that the partitioning has been done correctly. Roy T.</span></td><td class="lineno" valign="top"></td></tr> 124 119 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> Fielding, Yves Lafon, and Julian Reschke will be the editors after</span></td><td class="lineno" valign="top"></td></tr> 125 120 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> draft 00 is submitted.</span></td><td class="lineno" valign="top"></td></tr> 126 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> </span></td><td class="lineno" valign="top"></td></tr>121 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> </span></td><td class="lineno" valign="top"></td></tr> 127 122 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> Discussion of this draft should take place on the HTTPBIS working</span></td><td class="lineno" valign="top"></td></tr> 128 123 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> group mailing list (ietf-http-wg@w3.org). The current issues list is</span></td><td class="lineno" valign="top"></td></tr> … … 134 129 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 135 130 <tr><td><a name="diff0008" /></td></tr> 136 <tr><td class="lineno" valign="top"></td><td class="lblock"> 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">9</span></td><td> </td><td class="rblock"> 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">4</span></td><td class="lineno" valign="top"></td></tr>137 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 1.1. Purpose . . . . . . . . . . . . . . . . . . . . . . . . 9</span></td><td> </td><td class="rblock"><span class="insert"> 2. Status Code Definitions</span> . . . . . . . . . . . . . . . . . . . <span class="insert">4</span></td><td class="lineno" valign="top"></td></tr>138 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 1.2. Requirements . . . . . . . . . . . . . . . . . . . . . . 9</span></td><td> </td><td class="rblock"><span class="insert"> 2.1. 401 Unauthorized</span> . . . . . . . . . . . . . . . . . . . . . <span class="insert">4</span></td><td class="lineno" valign="top"></td></tr>139 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 1.3. Terminology . . . . . . . . . . . . . . . . . . . . . . 10</span></td><td> </td><td class="rblock"><span class="insert"> 2.2. 407 Proxy</span> Authentication <span class="insert">Required</span> . . . . . . . . . . . . <span class="insert">4</span></td><td class="lineno" valign="top"></td></tr>140 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 1.4. Overall Operation . . . . . . . . . . . . . . . . . . . 14</span></td><td> </td><td class="rblock"><span class="insert"> 3. Header Field Definitions</span> . . . . . . . . . . . . . . . . . . . <span class="insert">5</span></td><td class="lineno" valign="top"></td></tr>141 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 2. Notational Conventions and Generic Grammar . . . . . . . . . 16</span></td><td> </td><td class="rblock"><span class="insert"> 3.1. Authorization</span> . . . . . . . . . . . . . . . . . . . . . . <span class="insert">5</span></td><td class="lineno" valign="top"></td></tr>142 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 2.1. Augmented BNF . . . . . . . . . . . . . . . . . . . . . 16</span></td><td> </td><td class="rblock"><span class="insert"> 3.2. Proxy-Authenticate</span> . . . . . . . . . . . . . . . . . . . . <span class="insert">6</span></td><td class="lineno" valign="top"></td></tr>143 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 2.2. Basic Rules . . . . . . . . . . . . . . . . . . . . . . 18</span></td><td> </td><td class="rblock"><span class="insert"> 3.3. Proxy-Authorization</span> . . . . . . . . . . . . . . . . . . . <span class="insert">6</span></td><td class="lineno" valign="top"></td></tr>144 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3. Protocol Parameters . . . . . . . . . . . . . . . . . . . . . 20</span></td><td> </td><td class="rblock"><span class="insert"> 3.4. WWW-Authenticate</span> . . . . . . . . . . . . . . . . . . . . . <span class="insert">6</span></td><td class="lineno" valign="top"></td></tr>145 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.1. HTTP Version . . . . . . . . . . . . . . . . . . . . . . 20</span></td><td> </td><td class="rblock"><span class="insert"> 4. IANA Considerations</span> . . . . . . . . . . . . . . . . . . . . . <span class="insert">7</span></td><td class="lineno" valign="top"></td></tr>146 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.2. Uniform Resource Identifiers . . . . . . . . . . . . . . 21</span></td><td> </td><td class="rblock"><span class="insert"> 5. Security Considerations</span> . . . . . . . . . . . . . . . . . . . <span class="insert">7</span></td><td class="lineno" valign="top"></td></tr>147 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.2.1. General Syntax . . . . . . . . . . . . . . . . . . . 21</span></td><td> </td><td class="rblock"><span class="insert"> 5.1. Authentication Credentials</span> and <span class="insert">Idle Clients</span> . . . . . . . <span class="insert">7</span></td><td class="lineno" valign="top"></td></tr>148 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.2.2. http URL . . . . . . . . . . . . . . . . . . . . . . 22</span></td><td> </td><td class="rblock"><span class="insert"> 6. Acknowledgments</span> . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">8</span></td><td class="lineno" valign="top"></td></tr>149 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.2.3. URI Comparison . . . . . . . . . . . . . . . . . . . 22</span></td><td> </td><td class="rblock"><span class="insert"> 7. References</span> . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">8</span></td><td class="lineno" valign="top"></td></tr>150 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.3. Date/Time Formats . . . . . . . . . . . . . . . . . . . 23</span></td><td> </td><td class="rblock"> Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">8</span></td><td class="lineno" valign="top"></td></tr>151 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.3.1. Full Date . . . . . . . . . . . . . . . . . . . . . 23</span></td><td> </td><td class="rblock"> Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">. 9</span></td><td class="lineno" valign="top"></td></tr>152 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.3.2. Delta Seconds . . . . . . . . . . . . . . . . . . . 24</span></td><td> </td><td class="rblock"> Intellectual Property and Copyright Statements . . . . . . . . . <span class="insert">. 11</span></td><td class="lineno" valign="top"></td></tr>131 <tr><td class="lineno" valign="top"></td><td class="lblock"> 1. Introduction <span class="delete"> . . . . . . . . . . . . . . . . . . . . . . . . 9</span></td><td> </td><td class="rblock"> 1. Introduction <span class="insert">. . . . . . . . . . . . . . . . . . . . . . . . . 4</span></td><td class="lineno" valign="top"></td></tr> 132 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 1.1. Purpose . . . . . . . . . . . . . . . . . . . . . . . . 9</span></td><td> </td><td class="rblock"> <span class="insert">2. Status Code Definitions . . . . . . . . . . . . . . . . . . . 4</span></td><td class="lineno" valign="top"></td></tr> 133 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">1.2. Requirements . . . . . . . . . . . . . . . . . . . . . . 9</span></td><td> </td><td class="rblock"> <span class="insert">2.1. 401 Unauthorized . . . . . . . . . . . . . . . . . . . . . 4</span></td><td class="lineno" valign="top"></td></tr> 134 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">1.3. Terminology . . . . . . . . . . . . . . . . . . . . . . 10</span></td><td> </td><td class="rblock"> <span class="insert">2.2. 407 Proxy Authentication Required . . . . . . . . . . . . 4</span></td><td class="lineno" valign="top"></td></tr> 135 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 1.4. Overall Operation . . . . . . . . . . . . . . . . . . . 14</span></td><td> </td><td class="rblock"> <span class="insert">3. Header Field Definitions . . . . . . . . . . . . . . . . . . . 5</span></td><td class="lineno" valign="top"></td></tr> 136 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">2. Notational Conventions and Generic Grammar . . . . . . . . . 16</span></td><td> </td><td class="rblock"> <span class="insert"> 3.1. Authorization . . . . . . . . . . . . . . . . . . . . . . 5</span></td><td class="lineno" valign="top"></td></tr> 137 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">2.1. Augmented BNF . . . . . . . . . . . . . . . . . . . . . 1</span>6</td><td> </td><td class="rblock"> <span class="insert">3.2. Proxy-Authenticate . . . . . . . . . . . . . . . . . . . . </span>6</td><td class="lineno" valign="top"></td></tr> 138 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">2.2. Basic Rules . . . . . . . . . . . . . . . . . . . . . . 18</span></td><td> </td><td class="rblock"> <span class="insert">3.3. Proxy-Authorization . . . . . . . . . . . . . . . . . . . 6</span></td><td class="lineno" valign="top"></td></tr> 139 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">3. Protocol Parameters . . . . . . . . . . . . . . . . . . . . . 20</span></td><td> </td><td class="rblock"> <span class="insert"> 3.4. WWW-Authenticate . . . . . . . . . . . . . . . . . . . . . 6</span></td><td class="lineno" valign="top"></td></tr> 140 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.1. HTTP Version . . . . . . . . . . . . . . . . . . . . . . 20</span></td><td> </td><td class="rblock"> <span class="insert">4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7</span></td><td class="lineno" valign="top"></td></tr> 141 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.2. Uniform Resource Identifiers . . . . . . . . . . . . . . 21</span></td><td> </td><td class="rblock"> <span class="insert">5. Security Considerations . . . . . . . . . . . . . . . . . . . 7</span></td><td class="lineno" valign="top"></td></tr> 142 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.2.1. General Syntax . . . . . . . . . . . . . . . . . . . 21</span></td><td> </td><td class="rblock"> <span class="insert">5.1. Authentication Credentials and Idle Clients . . . . . . . 7</span></td><td class="lineno" valign="top"></td></tr> 143 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.2.2. http URL . . . . . . . . . . . . . . . . . . . . . . 22</span></td><td> </td><td class="rblock"> <span class="insert">6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 8</span></td><td class="lineno" valign="top"></td></tr> 144 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.2.3. URI Comparison . . . . . . . . . . . . . . . . . . . 22</span></td><td> </td><td class="rblock"> <span class="insert">7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8</span></td><td class="lineno" valign="top"></td></tr> 145 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.3. Date/Time Formats . . . . . . . . . . . . . . . . . . . 23</span></td><td> </td><td class="rblock"> <span class="insert">Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8</span></td><td class="lineno" valign="top"></td></tr> 146 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.3.1. Full Date . . . . . . . . . . . . . . . . . . . . . 23</span></td><td> </td><td class="rblock"> <span class="insert">Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 9</span></td><td class="lineno" valign="top"></td></tr> 147 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.3.2. Delta Seconds . . . . . . . . . . . . . . . . . . . 24</span></td><td> </td><td class="rblock"> <span class="insert">Intellectual Property and Copyright Statements . . . . . . . . . . 11</span></td><td class="lineno" valign="top"></td></tr> 153 148 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 3.4. Character Sets . . . . . . . . . . . . . . . . . . . . . 24</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 154 149 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 3.4.1. Missing Charset . . . . . . . . . . . . . . . . . . 25</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 361 356 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 15.1.4. Privacy Issues Connected to Accept Headers . . . . . 155</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 362 357 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 15.2. Attacks Based On File and Path Names . . . . . . . . . . 156</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 363 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 15.3. DNS Spoofing . . . . . . . . . </span> . . . . . . . . . . . . . <span class="delete">156</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>364 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 15.4. Location Headers and Spoofing </span> . . . . . . . . . . . . . <span class="delete">157</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>365 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 15.5. Content-Disposition Issues </span> . . . . . . . . . . . . . . . <span class="delete">157</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>366 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 15.6. </span> Authentication <span class="delete">Credentials and Idle Clients . . . . . . 157</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>358 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 15.3. DNS Spoofing . . . . . . . . . . . . . . . . . . . . . . 156</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 359 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 15.4. Location Headers and Spoofing . . . . . . . . . . . . . 157</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 360 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 15.5. Content-Disposition Issues . . . . . . . . . . . . . . . 157</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 361 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 15.6. Authentication Credentials and Idle Clients . . . . . . 157</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 367 362 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 15.7. Proxies and Caching . . . . . . . . . . . . . . . . . . 158</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 368 363 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 15.7.1. Denial of Service Attacks on Proxies . . . . . . . . 159</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 369 364 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 16. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 159</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 370 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 17. References . . . . . . . . . . . . . . . . . . . </span> . . . . . . <span class="delete">161</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>371 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Appendix A. Appendices </span> . . . . . . . . . . . . . . . . . . . . . <span class="delete">165</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>372 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.1. Internet Media Type message/http and application/http </span> . <span class="delete">165</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>373 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.2. Internet Media Type multipart/byteranges </span> . . . . . . . . <span class="delete">166</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>374 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.3. Tolerant Applications </span> . . . . . . . . . . . . . . . . . <span class="delete">167</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>365 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 17. References . . . . . . . . . . . . . . . . . . . . . . . . . 161</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 366 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Appendix A. Appendices . . . . . . . . . . . . . . . . . . . . . 165</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 367 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.1. Internet Media Type message/http and application/http . 165</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 368 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.2. Internet Media Type multipart/byteranges . . . . . . . . 166</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 369 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.3. Tolerant Applications . . . . . . . . . . . . . . . . . 167</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 375 370 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.4. Differences Between HTTP Entities and RFC 2045</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 376 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Entities </span> . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">168</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>377 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.4.1. MIME-Version </span> . . . . . . . . . . . . . . . . . . . . <span class="delete">169</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>378 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.4.2. Conversion to Canonical Form </span> . . . . . . . . . . . . <span class="delete">169</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>379 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.4.3. Conversion of Date Formats </span> . . . . . . . . . . . . . <span class="delete">169</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>380 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.4.4. Introduction of Content-Encoding </span> . . . . . . . . . . <span class="delete">170</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>381 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.4.5. No Content-Transfer-Encoding </span> . . . . . . . . . . . . <span class="delete">170</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>382 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.4.6. Introduction of Transfer-Encoding </span> . . . . . . . . . <span class="delete">170</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>383 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.4.7. MHTML </span> and <span class="delete">Line Length Limitations . . . . . . . . . 171</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>371 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Entities . . . . . . . . . . . . . . . . . . . . . . . . 168</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 372 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.4.1. MIME-Version . . . . . . . . . . . . . . . . . . . . 169</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 373 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.4.2. Conversion to Canonical Form . . . . . . . . . . . . 169</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 374 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.4.3. Conversion of Date Formats . . . . . . . . . . . . . 169</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 375 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.4.4. Introduction of Content-Encoding . . . . . . . . . . 170</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 376 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.4.5. No Content-Transfer-Encoding . . . . . . . . . . . . 170</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 377 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.4.6. Introduction of Transfer-Encoding . . . . . . . . . 170</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 378 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.4.7. MHTML and Line Length Limitations . . . . . . . . . 171</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 384 379 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.5. Additional Features . . . . . . . . . . . . . . . . . . 171</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 385 380 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.5.1. Content-Disposition . . . . . . . . . . . . . . . . 171</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 386 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.6. Compatibility with Previous Versions . . . . . . . . </span> . . <span class="delete">172</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>387 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.6.1. Changes from HTTP/1.0 </span> . . . . . . . . . . . . . . . <span class="delete">173</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>388 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.6.2. Compatibility with HTTP/1.0 Persistent Connections </span> . <span class="delete">174</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>389 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.6.3. Changes from RFC 2068 </span> . . . . . . . . . . . . . . . <span class="delete">174</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>390 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Appendix B. Index </span> . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">177</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>391 <tr><td class="lineno" valign="top"></td><td class="lblock"> Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">177</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>392 <tr><td class="lineno" valign="top"></td><td class="lblock"> Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">188</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>393 <tr><td class="lineno" valign="top"></td><td class="lblock"> Intellectual Property and Copyright Statements . . . . . . . . . <span class="delete">190</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>381 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.6. Compatibility with Previous Versions . . . . . . . . . . 172</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 382 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.6.1. Changes from HTTP/1.0 . . . . . . . . . . . . . . . 173</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 383 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.6.2. Compatibility with HTTP/1.0 Persistent Connections . 174</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 384 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.6.3. Changes from RFC 2068 . . . . . . . . . . . . . . . 174</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 385 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Appendix B. Index . . . . . . . . . . . . . . . . . . . . . . . 177</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 386 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 387 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 188</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 388 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Intellectual Property and Copyright Statements . . . . . . . . . 190</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 394 389 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 395 390 <tr><td class="lineno" valign="top"></td><td class="left">1. Introduction</td><td> </td><td class="right">1. Introduction</td><td class="lineno" valign="top"></td></tr> 396 391 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 397 392 <tr><td><a name="diff0009" /></td></tr> 398 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">1.1. Purpose</span></td><td> </td><td class="rblock"> This <span class="insert">document will define aspects</span> of HTTP <span class="insert">related</span> to access <span class="insert">control</span></td><td class="lineno" valign="top"></td></tr>399 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"></span></td><td> </td><td class="rblock"> and <span class="insert">authentication. Right now</span> it only <span class="insert">includes</span> the <span class="insert">extracted</span></td><td class="lineno" valign="top"></td></tr>400 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> The Hypertext Transfer Protocol (HTTP) is an application-level</span></td><td> </td><td class="rblock"><span class="insert"> relevant sections</span> of <span class="insert">RFC 2616 [RFC2616]</span> with only minor <span class="insert">edits.</span></td><td class="lineno" valign="top"></td></tr>393 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">1.1. Purpose</span></td><td> </td><td class="rblock"><span class="insert"> This document will define aspects of HTTP related to access control</span></td><td class="lineno" valign="top"></td></tr> 394 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> </span></td><td> </td><td class="rblock"> <span class="insert">and authentication. Right now it only includes the extracted</span></td><td class="lineno" valign="top"></td></tr> 395 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">The Hypertext Transfer Protocol (HTTP) is an application-level</span></td><td> </td><td class="rblock"> <span class="insert">relevant sections of RFC 2616 [RFC2616] with only minor edits.</span></td><td class="lineno" valign="top"></td></tr> 401 396 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> protocol for distributed, collaborative, hypermedia information</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 402 397 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> systems. HTTP has been in use by the World-Wide Web global</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 414 409 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> communicating applications to determine each other's true</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 415 410 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> capabilities.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 416 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>411 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 417 412 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> This specification defines the protocol referred to as "HTTP/1.1".</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 418 <tr><td class="lineno" valign="top"></td><td class="lblock"> This <span class="delete">protocol includes more stringent requirements than HTTP/1.0 in</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>413 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> This protocol includes more stringent requirements than HTTP/1.0 in</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 419 414 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> order to ensure reliable implementation of its features.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 420 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>415 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 421 416 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Practical information systems require more functionality than simple</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 422 417 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> retrieval, including search, front-end update, and annotation. HTTP</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 423 418 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> allows an open-ended set of methods and headers that indicate the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 424 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> purpose of a request [RFC2324]. It builds on the discipline </span> of</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>425 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">reference provided by the Uniform Resource Identifier (URI)</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>419 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> purpose of a request [RFC2324]. It builds on the discipline of</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 420 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> reference provided by the Uniform Resource Identifier (URI)</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 426 421 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> [RFC1630], as a location (URL) [RFC1738] or name (URN) [RFC1737], for</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 427 422 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> indicating the resource to which a method is to be applied. Messages</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 429 424 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> as defined by the Multipurpose Internet Mail Extensions (MIME)</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 430 425 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> [RFC2045].</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 431 <tr><td class="lineno" valign="top"></td><td class="lblock"> 432 <tr><td class="lineno" valign="top"></td><td class="lblock"> HTTP <span class="delete">is also used as a generic protocol for communication between</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>433 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> user agents and proxies/gateways </span> to <span class="delete">other Internet systems, including</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>426 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 427 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> HTTP is also used as a generic protocol for communication between</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 428 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> user agents and proxies/gateways to other Internet systems, including</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 434 429 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> those supported by the SMTP [RFC821], NNTP [RFC977], FTP [RFC959],</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 435 430 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Gopher [RFC1436], and WAIS [WAIS] protocols. In this way, HTTP</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 436 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> allows basic hypermedia </span> access <span class="delete">to resources available from diverse</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>431 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> allows basic hypermedia access to resources available from diverse</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 437 432 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> applications.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 438 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>433 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 439 434 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">1.2. Requirements</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 440 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>435 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 441 436 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 442 437 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 443 438 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> document are to be interpreted as described in RFC 2119 [RFC2119].</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 444 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>439 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 445 440 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> An implementation is not compliant if it fails to satisfy one or more</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 446 441 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> of the MUST or REQUIRED level requirements for the protocols it</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 451 446 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> level requirements for its protocols is said to be "conditionally</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 452 447 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> compliant."</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 453 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>448 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 454 449 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">1.3. Terminology</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 455 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>450 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 456 451 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> This specification uses a number of terms to refer to the roles</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 457 452 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> played by participants in, and objects of, the HTTP communication.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 458 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>453 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 459 454 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> connection</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 460 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>455 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 461 456 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A transport layer virtual circuit established between two programs</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 462 457 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> for the purpose of communication.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 463 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>458 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 464 459 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> message</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 465 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>460 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 466 461 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The basic unit of HTTP communication, consisting of a structured</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 467 462 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> sequence of octets matching the syntax defined in Section 4 and</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 468 463 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> transmitted via the connection.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 469 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>464 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 470 465 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> request</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 471 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>466 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 472 467 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> An HTTP request message, as defined in Section 5.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 473 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>468 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 474 469 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> response</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 475 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>470 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 476 471 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> An HTTP response message, as defined in Section 6.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 477 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>472 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 478 473 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> resource</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 479 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>474 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 480 475 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A network data object or service that can be identified by a URI,</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 481 476 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> as defined in Section 3.2. Resources may be available in multiple</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 482 477 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> representations (e.g. multiple languages, data formats, size, and</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 483 478 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> resolutions) or vary in other ways.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 484 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>479 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 485 480 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> entity</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 486 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>481 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 487 482 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The information transferred as the payload of a request or</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 488 483 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> response. An entity consists of metainformation in the form of</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 489 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> entity-header fields </span> and <span class="delete">content in the form of an entity-body, as</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>484 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> entity-header fields and content in the form of an entity-body, as</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 490 485 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> described in Section 7.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 491 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>486 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 492 487 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> representation</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 493 488 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> An entity included with a response that is subject to content</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 494 489 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> negotiation, as described in Section 12. There may exist multiple</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 495 490 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> representations associated with a particular response status.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 496 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>491 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 497 492 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> content negotiation</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 498 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>493 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 499 494 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The mechanism for selecting the appropriate representation when</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 500 495 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> servicing a request, as described in Section 12. The</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 501 496 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> representation of entities in any response can be negotiated</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 502 497 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> (including error responses).</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 503 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>498 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 504 499 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> variant</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 505 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>500 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 506 501 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A resource may have one, or more than one, representation(s)</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 507 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> associated with </span> it <span class="delete">at any given instant. Each of these</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>502 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> associated with it at any given instant. Each of these</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 508 503 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> representations is termed a `varriant'. Use of the term `variant'</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 509 504 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> does not necessarily imply that the resource is subject to content</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 510 505 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> negotiation.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 511 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>506 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 512 507 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> client</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 513 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>508 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 514 509 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A program that establishes connections for the purpose of sending</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 515 510 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> requests.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 516 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>511 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 517 512 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> user agent</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 518 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>513 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 519 514 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The client which initiates a request. These are often browsers,</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 520 515 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> editors, spiders (web-traversing robots), or other end user tools.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 521 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>516 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 522 517 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> server</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 523 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>518 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 524 519 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> An application program that accepts connections in order to</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 525 520 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> service requests by sending back responses. Any given program may</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 526 521 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> be capable of being both a client and a server; our use of these</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 527 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> terms refers </span> only <span class="delete">to the role being performed by the program for a</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>522 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> terms refers only to the role being performed by the program for a</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 528 523 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> particular connection, rather than to the program's capabilities</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 529 524 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> in general. Likewise, any server may act as an origin server,</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 530 525 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> proxy, gateway, or tunnel, switching behavior based on the nature</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 531 526 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> of each request.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 532 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>527 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 533 528 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> origin server</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 534 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>529 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 535 530 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The server on which a given resource resides or is to be created.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 536 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>531 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 537 532 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> proxy</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 538 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>533 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 539 534 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> An intermediary program which acts as both a server and a client</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 540 535 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> for the purpose of making requests on behalf of other clients.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 541 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>536 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 542 537 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Requests are serviced internally or by passing them on, with</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 543 538 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> possible translation, to other servers. A proxy MUST implement</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 552 547 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> behavior is explicitly stated, the HTTP proxy requirements apply</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 553 548 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> to both types of proxies.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 554 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>549 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 555 550 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> gateway</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 556 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>551 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 557 552 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A server which acts as an intermediary for some other server.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 558 553 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Unlike a proxy, a gateway receives requests as if it were the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 559 554 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> origin server for the requested resource; the requesting client</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 560 555 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> may not be aware that it is communicating with a gateway.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 561 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>556 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 562 557 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> tunnel</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 563 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>558 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 564 559 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> An intermediary program which is acting as a blind relay between</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 565 560 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> two connections. Once active, a tunnel is not considered a party</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 567 562 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> initiated by an HTTP request. The tunnel ceases to exist when</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 568 563 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> both ends of the relayed connections are closed.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 569 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>564 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 570 565 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> cache</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 571 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>566 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 572 567 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A program's local store of response messages and the subsystem</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 573 568 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> that controls its message storage, retrieval, and deletion. A</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 576 571 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> requests. Any client or server may include a cache, though a</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 577 572 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> cache cannot be used by a server that is acting as a tunnel.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 578 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>573 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 579 574 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> cacheable</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 580 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>575 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 581 576 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A response is cacheable if a cache is allowed to store a copy of</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 582 577 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> the response message for use in answering subsequent requests.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 585 580 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> be additional constraints on whether a cache can use the cached</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 586 581 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> copy for a particular request.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 587 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>582 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 588 583 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> first-hand</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 589 584 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A response is first-hand if it comes directly and without</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 591 586 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> proxies. A response is also first-hand if its validity has just</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 592 587 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> been checked directly with the origin server.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 593 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>588 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 594 589 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> explicit expiration time</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 595 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>590 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 596 591 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The time at which the origin server intends that an entity should</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 597 592 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> no longer be returned by a cache without further validation.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 598 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>593 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 599 594 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> heuristic expiration time</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 600 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>595 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 601 596 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> An expiration time assigned by a cache when no explicit expiration</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 602 597 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> time is available.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 603 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>598 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 604 599 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> age</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 605 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>600 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 606 601 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The age of a response is the time since it was sent by, or</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 607 602 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> successfully validated with, the origin server.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 608 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>603 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 609 604 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> freshness lifetime</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 610 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>605 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 611 606 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The length of time between the generation of a response and its</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 612 607 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> expiration time.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 613 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>608 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 614 609 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> fresh</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 615 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>610 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 616 611 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A response is fresh if its age has not yet exceeded its freshness</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 617 612 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> lifetime.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 618 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>613 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 619 614 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> stale</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 620 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>615 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 621 616 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A response is stale if its age has passed its freshness lifetime.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 622 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>617 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 623 618 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> semantically transparent</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 624 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>619 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 625 620 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A cache behaves in a "semantically transparent" manner, with</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 626 621 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> respect to a particular response, when its use affects neither the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 630 625 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> that it would have received had its request been handled directly</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 631 626 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> by the origin server.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 632 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>627 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 633 628 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> validator</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 634 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>629 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 635 630 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A protocol element (e.g., an entity tag or a Last-Modified time)</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 636 631 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> that is used to find out whether a cache entry is an equivalent</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 637 632 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> copy of an entity.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 638 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>633 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 639 634 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> upstream/downstream</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 640 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>635 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 641 636 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Upstream and downstream describe the flow of a message: all</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 642 637 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> messages flow from upstream to downstream.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 643 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>638 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 644 639 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> inbound/outbound</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 645 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>640 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 646 641 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Inbound and outbound refer to the request and response paths for</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 647 642 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> messages: "inbound" means "traveling toward the origin server",</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 648 643 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> and "outbound" means "traveling toward the user agent"</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 649 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>644 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 650 645 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">1.4. Overall Operation</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 651 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>646 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 652 647 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The HTTP protocol is a request/response protocol. A client sends a</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 653 648 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> request to the server in the form of a request method, URI, and</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 659 654 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> metainformation, and possible entity-body content. The relationship</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 660 655 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> between HTTP and MIME is described in Appendix A.4.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 661 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>656 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 662 657 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Most HTTP communication is initiated by a user agent and consists of</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 663 658 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> a request to be applied to a resource on some origin server. In the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 664 659 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> simplest case, this may be accomplished via a single connection (v)</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 665 660 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> between the user agent (UA) and the origin server (O).</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 666 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>661 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 667 662 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> request chain ------------------------></span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 668 663 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> UA -------------------v------------------- O</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 669 664 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> <----------------------- response chain</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 670 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>665 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 671 666 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A more complicated situation occurs when one or more intermediaries</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 672 667 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> are present in the request/response chain. There are three common</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 680 675 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> without changing the messages; tunnels are used when the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 681 676 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> communication needs to pass through an intermediary (such as a</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 682 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> firewall) even when the intermediary cannot understand </span> the <span class="delete">contents</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>683 <tr><td class="lineno" valign="top"></td><td class="lblock"> of <span class="delete">the messages.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>684 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>677 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> firewall) even when the intermediary cannot understand the contents</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 678 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> of the messages.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 679 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 685 680 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> request chain --------------------------------------></span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 686 681 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> UA -----v----- A -----v----- B -----v----- C -----v----- O</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 687 682 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> <------------------------------------- response chain</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 688 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>683 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 689 684 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The figure above shows three intermediaries (A, B, and C) between the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 690 685 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> user agent and origin server. A request or response message that</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 691 686 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> travels the whole chain will pass through four separate connections.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 692 687 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> This distinction is important because some HTTP communication options</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 693 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> may apply only to the connection </span> with <span class="delete">the nearest, non-tunnel</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>694 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> neighbor, </span> only <span class="delete">to the end-points of the chain, or to all connections</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>688 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> may apply only to the connection with the nearest, non-tunnel</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 689 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> neighbor, only to the end-points of the chain, or to all connections</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 695 690 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> along the chain. Although the diagram is linear, each participant</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 696 691 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> may be engaged in multiple, simultaneous communications. For</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 698 693 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> and/or forwarding requests to servers other than C, at the same time</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 699 694 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> that it is handling A's request.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 700 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>695 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 701 696 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Any party to the communication which is not acting as a tunnel may</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 702 697 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> employ an internal cache for handling requests. The effect of a</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 706 701 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> cached copy of an earlier response from O (via C) for a request which</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 707 702 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> has not been cached by UA or A.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 708 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>703 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 709 704 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> request chain ----------></span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 710 705 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> UA -----v----- A -----v----- B - - - - - - C - - - - - - O</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 711 706 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> <--------- response chain</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 712 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>707 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 713 708 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Not all responses are usefully cacheable, and some requests may</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 714 709 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> contain modifiers which place special requirements on cache behavior.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 715 710 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> HTTP requirements for cache behavior and cacheable responses are</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 716 711 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> defined in Section 13.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 717 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>712 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 718 713 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> In fact, there are a wide variety of architectures and configurations</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 719 714 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> of caches and proxies currently being experimented with or deployed</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 729 724 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> reliability and, failing that, at least reliable indications of</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 730 725 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> failure.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 731 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>726 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 732 727 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> HTTP communication usually takes place over TCP/IP connections. The</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 733 728 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> default port is TCP 80 [RFC1700], but other ports can be used. This</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 738 733 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> onto the transport data units of the protocol in question is outside</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 739 734 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> the scope of this specification.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 740 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>735 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 741 736 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> In HTTP/1.0, most implementations used a new connection for each</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 742 737 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> request/response exchange. In HTTP/1.1, a connection may be used for</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 743 738 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> one or more request/response exchanges, although connections may be</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 744 739 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> closed for a variety of reasons (see Section 8.1).</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 745 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>740 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 746 741 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">2. Notational Conventions and Generic Grammar</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 747 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>742 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 748 743 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">2.1. Augmented BNF</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 749 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>744 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 750 745 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> All of the mechanisms specified in this document are described in</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 751 746 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> both prose and an augmented Backus-Naur Form (BNF) similar to that</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 753 748 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> the notation in order to understand this specification. The</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 754 749 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> augmented BNF includes the following constructs:</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 755 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>750 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 756 751 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> name = definition</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 757 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>752 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 758 753 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The name of a rule is simply the name itself (without any</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 759 754 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> enclosing "<" and ">") and is separated from its definition by the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 764 759 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> brackets are used within definitions whenever their presence will</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 765 760 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> facilitate discerning the use of rule names.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 766 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>761 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 767 762 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> "literal"</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 768 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>763 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 769 764 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Quotation marks surround literal text. Unless stated otherwise,</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 770 765 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> the text is case-insensitive.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 771 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>766 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 772 767 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> rule1 | rule2</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 773 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>768 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 774 769 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Elements separated by a bar ("|") are alternatives, e.g., "yes |</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 775 770 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> no" will accept yes or no.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 776 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>771 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 777 772 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> (rule1 rule2)</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 778 773 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Elements enclosed in parentheses are treated as a single element.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 779 774 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Thus, "(elem (foo | bar) elem)" allows the token sequences "elem</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 780 775 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> foo elem" and "elem bar elem".</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 781 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>776 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 782 777 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> *rule</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 783 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>778 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 784 779 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The character "*" preceding an element indicates repetition. The</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 785 780 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> full form is "<n>*<m>element" indicating at least <n> and at most</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 787 782 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> that "*(element)" allows any number, including zero; "1*element"</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 788 783 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> requires at least one; and "1*2element" allows one or two.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 789 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>784 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 790 785 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> [rule]</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 791 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>786 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 792 787 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Square brackets enclose optional elements; "[foo bar]" is</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 793 788 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> equivalent to "*1(foo bar)".</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 794 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>789 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 795 790 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> N rule</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 796 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>791 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 797 792 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Specific repetition: "<n>(element)" is equivalent to</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 798 793 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> "<n>*<n>(element)"; that is, exactly <n> occurrences of (element).</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 799 794 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Thus 2DIGIT is a 2-digit number, and 3ALPHA is a string of three</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 800 795 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> alphabetic characters.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 801 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>796 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 802 797 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> #rule</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 803 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>798 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 804 799 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A construct "#" is defined, similar to "*", for defining lists of</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 805 800 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> elements. The full form is "<n>#<m>element" indicating at least</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 807 802 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> (",") and OPTIONAL linear white space (LWS). This makes the usual</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 808 803 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> form of lists very easy; a rule such as</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 809 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>804 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 810 805 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> ( *LWS element *( *LWS "," *LWS element ))</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 811 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>806 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 812 807 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> can be shown as</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 813 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>808 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 814 809 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 1#element</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 815 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>810 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 816 811 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Wherever this construct is used, null elements are allowed, but do</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 817 812 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> not contribute to the count of elements present. That is,</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 822 817 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> "1#element" requires at least one; and "1#2element" allows one or</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 823 818 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> two.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 824 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>819 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 825 820 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> ; comment</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 826 821 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A semi-colon, set off some distance to the right of rule text,</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 828 823 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> simple way of including useful notes in parallel with the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 829 824 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> specifications.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 830 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>825 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 831 826 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> implied *LWS</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 832 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>827 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 833 828 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The grammar described by this specification is word-based. Except</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 834 829 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> where noted otherwise, linear white space (LWS) can be included</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 839 834 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> of "token" below), since they would otherwise be interpreted as a</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 840 835 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> single token.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 841 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>836 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 842 837 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">2.2. Basic Rules</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 843 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>838 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 844 839 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The following rules are used throughout this specification to</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 845 840 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> describe basic parsing constructs. The US-ASCII coded character set</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 846 841 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> is defined by ANSI X3.4-1986 [USASCII].</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 847 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>842 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 848 843 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> OCTET = <any 8-bit sequence of data></span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 849 844 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> CHAR = <any US-ASCII character (octets 0 - 127)></span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 859 854 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> HT = <US-ASCII HT, horizontal-tab (9)></span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 860 855 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> <"> = <US-ASCII double-quote mark (34)></span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 861 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>856 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 862 857 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> HTTP/1.1 defines the sequence CR LF as the end-of-line marker for all</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 863 858 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> protocol elements except the entity-body (see Appendix A.3 for</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 864 859 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> tolerant applications). The end-of-line marker within an entity-body</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 865 860 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> is defined by its associated media type, as described in Section 3.7.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 866 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>861 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 867 862 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> CRLF = CR LF</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 868 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>863 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 869 864 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> HTTP/1.1 header field values can be folded onto multiple lines if the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 870 865 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> continuation line begins with a space or horizontal tab. All linear</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 872 867 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> recipient MAY replace any linear white space with a single SP before</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 873 868 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> interpreting the field value or forwarding the message downstream.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 874 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>869 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 875 870 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> LWS = [CRLF] 1*( SP | HT )</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 876 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>871 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 877 872 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The TEXT rule is only used for descriptive field contents and values</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 878 873 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> that are not intended to be interpreted by the message parser. Words</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 880 875 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 8859-1 [ISO-8859] only when encoded according to the rules of RFC</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 881 876 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 2047 [RFC2047].</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 882 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>877 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 883 878 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> TEXT = <any OCTET except CTLs,</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 884 879 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> but including LWS></span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 885 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>880 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 886 881 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A CRLF is allowed in the definition of TEXT only as part of a header</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 887 882 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> field continuation. It is expected that the folding LWS will be</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 888 883 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> replaced with a single SP before interpretation of the TEXT value.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 889 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>884 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 890 885 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Hexadecimal numeric characters are used in several protocol elements.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 891 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>886 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 892 887 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> HEX = "A" | "B" | "C" | "D" | "E" | "F"</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 893 888 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> | "a" | "b" | "c" | "d" | "e" | "f" | DIGIT</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 894 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>889 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 895 890 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Many HTTP/1.1 header field values consist of words separated by LWS</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 896 891 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> or special characters. These special characters MUST be in a quoted</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 897 892 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> string to be used within a parameter value (as defined in</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 898 893 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Section 3.6).</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 899 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>894 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 900 895 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> token = 1*<any CHAR except CTLs or separators></span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 901 896 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> separators = "(" | ")" | "<" | ">" | "@"</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 903 898 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> | "/" | "[" | "]" | "?" | "="</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 904 899 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> | "{" | "}" | SP | HT</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 905 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>900 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 906 901 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Comments can be included in some HTTP header fields by surrounding</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 907 902 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> the comment text with parentheses. Comments are only allowed in</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 909 904 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> In all other fields, parentheses are considered part of the field</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 910 905 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> value.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 911 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>906 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 912 907 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> comment = "(" *( ctext | quoted-pair | comment ) ")"</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 913 908 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> ctext = <any TEXT excluding "(" and ")"></span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 914 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>909 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 915 910 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A string of text is parsed as a single word if it is quoted using</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 916 911 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> double-quote marks.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 917 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>912 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 918 913 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> quoted-string = ( <"> *(qdtext | quoted-pair ) <"> )</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 919 914 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> qdtext = <any TEXT except <">></span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 920 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>915 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 921 916 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The backslash character ("\") MAY be used as a single-character</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 922 917 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> quoting mechanism only within quoted-string and comment constructs.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 923 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>918 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 924 919 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> quoted-pair = "\" CHAR</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 925 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>920 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 926 921 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3. Protocol Parameters</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 927 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>922 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 928 923 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3.1. HTTP Version</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 929 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>924 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 930 925 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> HTTP uses a "<major>.<minor>" numbering scheme to indicate versions</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 931 926 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> of the protocol. The protocol versioning policy is intended to allow</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 941 936 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> incremented when the format of a message within the protocol is</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 942 937 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> changed. See RFC 2145 [RFC2145] for a fuller explanation.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 943 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>938 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 944 939 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The version of an HTTP message is indicated by an HTTP-Version field</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 945 940 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> in the first line of the message.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 946 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>941 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 947 942 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> HTTP-Version = "HTTP" "/" 1*DIGIT "." 1*DIGIT</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 948 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>949 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Note that the major and </span> minor <span class="delete">numbers MUST be treated as separate</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>943 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 944 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Note that the major and minor numbers MUST be treated as separate</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 950 945 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> integers and that each MAY be incremented higher than a single digit.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 951 946 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Thus, HTTP/2.4 is a lower version than HTTP/2.13, which in turn is</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 952 947 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> lower than HTTP/12.3. Leading zeros MUST be ignored by recipients</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 953 948 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> and MUST NOT be sent.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 954 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>949 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 955 950 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> An application that sends a request or response message that includes</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 956 951 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> HTTP-Version of "HTTP/1.1" MUST be at least conditionally compliant</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 960 955 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> message that is not compatible with HTTP/1.0. For more details on</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 961 956 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> when to send specific HTTP-Version values, see RFC 2145 [RFC2145].</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 962 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>957 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 963 958 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The HTTP version of an application is the highest HTTP version for</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 964 959 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> which the application is at least conditionally compliant.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 965 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>960 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 966 961 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Proxy and gateway applications need to be careful when forwarding</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 967 962 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> messages in protocol versions different from that of the application.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 972 967 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> the request version, or respond with an error, or switch to tunnel</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 973 968 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> behavior.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 974 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>969 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 975 970 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Due to interoperability problems with HTTP/1.0 proxies discovered</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 976 971 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> since the publication of RFC 2068 [RFC2068], caching proxies MUST,</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 978 973 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> version they support. The proxy/gateway's response to that request</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 979 974 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> MUST be in the same major version as the request.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 980 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>975 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 981 976 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Note: Converting between versions of HTTP may involve modification</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 982 977 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> of header fields required or forbidden by the versions involved.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 983 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>978 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 984 979 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3.2. Uniform Resource Identifiers</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 985 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>980 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 986 981 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> URIs have been known by many names: WWW addresses, Universal Document</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 987 982 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Identifiers, Universal Resource Identifiers [RFC1630], and finally</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 990 985 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Identifiers are simply formatted strings which identify--via name,</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 991 986 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> location, or any other characteristic--a resource.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 992 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>987 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 993 988 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3.2.1. General Syntax</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 994 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>989 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 995 990 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> URIs in HTTP can be represented in absolute form or relative to some</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 996 991 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> known base URI [RFC1808], depending upon the context of their use.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1003 998 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> "absoluteURI", "relativeURI", "port", "host","abs_path", "rel_path",</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1004 999 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> and "authority" from that specification.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1005 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1000 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1006 1001 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The HTTP protocol does not place any a priori limit on the length of</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1007 1002 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> a URI. Servers MUST be able to handle the URI of any resource they</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1010 1005 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> SHOULD return 414 (Request-URI Too Long) status if a URI is longer</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1011 1006 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> than the server can handle (see Section 10.4.15).</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1012 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1007 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1013 1008 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Note: Servers ought to be cautious about depending on URI lengths</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1014 1009 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> above 255 bytes, because some older client or proxy</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1015 1010 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> implementations might not properly support these lengths.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1016 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1011 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1017 1012 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3.2.2. http URL</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1018 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1013 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1019 1014 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The "http" scheme is used to locate network resources via the HTTP</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1020 1015 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> protocol. This section defines the scheme-specific syntax and</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1021 1016 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> semantics for http URLs.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1022 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1017 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1023 1018 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1024 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1019 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1025 1020 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> If the port is empty or not given, port 80 is assumed. The semantics</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1026 1021 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> are that the identified resource is located at the server listening</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1034 1029 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> it received. If a proxy receives a fully qualified domain name, the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1035 1030 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> proxy MUST NOT change the host name.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1036 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1031 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1037 1032 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3.2.3. URI Comparison</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1038 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1033 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1039 1034 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> When comparing two URIs to decide if they match or not, a client</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1040 1035 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> SHOULD use a case-sensitive octet-by-octet comparison of the entire</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1041 1036 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> URIs, with these exceptions:</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1042 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1037 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1043 1038 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> o A port that is empty or not given is equivalent to the default</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1044 1039 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> port for that URI-reference;</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1045 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1040 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1046 1041 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> o Comparisons of host names MUST be case-insensitive;</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1047 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1042 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1048 1043 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> o Comparisons of scheme names MUST be case-insensitive;</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1049 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1044 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1050 1045 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> o An empty abs_path is equivalent to an abs_path of "/".</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1051 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1046 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1052 1047 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Characters other than those in the "reserved" and "unsafe" sets (see</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1053 1048 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> RFC 2396 [RFC2396]) are equivalent to their ""%" HEX HEX" encoding.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1054 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1049 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1055 1050 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> For example, the following three URIs are equivalent:</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1056 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1051 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1057 1052 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> http://abc.com:80/~smith/home.html</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1058 1053 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> http://ABC.com/%7Esmith/home.html</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1059 1054 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> http://ABC.com:/%7esmith/home.html</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1060 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1055 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1061 1056 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3.3. Date/Time Formats</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1062 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1057 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1063 1058 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3.3.1. Full Date</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1064 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1059 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1065 1060 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> HTTP applications have historically allowed three different formats</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1066 1061 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> for the representation of date/time stamps:</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1067 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1062 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1068 1063 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Sun, 06 Nov 1994 08:49:37 GMT ; RFC 822, updated by RFC 1123</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1069 1064 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1070 1065 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Sun Nov 6 08:49:37 1994 ; ANSI C's asctime() format</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1071 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1066 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1072 1067 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The first format is preferred as an Internet standard and represents</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1073 1068 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> a fixed-length subset of that defined by RFC 1123 [RFC1123] (an</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1079 1074 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> representing HTTP-date values in header fields. See Appendix A.3 for</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1080 1075 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> further information.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1081 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1076 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1082 1077 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Note: Recipients of date values are encouraged to be robust in</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1083 1078 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> accepting date values that may have been sent by non-HTTP</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1084 1079 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> applications, as is sometimes the case when retrieving or posting</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1085 1080 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> messages via proxies/gateways to SMTP or NNTP.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1086 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1081 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1087 1082 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> All HTTP date/time stamps MUST be represented in Greenwich Mean Time</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1088 1083 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> (GMT), without exception. For the purposes of HTTP, GMT is exactly</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1093 1088 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> additional LWS beyond that specifically included as SP in the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1094 1089 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> grammar.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1095 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1090 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1096 1091 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> HTTP-date = rfc1123-date | rfc850-date | asctime-date</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1097 1092 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> rfc1123-date = wkday "," SP date1 SP time SP "GMT"</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1113 1108 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> | "May" | "Jun" | "Jul" | "Aug"</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1114 1109 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> | "Sep" | "Oct" | "Nov" | "Dec"</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1115 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1110 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1116 1111 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Note: HTTP requirements for the date/time stamp format apply only to</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1117 1112 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> their usage within the protocol stream. Clients and servers are not</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1118 1113 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> required to use these formats for user presentation, request logging,</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1119 1114 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> etc.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1120 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1115 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1121 1116 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3.3.2. Delta Seconds</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1122 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1117 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1123 1118 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Some HTTP header fields allow a time value to be specified as an</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1124 1119 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> integer number of seconds, represented in decimal, after the time</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1125 1120 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> that the message was received.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1126 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1121 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1127 1122 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> delta-seconds = 1*DIGIT</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1128 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1123 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1129 1124 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3.4. Character Sets</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1130 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1125 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1131 1126 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> HTTP uses the same definition of the term "character set" as that</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1132 1127 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> described for MIME:</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1133 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1128 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1134 1129 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The term "character set" is used in this document to refer to a</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1135 1130 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> method used with one or more tables to convert a sequence of octets</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1145 1140 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> to characters. In particular, use of external profiling information</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1146 1141 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> to determine the exact mapping is not permitted.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1147 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1142 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1148 1143 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Note: This use of the term "character set" is more commonly</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1149 1144 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> referred to as a "character encoding." However, since HTTP and</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1150 1145 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> MIME share the same registry, it is important that the terminology</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1151 1146 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> also be shared.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1152 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1147 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1153 1148 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> HTTP character sets are identified by case-insensitive tokens. The</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1154 1149 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> complete set of tokens is defined by the IANA Character Set registry</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1155 1150 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> [RFC1700].</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1156 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1151 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1157 1152 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> charset = token</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1158 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1153 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1159 1154 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Although HTTP allows an arbitrary token to be used as a charset</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1160 1155 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> value, any token that has a predefined value within the IANA</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1162 1157 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> defined by that registry. Applications SHOULD limit their use of</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1163 1158 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> character sets to those defined by the IANA registry.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1164 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1159 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1165 1160 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Implementors should be aware of IETF character set requirements</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1166 1161 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> [RFC2279] [RFC2277].</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1167 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1162 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1168 1163 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3.4.1. Missing Charset</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1169 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1164 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1170 1165 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Some HTTP/1.0 software has interpreted a Content-Type header without</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1171 1166 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> charset parameter incorrectly to mean "recipient should guess."</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1173 1168 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> parameter even when the charset is ISO-8859-1 and SHOULD do so when</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1174 1169 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> it is known that it will not confuse the recipient.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1175 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1170 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1176 1171 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Unfortunately, some older HTTP/1.0 clients did not deal properly with</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1177 1172 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> an explicit charset parameter. HTTP/1.1 recipients MUST respect the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1181 1176 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> recipient's preference, when initially displaying a document. See</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1182 1177 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Section 3.7.1.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1183 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1178 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1184 1179 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3.5. Content Codings</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1185 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1180 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1186 1181 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Content coding values indicate an encoding transformation that has</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1187 1182 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> been or can be applied to an entity. Content codings are primarily</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1190 1185 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> and without loss of information. Frequently, the entity is stored in</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1191 1186 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> coded form, transmitted directly, and only decoded by the recipient.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1192 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1187 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1193 1188 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> content-coding = token</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1194 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1189 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1195 1190 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> All content-coding values are case-insensitive. HTTP/1.1 uses</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1196 1191 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> content-coding values in the Accept-Encoding (Section 14.3) and</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1199 1194 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> indicates what decoding mechanism will be required to remove the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1200 1195 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> encoding.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1201 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1196 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1202 1197 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The Internet Assigned Numbers Authority (IANA) acts as a registry for</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1203 1198 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> content-coding value tokens. Initially, the registry contains the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1204 1199 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> following tokens:</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1205 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1200 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1206 1201 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> gzip</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1207 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1202 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1208 1203 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> An encoding format produced by the file compression program "gzip"</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1209 1204 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> (GNU zip) as described in RFC 1952 [RFC1952]. This format is a</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1210 1205 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Lempel-Ziv coding (LZ77) with a 32 bit CRC.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1211 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1206 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1212 1207 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> compress</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1213 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1208 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1214 1209 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The encoding format produced by the common UNIX file compression</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1215 1210 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> program "compress". This format is an adaptive Lempel-Ziv-Welch</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1216 1211 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> coding (LZW).</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1217 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1212 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1218 1213 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Use of program names for the identification of encoding formats is</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1219 1214 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> not desirable and is discouraged for future encodings. Their use</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1222 1217 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> applications SHOULD consider "x-gzip" and "x-compress" to be</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1223 1218 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> equivalent to "gzip" and "compress" respectively.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1224 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1219 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1225 1220 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> deflate</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1226 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1221 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1227 1222 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The "zlib" format defined in RFC 1950 [RFC1950] in combination</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1228 1223 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> with the "deflate" compression mechanism described in RFC 1951</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1229 1224 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> [RFC1951].</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1230 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1225 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1231 1226 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> identity</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1232 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1227 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1233 1228 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The default (identity) encoding; the use of no transformation</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1234 1229 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> whatsoever. This content-coding is used only in the Accept-</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1235 1230 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Encoding header, and SHOULD NOT be used in the Content-Encoding</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1236 1231 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> header.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1237 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1232 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1238 1233 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> New content-coding value tokens SHOULD be registered; to allow</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1239 1234 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> interoperability between clients and servers, specifications of the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1241 1236 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> publicly available and adequate for independent implementation, and</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1242 1237 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> conform to the purpose of content coding defined in this section.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1243 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1238 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1244 1239 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3.6. Transfer Codings</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1245 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1240 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1246 1241 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Transfer-coding values are used to indicate an encoding</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1247 1242 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> transformation that has been, can be, or may need to be applied to an</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1249 1244 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> This differs from a content coding in that the transfer-coding is a</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1250 1245 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> property of the message, not of the original entity.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1251 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1246 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1252 1247 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> transfer-coding = "chunked" | transfer-extension</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1253 1248 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> transfer-extension = token *( ";" parameter )</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1254 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1249 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1255 1250 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Parameters are in the form of attribute/value pairs.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1256 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1251 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1257 1252 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> parameter = attribute "=" value</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1258 1253 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> attribute = token</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1259 1254 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> value = token | quoted-string</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1260 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1255 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1261 1256 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> All transfer-coding values are case-insensitive. HTTP/1.1 uses</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1262 1257 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> transfer-coding values in the TE header field (Section 14.39) and in</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1263 1258 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> the Transfer-Encoding header field (Section 14.41).</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1264 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1259 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1265 1260 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Whenever a transfer-coding is applied to a message-body, the set of</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1266 1261 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> transfer-codings MUST include "chunked", unless the message is</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1270 1265 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> than once to a message-body. These rules allow the recipient to</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1271 1266 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> determine the transfer-length of the message (Section 4.4).</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1272 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1267 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1273 1268 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Transfer-codings are analogous to the Content-Transfer-Encoding</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1274 1269 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> values of MIME [RFC2045], which were designed to enable safe</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1279 1274 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> (Section 7.2.2), or the desire to encrypt data over a shared</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1280 1275 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> transport.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1281 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1276 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1282 1277 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The Internet Assigned Numbers Authority (IANA) acts as a registry for</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1283 1278 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> transfer-coding value tokens. Initially, the registry contains the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1285 1280 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 3.6.2), "gzip" (Section 3.5), "compress" (Section 3.5), and "deflate"</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1286 1281 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> (Section 3.5).</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1287 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1282 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1288 1283 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> New transfer-coding value tokens SHOULD be registered in the same way</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1289 1284 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> as new content-coding value tokens (Section 3.5).</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1290 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1285 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1291 1286 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A server which receives an entity-body with a transfer-coding it does</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1292 1287 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> not understand SHOULD return 501 (Unimplemented), and close the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1293 1288 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> connection. A server MUST NOT send transfer-codings to an HTTP/1.0</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1294 1289 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> client.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1295 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1290 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1296 1291 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3.6.1. Chunked Transfer Coding</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1297 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1292 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1298 1293 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The chunked encoding modifies the body of a message in order to</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1299 1294 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> transfer it as a series of chunks, each with its own size indicator,</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1302 1297 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> the information necessary for the recipient to verify that it has</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1303 1298 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> received the full message.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1304 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1299 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1305 1300 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Chunked-Body = *chunk</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1306 1301 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> last-chunk</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1307 1302 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> trailer</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1308 1303 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> CRLF</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1309 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1304 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1310 1305 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> chunk = chunk-size [ chunk-extension ] CRLF</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1311 1306 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> chunk-data CRLF</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1312 1307 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> chunk-size = 1*HEX</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1313 1308 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> last-chunk = 1*("0") [ chunk-extension ] CRLF</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1314 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1309 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1315 1310 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> chunk-extension= *( ";" chunk-ext-name [ "=" chunk-ext-val ] )</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1316 1311 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> chunk-ext-name = token</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1318 1313 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> chunk-data = chunk-size(OCTET)</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1319 1314 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> trailer = *(entity-header CRLF)</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1320 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1315 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1321 1316 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The chunk-size field is a string of hex digits indicating the size of</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1322 1317 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> the chunk. The chunked encoding is ended by any chunk whose size is</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1323 1318 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> zero, followed by the trailer, which is terminated by an empty line.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1324 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1319 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1325 1320 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The trailer allows the sender to include additional HTTP header</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1326 1321 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> fields at the end of the message. The Trailer header field can be</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1327 1322 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> used to indicate which header fields are included in a trailer (see</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1328 1323 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Section 14.40).</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1329 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1324 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1330 1325 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A server using chunked transfer-coding in a response MUST NOT use the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1331 1326 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> trailer for any header fields unless at least one of the following is</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1332 1327 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> true:</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1333 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1328 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1334 1329 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 1. the request included a TE header field that indicates "trailers"</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1335 1330 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> is acceptable in the transfer-coding of the response, as</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1342 1337 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> trailer fields might be silently discarded along the path to the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1343 1338 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> client.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1344 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1339 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1345 1340 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> This requirement prevents an interoperability failure when the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1346 1341 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> message is being received by an HTTP/1.1 (or later) proxy and</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1348 1343 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> compliance with the protocol would have necessitated a possibly</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1349 1344 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> infinite buffer on the proxy.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1350 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1345 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1351 1346 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> An example process for decoding a Chunked-Body is presented in</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1352 1347 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Appendix A.4.6.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1353 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1348 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1354 1349 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> All HTTP/1.1 applications MUST be able to receive and decode the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1355 1350 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> "chunked" transfer-coding, and MUST ignore chunk-extension extensions</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1356 1351 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> they do not understand.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1357 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1352 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1358 1353 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3.7. Media Types</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1359 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1354 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1360 1355 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> HTTP uses Internet Media Types [RFC1590] in the Content-Type</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1361 1356 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> (Section 14.17) and Accept (Section 14.1) header fields in order to</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1362 1357 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> provide open and extensible data typing and type negotiation.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1363 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1358 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1364 1359 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> media-type = type "/" subtype *( ";" parameter )</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1365 1360 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> type = token</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1366 1361 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> subtype = token</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1367 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1362 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1368 1363 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Parameters MAY follow the type/subtype in the form of attribute/value</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1369 1364 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> pairs (as defined in Section 3.6).</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1370 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1365 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1371 1366 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The type, subtype, and parameter attribute names are case-</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1372 1367 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> insensitive. Parameter values might or might not be case-sensitive,</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1376 1371 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> might be significant to the processing of a media-type, depending on</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1377 1372 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> its definition within the media type registry.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1378 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1373 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1379 1374 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Note that some older HTTP applications do not recognize media type</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1380 1375 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> parameters. When sending data to older HTTP applications,</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1381 1376 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> implementations SHOULD only use media type parameters when they are</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1382 1377 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> required by that type/subtype definition.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1383 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1378 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1384 1379 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Media-type values are registered with the Internet Assigned Number</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1385 1380 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Authority (IANA [RFC1700]). The media type registration process is</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1386 1381 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> outlined in RFC 1590 [RFC1590]. Use of non-registered media types is</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1387 1382 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> discouraged.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1388 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1383 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1389 1384 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3.7.1. Canonicalization and Text Defaults</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1390 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1385 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1391 1386 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Internet media types are registered with a canonical form. An</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1392 1387 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> entity-body transferred via HTTP messages MUST be represented in the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1393 1388 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> appropriate canonical form prior to its transmission except for</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1394 1389 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> "text" types, as defined in the next paragraph.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1395 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1390 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1396 1391 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> When in canonical form, media subtypes of the "text" type use CRLF as</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1397 1392 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> the text line break. HTTP relaxes this requirement and allows the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1408 1403 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> or LF MUST NOT be substituted for CRLF within any of the HTTP control</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1409 1404 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> structures (such as header fields and multipart boundaries).</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1410 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1405 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1411 1406 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> If an entity-body is encoded with a content-coding, the underlying</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1412 1407 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> data MUST be in a form defined above prior to being encoded.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1413 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1408 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1414 1409 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The "charset" parameter is used with some media types to define the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1415 1410 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> character set (Section 3.4) of the data. When no explicit charset</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1419 1414 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> its subsets MUST be labeled with an appropriate charset value. See</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1420 1415 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Section 3.4.1 for compatibility problems.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1421 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1416 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1422 1417 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3.7.2. Multipart Types</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1423 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1418 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1424 1419 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> MIME provides for a number of "multipart" types -- encapsulations of</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1425 1420 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> one or more entities within a single message-body. All multipart</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1434 1429 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> message-body, wherein the "end" of the message-body is indicated by</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1435 1430 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> the ending multipart boundary.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1436 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1431 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1437 1432 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> In general, HTTP treats a multipart message-body no differently than</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1438 1433 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> any other media type: strictly as payload. The one exception is the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1445 1440 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> body do not have any significance to HTTP beyond that defined by</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1446 1441 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> their MIME semantics.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1447 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1442 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1448 1443 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> In general, an HTTP user agent SHOULD follow the same or similar</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1449 1444 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> behavior as a MIME user agent would upon receipt of a multipart type.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1450 1445 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> If an application receives an unrecognized multipart subtype, the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1451 1446 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> application MUST treat it as being equivalent to "multipart/mixed".</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1452 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1447 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1453 1448 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Note: The "multipart/form-data" type has been specifically defined</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1454 1449 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> for carrying form data suitable for processing via the POST</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1455 1450 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> request method, as described in RFC 1867 [RFC1867].</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1456 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1451 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1457 1452 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3.8. Product Tokens</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1458 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1453 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1459 1454 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Product tokens are used to allow communicating applications to</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1460 1455 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> identify themselves by software name and version. Most fields using</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1463 1458 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> convention, the products are listed in order of their significance</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1464 1459 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> for identifying the application.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1465 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1460 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1466 1461 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> product = token ["/" product-version]</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1467 1462 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> product-version = token</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1468 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1463 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1469 1464 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Examples:</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1470 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1465 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1471 1466 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> User-Agent: CERN-LineMode/2.15 libwww/2.17b3</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1472 1467 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Server: Apache/0.8.4</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1473 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1468 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1474 1469 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Product tokens SHOULD be short and to the point. They MUST NOT be</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1475 1470 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> used for advertising or other non-essential information. Although</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1478 1473 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> versions of the same product SHOULD only differ in the product-</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1479 1474 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> version portion of the product value).</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1480 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1475 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1481 1476 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3.9. Quality Values</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1482 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1477 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1483 1478 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> HTTP content negotiation (Section 12) uses short "floating point"</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1484 1479 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> numbers to indicate the relative importance ("weight") of various</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1490 1485 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> decimal point. User configuration of these values SHOULD also be</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1491 1486 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> limited in this fashion.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1492 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1487 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1493 1488 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> qvalue = ( "0" [ "." 0*3DIGIT ] )</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1494 1489 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> | ( "1" [ "." 0*3("0") ] )</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1495 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1490 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1496 1491 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> "Quality values" is a misnomer, since these values merely represent</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1497 1492 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> relative degradation in desired quality.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1498 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1493 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1499 1494 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3.10. Language Tags</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1500 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1495 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1501 1496 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A language tag identifies a natural language spoken, written, or</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1502 1497 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> otherwise conveyed by human beings for communication of information</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1504 1499 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> HTTP uses language tags within the Accept-Language and Content-</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1505 1500 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Language fields.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1506 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1501 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1507 1502 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The syntax and registry of HTTP language tags is the same as that</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1508 1503 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> defined by RFC 1766 [RFC1766]. In summary, a language tag is</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1509 1504 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> composed of 1 or more parts: A primary language tag and a possibly</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1510 1505 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> empty series of subtags:</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1511 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1506 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1512 1507 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> language-tag = primary-tag *( "-" subtag )</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1513 1508 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> primary-tag = 1*8ALPHA</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1514 1509 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> subtag = 1*8ALPHA</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1515 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1510 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1516 1511 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> White space is not allowed within the tag and all tags are case-</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1517 1512 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> insensitive. The name space of language tags is administered by the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1518 1513 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> IANA. Example tags include:</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1519 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1514 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1520 1515 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> en, en-US, en-cockney, i-cherokee, x-pig-latin</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1521 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1516 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1522 1517 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> where any two-letter primary-tag is an ISO-639 language abbreviation</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1523 1518 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> and any two-letter initial subtag is an ISO-3166 country code. (The</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1524 1519 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> last three tags above are not registered tags; all but the last are</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1525 1520 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> examples of tags which could be registered in future.)</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1526 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1521 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1527 1522 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3.11. Entity Tags</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1528 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1523 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1529 1524 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Entity tags are used for comparing two or more entities from the same</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1530 1525 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> requested resource. HTTP/1.1 uses entity tags in the ETag</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1534 1529 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> in Section 13.3.3. An entity tag consists of an opaque quoted</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1535 1530 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> string, possibly prefixed by a weakness indicator.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1536 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1531 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1537 1532 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> entity-tag = [ weak ] opaque-tag</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1538 1533 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> weak = "W/"</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1539 1534 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> opaque-tag = quoted-string</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1540 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1535 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1541 1536 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A "strong entity tag" MAY be shared by two entities of a resource</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1542 1537 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> only if they are equivalent by octet equality.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1543 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1538 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1544 1539 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A "weak entity tag," indicated by the "W/" prefix, MAY be shared by</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1545 1540 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> two entities of a resource only if the entities are equivalent and</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1546 1541 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> could be substituted for each other with no significant change in</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1547 1542 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> semantics. A weak entity tag can only be used for weak comparison.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1548 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1543 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1549 1544 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> An entity tag MUST be unique across all versions of all entities</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1550 1545 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> associated with a particular resource. A given entity tag value MAY</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1553 1548 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> requests on different URIs does not imply the equivalence of those</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1554 1549 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> entities.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1555 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1550 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1556 1551 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3.12. Range Units</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1557 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1552 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1558 1553 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> HTTP/1.1 allows a client to request that only part (a range of) the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1559 1554 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> response entity be included within the response. HTTP/1.1 uses range</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1561 1556 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> header fields. An entity can be broken down into subranges according</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1562 1557 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> to various structural units.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1563 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1558 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1564 1559 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> range-unit = bytes-unit | other-range-unit</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1565 1560 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> bytes-unit = "bytes"</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1566 1561 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> other-range-unit = token</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1567 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1562 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1568 1563 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The only range unit defined by HTTP/1.1 is "bytes". HTTP/1.1</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1569 1564 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> implementations MAY ignore ranges specified using other units.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1570 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1565 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1571 1566 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> HTTP/1.1 has been designed to allow implementations of applications</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1572 1567 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> that do not depend on knowledge of ranges.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1573 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1568 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1574 1569 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">4. HTTP Message</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1575 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1570 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1576 1571 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">4.1. Message Types</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1577 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1572 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1578 1573 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> HTTP messages consist of requests from client to server and responses</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1579 1574 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> from server to client.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1580 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1575 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1581 1576 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> HTTP-message = Request | Response ; HTTP/1.1 messages</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1582 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1577 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1583 1578 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Request (Section 5) and Response (Section 6) messages use the generic</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1584 1579 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> message format of RFC 822 [RFC822] for transferring entities (the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1587 1582 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> line (i.e., a line with nothing preceding the CRLF) indicating the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1588 1583 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> end of the header fields, and possibly a message-body.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1589 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1584 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1590 1585 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> generic-message = start-line</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1591 1586 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> *(message-header CRLF)</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1593 1588 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> [ message-body ]</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1594 1589 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> start-line = Request-Line | Status-Line</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1595 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1590 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1596 1591 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> In the interest of robustness, servers SHOULD ignore any empty</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1597 1592 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> line(s) received where a Request-Line is expected. In other words,</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1598 1593 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> if the server is reading the protocol stream at the beginning of a</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1599 1594 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> message and receives a CRLF first, it should ignore the CRLF.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1600 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1595 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1601 1596 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Certain buggy HTTP/1.0 client implementations generate extra CRLF's</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1602 1597 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> after a POST request. To restate what is explicitly forbidden by the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1603 1598 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> BNF, an HTTP/1.1 client MUST NOT preface or follow a request with an</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1604 1599 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> extra CRLF.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1605 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1600 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1606 1601 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">4.2. Message Headers</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1607 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1602 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1608 1603 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> HTTP header fields, which include general-header (Section 4.5),</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1609 1604 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> request-header (Section 5.3), response-header (Section 6.2), and</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1618 1613 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> since there might exist some implementations that fail to accept</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1619 1614 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> anything beyond the common forms.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1620 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1615 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1621 1616 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> message-header = field-name ":" [ field-value ]</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1622 1617 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> field-name = token</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1625 1620 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> and consisting of either *TEXT or combinations</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1626 1621 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> of token, separators, and quoted-string></span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1627 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1622 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1628 1623 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The field-content does not include any leading or trailing LWS:</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1629 1624 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> linear white space occurring before the first non-whitespace</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1634 1629 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> before interpreting the field value or forwarding the message</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1635 1630 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> downstream.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1636 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1631 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1637 1632 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The order in which header fields with differing field names are</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1638 1633 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> received is not significant. However, it is "good practice" to send</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1639 1634 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> general-header fields first, followed by request-header or response-</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1640 1635 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> header fields, and ending with the entity-header fields.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1641 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1636 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1642 1637 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Multiple message-header fields with the same field-name MAY be</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1643 1638 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> present in a message if and only if the entire field-value for that</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1650 1645 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> interpretation of the combined field value, and thus a proxy MUST NOT</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1651 1646 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> change the order of these field values when a message is forwarded.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1652 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1647 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1653 1648 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">4.3. Message Body</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1654 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1649 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1655 1650 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The message-body (if any) of an HTTP message is used to carry the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1656 1651 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> entity-body associated with the request or response. The message-</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1658 1653 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> been applied, as indicated by the Transfer-Encoding header field</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1659 1654 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> (Section 14.41).</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1660 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1655 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1661 1656 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> message-body = entity-body</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1662 1657 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> | <entity-body encoded as per Transfer-Encoding></span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1663 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1658 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1664 1659 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Transfer-Encoding MUST be used to indicate any transfer-codings</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1665 1660 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> applied by an application to ensure safe and proper transfer of the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1668 1663 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> request/response chain. (However, Section 3.6 places restrictions on</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1669 1664 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> when certain transfer-codings may be used.)</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1670 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1665 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1671 1666 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The rules for when a message-body is allowed in a message differ for</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1672 1667 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> requests and responses.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1673 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1668 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1674 1669 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The presence of a message-body in a request is signaled by the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1675 1670 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> inclusion of a Content-Length or Transfer-Encoding header field in</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1680 1675 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> request method does not include defined semantics for an entity-body,</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1681 1676 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> then the message-body SHOULD be ignored when handling the request.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1682 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1677 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1683 1678 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> For response messages, whether or not a message-body is included with</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1684 1679 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> a message is dependent on both the request method and the response</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1689 1684 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> MUST NOT include a message-body. All other responses do include a</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1690 1685 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> message-body, although it MAY be of zero length.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1691 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1686 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1692 1687 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">4.4. Message Length</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1693 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1688 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1694 1689 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The transfer-length of a message is the length of the message-body as</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1695 1690 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> it appears in the message; that is, after any transfer-codings have</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1697 1692 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> transfer-length of that body is determined by one of the following</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1698 1693 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> (in order of precedence):</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1699 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1694 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1700 1695 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 1. Any response message which "MUST NOT" include a message-body</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1701 1696 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> (such as the 1xx, 204, and 304 responses and any response to a</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1703 1698 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> the header fields, regardless of the entity-header fields present</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1704 1699 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> in the message.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1705 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1700 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1706 1701 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 2. If a Transfer-Encoding header field (Section 14.41) is present</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1707 1702 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> and has any value other than "identity", then the transfer-length</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1708 1703 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> is defined by use of the "chunked" transfer-coding (Section 3.6),</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1709 1704 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> unless the message is terminated by closing the connection.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1710 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1705 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1711 1706 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 3. If a Content-Length header field (Section 14.13) is present, its</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1712 1707 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> decimal value in OCTETs represents both the entity-length and the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1716 1711 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> both a Transfer-Encoding header field and a Content-Length header</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1717 1712 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> field, the latter MUST be ignored.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1718 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1713 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1719 1714 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 4. If the message uses the media type "multipart/byteranges", and</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1720 1715 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> the ransfer-length is not otherwise specified, then this self-</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1724 1719 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> ultiple byte-range specifiers from a 1.1 client implies that the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1725 1720 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> lient can parse multipart/byteranges responses.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1726 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1721 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1727 1722 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A range header might be forwarded by a 1.0 proxy that does not</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1728 1723 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> understand multipart/byteranges; in this case the server MUST</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1729 1724 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> delimit the message using methods defined in items 1, 3 or 5</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1730 1725 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> of this section.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1731 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1726 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1732 1727 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 5. By the server closing the connection. (Closing the connection</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1733 1728 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> cannot be used to indicate the end of a request body, since that</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1734 1729 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> would leave no possibility for the server to send back a</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1735 1730 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> response.)</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1736 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1731 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1737 1732 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> For compatibility with HTTP/1.0 applications, HTTP/1.1 requests</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1738 1733 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> containing a message-body MUST include a valid Content-Length header</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1742 1737 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> determine the length of the message, or with 411 (length required) if</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1743 1738 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> it wishes to insist on receiving a valid Content-Length.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1744 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1739 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1745 1740 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> All HTTP/1.1 applications that receive entities MUST accept the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1746 1741 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> "chunked" transfer-coding (Section 3.6), thus allowing this mechanism</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1747 1742 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> to be used for messages when the message length cannot be determined</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1748 1743 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> in advance.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1749 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1744 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1750 1745 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Messages MUST NOT include both a Content-Length header field and a</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1751 1746 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> non-identity transfer-coding. If the message does include a non-</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1752 1747 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> identity transfer-coding, the Content-Length MUST be ignored.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1753 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1748 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1754 1749 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> When a Content-Length is given in a message where a message-body is</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1755 1750 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> allowed, its field value MUST exactly match the number of OCTETs in</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1756 1751 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> the message-body. HTTP/1.1 user agents MUST notify the user when an</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1757 1752 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> invalid length is received and detected.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1758 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1753 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1759 1754 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">4.5. General Header Fields</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1760 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1755 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1761 1756 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> There are a few header fields which have general applicability for</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1762 1757 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> both request and response messages, but which do not apply to the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1763 1758 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> entity being transferred. These header fields apply only to the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1764 1759 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> message being transmitted.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1765 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1760 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1766 1761 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> general-header = Cache-Control ; Section 14.9</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1767 1762 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> | Connection ; Section 14.10</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1773 1768 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> | Via ; Section 14.45</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1774 1769 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> | Warning ; Section 14.46</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1775 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1770 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1776 1771 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> General-header field names can be extended reliably only in</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1777 1772 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> combination with a change in the protocol version. However, new or</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1780 1775 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> be general-header fields. Unrecognized header fields are treated as</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1781 1776 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> entity-header fields.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1782 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1777 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1783 1778 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">5. Request</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1784 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1779 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1785 1780 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A request message from a client to a server includes, within the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1786 1781 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> first line of that message, the method to be applied to the resource,</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1787 1782 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> the identifier of the resource, and the protocol version in use.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1788 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1783 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1789 1784 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Request = Request-Line ; Section 5.1</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1790 1785 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> *(( general-header ; Section 4.5</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1793 1788 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> CRLF</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1794 1789 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> [ message-body ] ; Section 4.3</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1795 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1790 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1796 1791 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">5.1. Request-Line</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1797 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1792 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1798 1793 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The Request-Line begins with a method token, followed by the Request-</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1799 1794 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> URI and the protocol version, and ending with CRLF. The elements are</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1800 1795 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> separated by SP characters. No CR or LF is allowed except in the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1801 1796 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> final CRLF sequence.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1802 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1797 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1803 1798 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Request-Line = Method SP Request-URI SP HTTP-Version CRLF</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1804 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1799 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1805 1800 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">5.1.1. Method</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1806 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1801 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1807 1802 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The Method token indicates the method to be performed on the resource</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1808 1803 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> identified by the Request-URI. The method is case-sensitive.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1809 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1804 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1810 1805 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Method = "OPTIONS" ; Section 9.2</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1811 1806 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> | "GET" ; Section 9.3</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1818 1813 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> | extension-method</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1819 1814 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> extension-method = token</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1820 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1815 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1821 1816 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The list of methods allowed by a resource can be specified in an</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1822 1817 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Allow header field (Section 14.7). The return code of the response</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1831 1826 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> implemented, they MUST be implemented with the same semantics as</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1832 1827 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> those specified in Section 9.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1833 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1828 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1834 1829 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">5.1.2. Request-URI</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1835 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1830 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1836 1831 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The Request-URI is a Uniform Resource Identifier (Section 3.2) and</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1837 1832 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> identifies the resource upon which to apply the request.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1838 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1833 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1839 1834 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Request-URI = "*" | absoluteURI | abs_path | authority</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1840 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1835 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1841 1836 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The four options for Request-URI are dependent on the nature of the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1842 1837 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> request. The asterisk "*" means that the request does not apply to a</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1844 1839 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> when the method used does not necessarily apply to a resource. One</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1845 1840 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> example would be</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1846 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1841 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1847 1842 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> OPTIONS * HTTP/1.1</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1848 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1843 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1849 1844 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The absoluteURI form is REQUIRED when the request is being made to a</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1850 1845 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> proxy. The proxy is requested to forward the request or service it</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1855 1850 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> any aliases, local variations, and the numeric IP address. An</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1856 1851 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> example Request-Line would be:</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1857 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1852 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1858 1853 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> GET http://www.w3.org/pub/WWW/TheProject.html HTTP/1.1</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1859 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1854 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1860 1855 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> To allow for transition to absoluteURIs in all requests in future</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1861 1856 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> versions of HTTP, all HTTP/1.1 servers MUST accept the absoluteURI</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1862 1857 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> form in requests, even though HTTP/1.1 clients will only generate</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1863 1858 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> them in requests to proxies.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1864 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1859 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1865 1860 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The authority form is only used by the CONNECT method (Section 9.9).</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1866 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1861 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1867 1862 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The most common form of Request-URI is that used to identify a</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1868 1863 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> resource on an origin server or gateway. In this case the absolute</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1873 1868 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> create a TCP connection to port 80 of the host "www.w3.org" and send</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1874 1869 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> the lines:</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1875 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1870 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1876 1871 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> GET /pub/WWW/TheProject.html HTTP/1.1</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1877 1872 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Host: www.w3.org</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1878 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1873 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1879 1874 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> followed by the remainder of the Request. Note that the absolute</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1880 1875 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> path cannot be empty; if none is present in the original URI, it MUST</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1881 1876 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> be given as "/" (the server root).</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1882 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1877 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1883 1878 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The Request-URI is transmitted in the format specified in</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1884 1879 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Section 3.2.1. If the Request-URI is encoded using the "% HEX HEX"</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1886 1881 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> order to properly interpret the request. Servers SHOULD respond to</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1887 1882 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> invalid Request-URIs with an appropriate status code.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1888 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1883 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1889 1884 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A transparent proxy MUST NOT rewrite the "abs_path" part of the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1890 1885 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> received Request-URI when forwarding it to the next inbound server,</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1891 1886 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> except as noted above to replace a null abs_path with "/".</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1892 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1887 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1893 1888 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Note: The "no rewrite" rule prevents the proxy from changing the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1894 1889 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> meaning of the request when the origin server is improperly using</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1896 1891 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> should be aware that some pre-HTTP/1.1 proxies have been known to</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1897 1892 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> rewrite the Request-URI.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1898 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1893 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1899 1894 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">5.2. The Resource Identified by a Request</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1900 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1895 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1901 1896 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The exact resource identified by an Internet request is determined by</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1902 1897 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> examining both the Request-URI and the Host header field.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1903 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1898 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1904 1899 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> An origin server that does not allow resources to differ by the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1905 1900 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> requested host MAY ignore the Host header field value when</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1906 1901 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> determining the resource identified by an HTTP/1.1 request. (But see</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1907 1902 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Appendix A.6.1.1 for other requirements on Host support in HTTP/1.1.)</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1908 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1903 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1909 1904 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> An origin server that does differentiate resources based on the host</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1910 1905 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> requested (sometimes referred to as virtual hosts or vanity host</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1911 1906 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> names) MUST use the following rules for determining the requested</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1912 1907 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> resource on an HTTP/1.1 request:</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1913 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1908 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1914 1909 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 1. If Request-URI is an absoluteURI, the host is part of the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1915 1910 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Request-URI. Any Host header field value in the request MUST be</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1916 1911 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> ignored.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1917 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1912 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1918 1913 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 2. If the Request-URI is not an absoluteURI, and the request</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1919 1914 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> includes a Host header field, the host is determined by the Host</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1920 1915 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> header field value.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1921 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1916 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1922 1917 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 3. If the host as determined by rule 1 or 2 is not a valid host on</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1923 1918 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> the server, the response MUST be a 400 (Bad Request) error</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1924 1919 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> message.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1925 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1920 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1926 1921 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Recipients of an HTTP/1.0 request that lacks a Host header field MAY</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1927 1922 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> attempt to use heuristics (e.g., examination of the URI path for</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1928 1923 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> something unique to a particular host) in order to determine what</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1929 1924 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> exact resource is being requested.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1930 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1925 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1931 1926 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">5.3. Request Header Fields</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1932 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1927 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1933 1928 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The request-header fields allow the client to pass additional</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1934 1929 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> information about the request, and about the client itself, to the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1936 1931 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> equivalent to the parameters on a programming language method</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1937 1932 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> invocation.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1938 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1933 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1939 1934 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> request-header = Accept ; Section 14.1</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1940 1935 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> | Accept-Charset ; Section 14.2</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1956 1951 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> | TE ; Section 14.39</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1957 1952 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> | User-Agent ; Section 14.43</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1958 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1953 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1959 1954 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Request-header field names can be extended reliably only in</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1960 1955 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> combination with a change in the protocol version. However, new or</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1963 1958 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> be request-header fields. Unrecognized header fields are treated as</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1964 1959 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> entity-header fields.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1965 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1960 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1966 1961 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">6. Response</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1967 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1962 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1968 1963 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> After receiving and interpreting a request message, a server responds</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1969 1964 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> with an HTTP response message.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1970 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1965 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1971 1966 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Response = Status-Line ; Section 6.1</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1972 1967 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> *(( general-header ; Section 4.5</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1975 1970 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> CRLF</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1976 1971 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> [ message-body ] ; Section 7.2</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1977 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1972 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1978 1973 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">6.1. Status-Line</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1979 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1974 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1980 1975 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The first line of a Response message is the Status-Line, consisting</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1981 1976 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> of the protocol version followed by a numeric status code and its</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1983 1978 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> characters. No CR or LF is allowed except in the final CRLF</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1984 1979 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> sequence.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1985 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1980 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1986 1981 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1987 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1982 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1988 1983 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">6.1.1. Status Code and Reason Phrase</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1989 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1984 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1990 1985 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The Status-Code element is a 3-digit integer result code of the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1991 1986 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> attempt to understand and satisfy the request. These codes are fully</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1995 1990 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> user. The client is not required to examine or display the Reason-</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1996 1991 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Phrase.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1997 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1992 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1998 1993 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The first digit of the Status-Code defines the class of response.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1999 1994 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The last two digits do not have any categorization role. There are 5</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2000 1995 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> values for the first digit:</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2001 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1996 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2002 1997 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> o 1xx: Informational - Request received, continuing process</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2003 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1998 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2004 1999 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> o 2xx: Success - The action was successfully received, understood,</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2005 2000 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> and accepted</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2006 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>2001 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2007 2002 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> o 3xx: Redirection - Further action must be taken in order to</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2008 2003 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> complete the request</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2009 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>2004 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2010 2005 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> o 4xx: Client Error - The request contains bad syntax or cannot be</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2011 2006 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> fulfilled</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2012 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>2007 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2013 2008 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> o 5xx: Server Error - The server failed to fulfill an apparently</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2014 2009 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> valid request</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2015 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>2010 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2016 2011 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The individual values of the numeric status codes defined for</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2017 2012 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> HTTP/1.1, and an example set of corresponding Reason-Phrase's, are</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 2019 2014 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> recommendations -- they MAY be replaced by local equivalents without</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2020 2015 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> affecting the protocol.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2021 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>2016 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2022 2017 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Status-Code =</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2023 2018 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> "100" ; Section 10.1.1: Continue</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 2062 2057 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> | "505" ; Section 10.5.6: HTTP Version not supported</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2063 2058 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> | extension-code</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2064 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>2059 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2065 2060 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> extension-code = 3DIGIT</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2066 2061 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Reason-Phrase = *<TEXT, excluding CR, LF></span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2067 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>2062 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2068 2063 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> HTTP status codes are extensible. HTTP applications are not required</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2069 2064 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> to understand the meaning of all registered status codes, though such</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 2079 2074 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> with the response, since that entity is likely to include human-</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2080 2075 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> readable information which will explain the unusual status.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2081 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>2076 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2082 2077 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">6.2. Response Header Fields</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2083 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td cla