Changeset 61 for draft-ietf-httpbis/diffs/draft-ietf-httpbis-p3-payload-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-p3-payload-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 (if approved)</span> J. Gettys</td><td> </td><td class="rblock">Obsoletes: <span class="insert">2068, 2616</span>J. Gettys</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"><span class="delete">Expires: December 3, 1999 </span> J. Mogul</td><td> </td><td class="rblock">Intended status: Standards TrackJ. Mogul</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"><span class="insert">Expires: June 19, 2008 HP</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">Intended status: Standards Track</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">Expires: June 20, 2008 HP</span></td><td class="lineno" valign="top"></td></tr> 51 46 <tr><td class="lineno" valign="top"></td><td class="left"> H. Frystyk</td><td> </td><td class="right"> H. Frystyk</td><td class="lineno" valign="top"></td></tr> 52 47 <tr><td><a name="diff0002" /></td></tr> … … 60 55 <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> 61 56 <tr><td><a name="diff0004" /></td></tr> 62 <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>63 <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>57 <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> 58 <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> 64 59 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> HTTP/1.1, part 3: Message Payload and Content Negotiation</span></td><td class="lineno" valign="top"></td></tr> 65 60 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> draft-ietf-httpbis-p3-payload-00</span></td><td class="lineno" valign="top"></td></tr> … … 87 82 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 88 83 <tr><td><a name="diff0005" /></td></tr> 89 <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>84 <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> 90 85 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 91 86 <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> … … 99 94 <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> 100 95 <tr><td><a name="diff0007" /></td></tr> 101 <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>102 <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 3 of the</span></td><td class="lineno" valign="top"></td></tr>103 <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>104 <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 3 defines</span></td><td class="lineno" valign="top"></td></tr>105 <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"> HTTPmessage content, metadata, and content negotiation.</span></td><td class="lineno" valign="top"></td></tr>96 <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> 97 <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 3 of the</span></td><td class="lineno" valign="top"></td></tr> 98 <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> 99 <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 3 defines</span></td><td class="lineno" valign="top"></td></tr> 100 <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">message content, metadata, and content negotiation.</span></td><td class="lineno" valign="top"></td></tr> 106 101 <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> 107 <tr><td class="lineno" valign="top"></td><td class="lblock"> 108 <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>109 <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>110 <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>102 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 104 <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> 105 <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> 111 106 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 112 107 <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> … … 114 109 <tr><td><a name="diff0008" /></td></tr> 115 110 <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> 116 <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>117 <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>118 <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>119 <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>111 <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> 112 <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> 113 <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> 114 <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> 120 115 <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> 121 116 <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> 122 117 <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> 123 <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>118 <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> 124 119 <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> 125 120 <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> 126 121 <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> 127 <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>122 <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> 128 123 <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> 129 124 <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> … … 135 130 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 136 131 <tr><td><a name="diff0009" /></td></tr> 137 <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">5</span></td><td class="lineno" valign="top"></td></tr>138 <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. Protocol Parameters</span> . . . . . . . . . . . . . . . . . . . . . <span class="insert">5</span></td><td class="lineno" valign="top"></td></tr>139 <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. Character Sets</span> . . . . . . . . . . . . . . . . . . . . . . <span class="insert">5</span></td><td class="lineno" valign="top"></td></tr>140 <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.1.1. Missing Charset</span> . . . . . . . . . . . . . . . . . . . <span class="insert">6</span></td><td class="lineno" valign="top"></td></tr>141 <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"> 2.2. Content Codings</span> . . . . . . . . . . . . . . . . . . . . . <span class="insert">6</span></td><td class="lineno" valign="top"></td></tr>142 <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"> 2.3. Media Types</span> . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">7</span></td><td class="lineno" valign="top"></td></tr>143 <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"> 2.3.1. Canonicalization and Text Defaults</span> . . . . . . . . . . <span class="insert">8</span></td><td class="lineno" valign="top"></td></tr>144 <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"> 2.3.2. Multipart Types</span> . . . . . . . . . . . . . . . . . . . <span class="insert">9</span></td><td class="lineno" valign="top"></td></tr>145 <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"> 2.4. Quality Values</span> . . . . . . . . . . . . . . . . . . . . . . <span class="insert">9</span></td><td class="lineno" valign="top"></td></tr>146 <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"> 2.5. Language Tags</span> . . . . . . . . . . . . . . . . . . . . . . <span class="insert">10</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. Uniform Resource Identifiers . . . . . . . . . . . . . . 21</span></td><td> </td><td class="rblock"><span class="insert"> 3. Entity</span> . . . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">10</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.1. General Syntax . . . . . . . . . . . . . . . . . . . 21</span></td><td> </td><td class="rblock"><span class="insert"> 3.1. Entity Header Fields</span> . . . . . . . . . . . . . . . . . . . <span class="insert">10</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.2. http URL . . . . . . . . . . . . . . . . . . . . . . 22</span></td><td> </td><td class="rblock"><span class="insert"> 3.2. Entity Body</span> . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">11</span></td><td class="lineno" valign="top"></td></tr>150 <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"> 3.2.1. Type</span> . . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">11</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. Date/Time Formats . . . . . . . . . . . . . . . . . . . 23</span></td><td> </td><td class="rblock"><span class="insert"> 3.2.2. Entity Length</span> . . . . . . . . . . . . . . . . . . . . <span class="insert">12</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.1. Full Date . . . . . . . . . . . . . . . . . . . . . 23</span></td><td> </td><td class="rblock"><span class="insert"> 4. Content Negotiation</span> . . . . . . . . . . . . . . . . . . . . . <span class="insert">12</span></td><td class="lineno" valign="top"></td></tr>153 <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"> 4.1. Server-driven Negotiation</span> . . . . . . . . . . . . . . . . <span class="insert">12</span></td><td class="lineno" valign="top"></td></tr>154 <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"><span class="insert"> 4.2. Agent-driven Negotiation</span> . . . . . . . . . . . . . . . . . <span class="insert">14</span></td><td class="lineno" valign="top"></td></tr>155 <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"><span class="insert"> 4.3. Transparent Negotiation</span> . . . . . . . . . . . . . . . . . <span class="insert">14</span></td><td class="lineno" valign="top"></td></tr>156 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.5. Content Codings . . . . . . . . . . . . . . . . . . . . 25</span></td><td> </td><td class="rblock"><span class="insert"> 5. Header Field Definitions</span> . . . . . . . . . . . . . . . . . . . <span class="insert">15</span></td><td class="lineno" valign="top"></td></tr>157 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.6. Transfer Codings . . . . . . . . . . . . . . . . . . . . 27</span></td><td> </td><td class="rblock"><span class="insert"> 5.1. Accept</span> . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">15</span></td><td class="lineno" valign="top"></td></tr>158 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.6.1. Chunked Transfer Coding . . . . . . . . . . . . . . 28</span></td><td> </td><td class="rblock"><span class="insert"> 5.2. Accept-Charset</span> . . . . . . . . . . . . . . . . . . . . . . <span class="insert">17</span></td><td class="lineno" valign="top"></td></tr>159 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.7. Media Types . . . . . . . . . . . . . . . . . . . . . . 29</span></td><td> </td><td class="rblock"><span class="insert"> 5.3. Accept-Encoding</span> . . . . . . . . . . . . . . . . . . . . . <span class="insert">17</span></td><td class="lineno" valign="top"></td></tr>160 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.7.1. Canonicalization and Text Defaults . . . . . . . . . 30</span></td><td> </td><td class="rblock"><span class="insert"> 5.4. Accept-Language</span> . . . . . . . . . . . . . . . . . . . . . <span class="insert">19</span></td><td class="lineno" valign="top"></td></tr>161 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.7.2. Multipart Types . . . . . . . . . . . . . . . . . . 30</span></td><td> </td><td class="rblock"><span class="insert"> 5.5. Content-Encoding</span> . . . . . . . . . . . . . . . . . . . . . <span class="insert">20</span></td><td class="lineno" valign="top"></td></tr>162 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.8. Product Tokens . . . . . . . . . . . . . . . . . . . . . 31</span></td><td> </td><td class="rblock"><span class="insert"> 5.6. Content-Language</span> . . . . . . . . . . . . . . . . . . . . . <span class="insert">21</span></td><td class="lineno" valign="top"></td></tr>163 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.9. Quality Values . . . . . . . . . . . . . . . . . . . . . 32</span></td><td> </td><td class="rblock"><span class="insert"> 5.7. Content-Location</span> . . . . . . . . . . . . . . . . . . . . . <span class="insert">22</span></td><td class="lineno" valign="top"></td></tr>164 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.10. Language Tags . . . . . . . . . . . . . . . . . . . . . 32</span></td><td> </td><td class="rblock"><span class="insert"> 5.8. Content-MD5</span> . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">22</span></td><td class="lineno" valign="top"></td></tr>165 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.11. Entity Tags . . . . . . . . . . . . . . . . . . . . . . 33</span></td><td> </td><td class="rblock"><span class="insert"> 5.9. Content-Type</span> . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">24</span></td><td class="lineno" valign="top"></td></tr>166 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.12. Range Units . . . . . . . . . . . . . . . . . . . . . . 33</span></td><td> </td><td class="rblock"><span class="insert"> 6. IANA Considerations</span> . . . . . . . . . . . . . . . . . . . . . <span class="insert">24</span></td><td class="lineno" valign="top"></td></tr>167 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 4. HTTP Message . . . . . . . . . . . . . . . . . . . . . . . . 34</span></td><td> </td><td class="rblock"><span class="insert"> 7. Security Considerations</span> . . . . . . . . . . . . . . . . . . . <span class="insert">24</span></td><td class="lineno" valign="top"></td></tr>168 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 4.1. Message Types . . . . . . . . . . . . . . . . . . . . . 34</span></td><td> </td><td class="rblock"><span class="insert"> 7.1. Privacy Issues Connected to Accept Headers</span> . . . . . . . . <span class="insert">24</span></td><td class="lineno" valign="top"></td></tr>169 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 4.2. Message Headers . . . . . . . . . . . . . . . . . . . . 34</span></td><td> </td><td class="rblock"><span class="insert"> 7.2. Content-Disposition Issues</span> . . . . . . . . . . . . . . . . <span class="insert">25</span></td><td class="lineno" valign="top"></td></tr>170 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 4.3. Message Body . . . . . . . . . . . . . . . . . . . . . . 35</span></td><td> </td><td class="rblock"><span class="insert"> 8. Acknowledgments</span> . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">25</span></td><td class="lineno" valign="top"></td></tr>171 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 4.4. Message Length . . . . . . . . . . . . . . . . . . . . . 36</span></td><td> </td><td class="rblock"><span class="insert"> 9. References</span> . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">25</span></td><td class="lineno" valign="top"></td></tr>172 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 4.5. General Header Fields . . . . . . . . . . . . . . . . . 37</span></td><td> </td><td class="rblock"><span class="insert"> Appendix A.</span> Differences Between HTTP Entities and RFC 2045</td><td class="lineno" valign="top"></td></tr>173 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 5. Request . . . . . . . . . . . . . . . . . . . . . . . . . . . 38</span></td><td> </td><td class="rblock"> Entities . . . . . . . . . . . . . . . . . . . . . . <span class="insert">27</span></td><td class="lineno" valign="top"></td></tr>174 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 5.1. Request-Line . . . . . . . . . . . . . . . . . . . . . . 38</span></td><td> </td><td class="rblock"><span class="insert"> A.1. MIME-Version .</span> . . . . . . . . . . . . . . . . . . . . . . <span class="insert">28</span></td><td class="lineno" valign="top"></td></tr>175 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 5.1.1. Method . . . . . . . . . . . . . . . . . . . . . . . 38</span></td><td> </td><td class="rblock"><span class="insert"> A.2.</span> Conversion to Canonical Form . . . . . . . . . . . . . . . <span class="insert">28</span></td><td class="lineno" valign="top"></td></tr>176 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 5.1.2. Request-URI . . . . . . . . . . . . . . . . . . . . 39</span></td><td> </td><td class="rblock"><span class="insert"> A.3. Introduction of Content-Encoding</span> . . . . . . . . . . . . . <span class="insert">29</span></td><td class="lineno" valign="top"></td></tr>177 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 5.2. The Resource Identified by a Request . . . . . . . . . . 40</span></td><td> </td><td class="rblock"><span class="insert"> A.4. No Content-Transfer-Encoding</span> . . . . . . . . . . . . . . . <span class="insert">29</span></td><td class="lineno" valign="top"></td></tr>178 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 5.3. Request Header Fields . . . . . . . . . . . . . . . . . 41</span></td><td> </td><td class="rblock"><span class="insert"> A.5.</span> Introduction of Transfer-Encoding . . . . . . . . . <span class="insert">. . . 29</span></td><td class="lineno" valign="top"></td></tr>179 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 6. Response . . . . . . . . . . . . . . . . . . . . . . . . . . 42</span></td><td> </td><td class="rblock"><span class="insert"> A.6.</span> MHTML and Line Length Limitations . . . . . . . . . . . . <span class="insert">29</span></td><td class="lineno" valign="top"></td></tr>180 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 6.1. Status-Line . . . . . . . . . . . . . . . . . . . . . . 42</span></td><td> </td><td class="rblock"><span class="insert"> Appendix B. Additional Features</span> . . . . . . . . . . . . . . . . . <span class="insert">30</span></td><td class="lineno" valign="top"></td></tr>181 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 6.1.1. Status Code and Reason Phrase . . . . . . . . . . . 43</span></td><td> </td><td class="rblock"><span class="insert"> B.1. Content-Disposition</span> . . . . . . . . . . . . . . . . . . . <span class="insert">30</span></td><td class="lineno" valign="top"></td></tr>182 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 6.2. Response Header Fields . . . . . . . . . . . . . . . . . 45</span></td><td> </td><td class="rblock"><span class="insert"> Appendix C.</span> Changes from RFC 2068 . . . . . . . . . . . . . . . . <span class="insert">31</span></td><td class="lineno" valign="top"></td></tr>183 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 7. Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . 45</span></td><td> </td><td class="rblock"> Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">31</span></td><td class="lineno" valign="top"></td></tr>184 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 7.1. Entity Header Fields . . . . . . . . . . . . . . . . . . 46</span></td><td> </td><td class="rblock"> Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">. 33</span></td><td class="lineno" valign="top"></td></tr>185 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 7.2. Entity Body . . . . . . . . . . . . . . . . . . . . . . 46</span></td><td> </td><td class="rblock"> Intellectual Property and Copyright Statements . . . . . . . . . <span class="insert">. 35</span></td><td class="lineno" valign="top"></td></tr>132 <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">. . . . . . . . . . . . . . . . . . . . . . . . . 5</span></td><td class="lineno" valign="top"></td></tr> 133 <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. Protocol Parameters . . . . . . . . . . . . . . . . . . . . . 5</span></td><td class="lineno" valign="top"></td></tr> 134 <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. Character Sets . . . . . . . . . . . . . . . . . . . . . . 5</span></td><td class="lineno" valign="top"></td></tr> 135 <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.1.1. Missing Charset . . . . . . . . . . . . . . . . . . . 6</span></td><td class="lineno" valign="top"></td></tr> 136 <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">2.2. Content Codings . . . . . . . . . . . . . . . . . . . . . 6</span></td><td class="lineno" valign="top"></td></tr> 137 <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"> 2.3. Media Types . . . . . . . . . . . . . . . . . . . . . . . 7</span></td><td class="lineno" valign="top"></td></tr> 138 <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"> 2.3.1. Canonicalization and Text Defaults . . . . . . . . . . 8</span></td><td class="lineno" valign="top"></td></tr> 139 <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"> 2.3.2. Multipart Types . . . . . . . . . . . . . . . . . . . 9</span></td><td class="lineno" valign="top"></td></tr> 140 <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"> 2.4. Quality Values . . . . . . . . . . . . . . . . . . . . . . 9</span></td><td class="lineno" valign="top"></td></tr> 141 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">3.1. HTTP Version . . . . . . . . . . . . . . . . . . . . . . 2</span>0</td><td> </td><td class="rblock"> <span class="insert">2.5. Language Tags . . . . . . . . . . . . . . . . . . . . . . 1</span>0</td><td class="lineno" valign="top"></td></tr> 142 <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">3. Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10</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.1. General Syntax . . . . . . . . . . . . . . . . . . . 21</span></td><td> </td><td class="rblock"> <span class="insert">3.1. Entity Header Fields . . . . . . . . . . . . . . . . . . . 10</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.2. http URL . . . . . . . . . . . . . . . . . . . . . . 22</span></td><td> </td><td class="rblock"> <span class="insert">3.2. Entity Body . . . . . . . . . . . . . . . . . . . . . . . 11</span></td><td class="lineno" valign="top"></td></tr> 145 <tr><td class="lineno" valign="top"></td><td class="lblock"> 3.2.<span class="delete">3. URI Comparison . . . . . . . . . . . . . . . . . . . 22</span></td><td> </td><td class="rblock"> 3.2.<span class="insert">1. Type . . . . . . . . . . . . . . . . . . . . . . . . . 11</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. Date/Time Formats . . . . . . . . . . . . . . . . . . . 23</span></td><td> </td><td class="rblock"> <span class="insert"> 3.2.2. Entity Length . . . . . . . . . . . . . . . . . . . . 12</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.1. Full Date . . . . . . . . . . . . . . . . . . . . . 23</span></td><td> </td><td class="rblock"> <span class="insert">4. Content Negotiation . . . . . . . . . . . . . . . . . . . . . 12</span></td><td class="lineno" valign="top"></td></tr> 148 <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">4.1. Server-driven Negotiation . . . . . . . . . . . . . . . . 12</span></td><td class="lineno" valign="top"></td></tr> 149 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">3.4. Character Sets . . . . . . . . . . . . . . . . . . . . . 2</span>4</td><td> </td><td class="rblock"> <span class="insert">4.2. Agent-driven Negotiation . . . . . . . . . . . . . . . . . 1</span>4</td><td class="lineno" valign="top"></td></tr> 150 <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"> <span class="insert">4.3. Transparent Negotiation . . . . . . . . . . . . . . . . . 14</span></td><td class="lineno" valign="top"></td></tr> 151 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.5. Content Codings . . . . . . . . . . . . . . . . . . . . 2</span>5</td><td> </td><td class="rblock"> <span class="insert">5. Header Field Definitions . . . . . . . . . . . . . . . . . . . 1</span>5</td><td class="lineno" valign="top"></td></tr> 152 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">3.6. Transfer Codings . . . . . . . . . . . . . . . . . . . . 27</span></td><td> </td><td class="rblock"> <span class="insert">5.1. Accept . . . . . . . . . . . . . . . . . . . . . . . . . . 15</span></td><td class="lineno" valign="top"></td></tr> 153 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.6.1. Chunked Transfer Coding . . . . . . . . . . . . . . 28</span></td><td> </td><td class="rblock"> <span class="insert">5.2. Accept-Charset . . . . . . . . . . . . . . . . . . . . . . 17</span></td><td class="lineno" valign="top"></td></tr> 154 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">3.7. Media Types . . . . . . . . . . . . . . . . . . . . . . 29</span></td><td> </td><td class="rblock"> <span class="insert">5.3. Accept-Encoding . . . . . . . . . . . . . . . . . . . . . 17</span></td><td class="lineno" valign="top"></td></tr> 155 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.7.1. Canonicalization and Text Defaults . . . . . . . . . 30</span></td><td> </td><td class="rblock"> <span class="insert">5.4. Accept-Language . . . . . . . . . . . . . . . . . . . . . 19</span></td><td class="lineno" valign="top"></td></tr> 156 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.7.2. Multipart Types . . . . . . . . . . . . . . . . . . 3</span>0</td><td> </td><td class="rblock"> <span class="insert">5.5. Content-Encoding . . . . . . . . . . . . . . . . . . . . . 2</span>0</td><td class="lineno" valign="top"></td></tr> 157 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">3.8. Product Tokens . . . . . . . . . . . . . . . . . . . . . 3</span>1</td><td> </td><td class="rblock"> <span class="insert">5.6. Content-Language . . . . . . . . . . . . . . . . . . . . . 2</span>1</td><td class="lineno" valign="top"></td></tr> 158 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">3.9. Quality Values . . . . . . . . . . . . . . . . . . . . . 3</span>2</td><td> </td><td class="rblock"> <span class="insert">5.7. Content-Location . . . . . . . . . . . . . . . . . . . . . 2</span>2</td><td class="lineno" valign="top"></td></tr> 159 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">3.10. Language Tags . . . . . . . . . . . . . . . . . . . . . 3</span>2</td><td> </td><td class="rblock"> <span class="insert">5.8. Content-MD5 . . . . . . . . . . . . . . . . . . . . . . . 2</span>2</td><td class="lineno" valign="top"></td></tr> 160 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">3.11. Entity Tags . . . . . . . . . . . . . . . . . . . . . . 33</span></td><td> </td><td class="rblock"> <span class="insert">5.9. Content-Type . . . . . . . . . . . . . . . . . . . . . . . 24</span></td><td class="lineno" valign="top"></td></tr> 161 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 3.12. Range Units . . . . . . . . . . . . . . . . . . . . . . 33</span></td><td> </td><td class="rblock"> <span class="insert">6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24</span></td><td class="lineno" valign="top"></td></tr> 162 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">4. HTTP Message . . . . . . . . . . . . . . . . . . . . . . . . 3</span>4</td><td> </td><td class="rblock"> <span class="insert">7. Security Considerations . . . . . . . . . . . . . . . . . . . 2</span>4</td><td class="lineno" valign="top"></td></tr> 163 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">4.1. Message Types . . . . . . . . . . . . . . . . . . . . . 3</span>4</td><td> </td><td class="rblock"> <span class="insert">7.1. Privacy Issues Connected to Accept Headers . . . . . . . . 2</span>4</td><td class="lineno" valign="top"></td></tr> 164 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">4.2. Message Headers . . . . . . . . . . . . . . . . . . . . 34</span></td><td> </td><td class="rblock"> <span class="insert">7.2. Content-Disposition Issues . . . . . . . . . . . . . . . . 25</span></td><td class="lineno" valign="top"></td></tr> 165 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 4.3. Message Body . . . . . . . . . . . . . . . . . . . . . . 3</span>5</td><td> </td><td class="rblock"> <span class="insert">8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 2</span>5</td><td class="lineno" valign="top"></td></tr> 166 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 4.4. Message Length . . . . . . . . . . . . . . . . . . . . . 36</span></td><td> </td><td class="rblock"> <span class="insert">9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 25</span></td><td class="lineno" valign="top"></td></tr> 167 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 4.5. General Header Fields . . . . . . . . . . . . . . . . . 37</span></td><td> </td><td class="rblock"> <span class="insert">Appendix A. Differences Between HTTP Entities and RFC 2045</span></td><td class="lineno" valign="top"></td></tr> 168 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">5. Request . . . . . . . . . . . . . . . . . . . . . . . . . . . 38</span></td><td> </td><td class="rblock"> <span class="insert"> Entities . . . . . . . . . . . . . . . . . . . . . . 27</span></td><td class="lineno" valign="top"></td></tr> 169 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">5.1. Request-Line . . . . . . . . . . . . . . . . . . . . . . 3</span>8</td><td> </td><td class="rblock"> <span class="insert">A.1. MIME-Version . . . . . . . . . . . . . . . . . . . . . . . 2</span>8</td><td class="lineno" valign="top"></td></tr> 170 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 5.1.1. Method . . . . . . . . . . . . . . . . . . . . . . . 3</span>8</td><td> </td><td class="rblock"> <span class="insert">A.2. Conversion to Canonical Form . . . . . . . . . . . . . . . 2</span>8</td><td class="lineno" valign="top"></td></tr> 171 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 5.1.2. Request-URI . . . . . . . . . . . . . . . . . . . . 3</span>9</td><td> </td><td class="rblock"> <span class="insert">A.3. Introduction of Content-Encoding . . . . . . . . . . . . . 2</span>9</td><td class="lineno" valign="top"></td></tr> 172 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">5.2. The Resource Identified by a Request . . . . . . . . . . 40</span></td><td> </td><td class="rblock"> <span class="insert">A.4. No Content-Transfer-Encoding . . . . . . . . . . . . . . . 29</span></td><td class="lineno" valign="top"></td></tr> 173 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">5.3. Request Header Fields . . . . . . . . . . . . . . . . . 41</span></td><td> </td><td class="rblock"> <span class="insert">A.5. Introduction of Transfer-Encoding . . . . . . . . . . . . 29</span></td><td class="lineno" valign="top"></td></tr> 174 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">6. Response . . . . . . . . . . . . . . . . . . . . . . . . . . 42</span></td><td> </td><td class="rblock"> <span class="insert"> A.6. MHTML and Line Length Limitations . . . . . . . . . . . . 29</span></td><td class="lineno" valign="top"></td></tr> 175 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 6.1. Status-Line . . . . . . . . . . . . . . . . . . . . . . 42</span></td><td> </td><td class="rblock"> <span class="insert">Appendix B. Additional Features . . . . . . . . . . . . . . . . . 30</span></td><td class="lineno" valign="top"></td></tr> 176 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 6.1.1. Status Code and Reason Phrase . . . . . . . . . . . 43</span></td><td> </td><td class="rblock"> <span class="insert">B.1. Content-Disposition . . . . . . . . . . . . . . . . . . . 30</span></td><td class="lineno" valign="top"></td></tr> 177 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 6.2. Response Header Fields . . . . . . . . . . . . . . . . . 45</span></td><td> </td><td class="rblock"> <span class="insert">Appendix C. Changes from RFC 2068 . . . . . . . . . . . . . . . . 31</span></td><td class="lineno" valign="top"></td></tr> 178 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">7. Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . 45</span></td><td> </td><td class="rblock"> <span class="insert">Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31</span></td><td class="lineno" valign="top"></td></tr> 179 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 7.1. Entity Header Fields . . . . . . . . . . . . . . . . . . 46</span></td><td> </td><td class="rblock"> <span class="insert">Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 33</span></td><td class="lineno" valign="top"></td></tr> 180 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> 7.2. Entity Body . . . . . . . . . . . . . . . . . . . . . . 4</span>6</td><td> </td><td class="rblock"> <span class="insert">Intellectual Property and Copyright Statements . . . . . . . . . . 3</span>6</td><td class="lineno" valign="top"></td></tr> 186 181 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 7.2.1. Type . . . . . . . . . . . . . . . . . . . . . . . . 46</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 187 182 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 7.2.2. Entity Length . . . . . . . . . . . . . . . . . . . 47</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 335 330 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.28. If-Unmodified-Since . . . . . . . . . . . . . . . . . . 137</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 336 331 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.29. Last-Modified . . . . . . . . . . . . . . . . . . . . . 137</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 337 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.30. Location . . . . . . . . </span> . . . . . . . . . . . . . . . . <span class="delete">138</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>338 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.31. Max-Forwards </span> . . . . . . . . . . . . . . . . . . . . . . <span class="delete">138</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>339 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.32. Pragma </span> . . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">139</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>340 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.33. Proxy-Authenticate </span> . . . . . . . . . . . . . . . . . . . <span class="delete">140</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>341 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.34. Proxy-Authorization </span> . . . . . . . . . . . . . . . . . . <span class="delete">140</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>342 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.35. Range </span> . . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">140</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>343 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.35.1. Byte Ranges </span> . . . . . . . . . . . . . . . . . . . . <span class="delete">140</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>344 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.35.2. Range Retrieval Requests </span> . . . . . . . . . . . . . . <span class="delete">142</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>345 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.36. Referer </span> . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">143</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>346 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.37. Retry-After </span> . . . . . . . . . . . . . . . . . . . . . . <span class="delete">143</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>347 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.38. Server </span> . . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">144</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>348 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.39. TE </span> . . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">144</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>349 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.40. Trailer </span> . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">145</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>350 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.41. Transfer-Encoding </span> . . . . . . . . . . . . . . . . . . . <span class="delete">146</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>351 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.42. Upgrade </span> . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">146</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>352 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.43. User-Agent </span> . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">148</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>353 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.44. Vary </span> . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">148</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>354 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.45. Via </span> . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">149</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>355 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.46. Warning </span> . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">150</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>356 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.47. WWW-Authenticate </span> . . . . . . . . . . . . . . . . . . . . <span class="delete">153</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>357 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 15. Security Considerations </span> . . . . . . . . . . . . . . . . . . . <span class="delete">153</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.1. Personal Information </span> . . . . . . . . . . . . . . . . . . <span class="delete">153</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.1.1. Abuse of Server Log Information </span> . . . . . . . . . . <span class="delete">154</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.1.2. Transfer of Sensitive Information </span> . . . . . . . . . <span class="delete">154</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.1.3. Encoding Sensitive Information in URI's </span> . . . . . . <span class="delete">155</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>362 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 15.1.4. Privacy Issues Connected to Accept Headers </span> . . . . . <span class="delete">155</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.2. Attacks Based On File and Path Names </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.3. DNS Spoofing </span> . . . . . . . . . . . . . . . . . . . . . . <span class="delete">156</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.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>366 <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>367 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 15.6. Authentication Credentials and Idle Clients </span> . . . . . . <span class="delete">157</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"> 15.7. Proxies and Caching </span> . . . . . . . . . . . . . . . . . . <span class="delete">158</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"> 15.7.1. Denial of Service Attacks on Proxies </span> . . . . . . . . <span class="delete">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"> 16. Acknowledgments </span> . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">159</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"> 17. References </span> . . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">161</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"> Appendix A. Appendices </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.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>374 <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>375 <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>376 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.4. </span> Differences Between HTTP Entities and RFC 2045</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"> Entities . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">168</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.1. MIME-Version </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.2. </span> Conversion to Canonical Form . . . . . . . . . . . . <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.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>381 <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>382 <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>383 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.4.6. </span> Introduction of Transfer-Encoding . . . . . . . . . <span class="delete">170</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.4.7. </span> MHTML and Line Length Limitations . . . . . . . . . <span class="delete">171</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>332 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.30. Location . . . . . . . . . . . . . . . . . . . . . . . . 138</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 333 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.31. Max-Forwards . . . . . . . . . . . . . . . . . . . . . . 138</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 334 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.32. Pragma . . . . . . . . . . . . . . . . . . . . . . . . . 139</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 335 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.33. Proxy-Authenticate . . . . . . . . . . . . . . . . . . . 140</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 336 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.34. Proxy-Authorization . . . . . . . . . . . . . . . . . . 140</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 337 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.35. Range . . . . . . . . . . . . . . . . . . . . . . . . . 140</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 338 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.35.1. Byte Ranges . . . . . . . . . . . . . . . . . . . . 140</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 339 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.35.2. Range Retrieval Requests . . . . . . . . . . . . . . 142</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 340 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.36. Referer . . . . . . . . . . . . . . . . . . . . . . . . 143</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 341 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.37. Retry-After . . . . . . . . . . . . . . . . . . . . . . 143</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 342 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.38. Server . . . . . . . . . . . . . . . . . . . . . . . . . 144</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 343 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.39. TE . . . . . . . . . . . . . . . . . . . . . . . . . . . 144</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 344 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.40. Trailer . . . . . . . . . . . . . . . . . . . . . . . . 145</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 345 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.41. Transfer-Encoding . . . . . . . . . . . . . . . . . . . 146</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 346 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.42. Upgrade . . . . . . . . . . . . . . . . . . . . . . . . 146</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 347 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.43. User-Agent . . . . . . . . . . . . . . . . . . . . . . . 148</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 348 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.44. Vary . . . . . . . . . . . . . . . . . . . . . . . . . . 148</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 349 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.45. Via . . . . . . . . . . . . . . . . . . . . . . . . . . 149</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 350 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.46. Warning . . . . . . . . . . . . . . . . . . . . . . . . 150</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 351 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 14.47. WWW-Authenticate . . . . . . . . . . . . . . . . . . . . 153</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 352 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 15. Security Considerations . . . . . . . . . . . . . . . . . . . 153</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 353 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 15.1. Personal Information . . . . . . . . . . . . . . . . . . 153</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 354 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 15.1.1. Abuse of Server Log Information . . . . . . . . . . 154</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 355 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 15.1.2. Transfer of Sensitive Information . . . . . . . . . 154</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 356 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 15.1.3. Encoding Sensitive Information in URI's . . . . . . 155</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 357 <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> 358 <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> 359 <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> 360 <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> 361 <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> 362 <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> 363 <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> 364 <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> 365 <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> 366 <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> 367 <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> 368 <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> 369 <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> 370 <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> 371 <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> 372 <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> 373 <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> 374 <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> 375 <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> 376 <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> 377 <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> 378 <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> 379 <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> 385 380 <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> 386 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.5.1. Content-Disposition . . . </span> . . . . . . . . . . . . . <span class="delete">171</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. Compatibility with Previous Versions </span> . . . . . . . . . . <span class="delete">172</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.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>389 <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>390 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.6.3. </span> Changes from RFC 2068 . . . . . . . . . . . . . . . <span class="delete">174</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"><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>392 <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>393 <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>394 <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.5.1. Content-Disposition . . . . . . . . . . . . . . . . 171</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. Compatibility with Previous Versions . . . . . . . . . . 172</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.1. Changes from HTTP/1.0 . . . . . . . . . . . . . . . 173</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.2. Compatibility with HTTP/1.0 Persistent Connections . 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"> A.6.3. Changes from RFC 2068 . . . . . . . . . . . . . . . 174</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"> Appendix B. 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"> Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177</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"> Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 188</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"> Intellectual Property and Copyright Statements . . . . . . . . . 190</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 395 390 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 396 391 <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> 397 392 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 398 393 <tr><td><a name="diff0010" /></td></tr> 399 <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</span> will <span class="insert">define aspects</span> of HTTP <span class="insert">related</span> to the <span class="insert">payload</span> of</td><td class="lineno" valign="top"></td></tr>400 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"></span></td><td> </td><td class="rblock"> messages <span class="insert">(message content), including metadata</span> and <span class="insert">media types, along</span></td><td class="lineno" valign="top"></td></tr>401 <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"> with HTTP <span class="insert">content negotiation. Right now</span> it only <span class="insert">includes</span> the</td><td class="lineno" valign="top"></td></tr>402 <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"> <span class="insert">extracted relevant sections</span> of <span class="insert">RFC 2616</span> without <span class="insert">edit.</span></td><td class="lineno" valign="top"></td></tr>394 <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 the payload of</span></td><td class="lineno" valign="top"></td></tr> 395 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> </span></td><td> </td><td class="rblock"> <span class="insert">messages (message content), including metadata and media types, along</span></td><td class="lineno" valign="top"></td></tr> 396 <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">with HTTP content negotiation. Right now it only includes the</span></td><td class="lineno" valign="top"></td></tr> 397 <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"> <span class="insert">extracted relevant sections of RFC 2616 without edit.</span></td><td class="lineno" valign="top"></td></tr> 403 398 <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> 404 399 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> information initiative since 1990. The first version of HTTP,</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"> communicating applications to determine each other's true</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 416 411 <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> 417 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>412 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 418 413 <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> 419 414 <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> 420 415 <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> 421 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 422 417 <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> 423 418 <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> … … 430 425 <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> 431 426 <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> 432 <tr><td class="lineno" 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"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 433 428 <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> 434 429 <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> … … 437 432 <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> 438 433 <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> 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>434 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 440 435 <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> 441 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> </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"> 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> 443 438 <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> 444 439 <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> 445 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 446 441 <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> 447 442 <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> … … 452 447 <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> 453 448 <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> 454 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>449 <tr><td class="lineno" 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 450 <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> 456 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>451 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 458 453 <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> 459 <tr><td class="lineno" 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 <tr><td class="lineno" 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 455 <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> 461 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> A transport layer virtual circuit established between two programs</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 463 458 <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> 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>459 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 465 460 <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> 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>461 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 468 463 <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> 469 464 <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> 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>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> 471 466 <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> 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>467 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 473 468 <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> 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>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> 475 470 <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> 476 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 477 472 <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> 478 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 479 474 <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> 480 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 481 476 <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> 482 477 <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> 483 478 <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> 484 479 <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> 485 <tr><td class="lineno" 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 <tr><td class="lineno" 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 481 <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> 487 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>482 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 489 484 <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> 490 485 <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> 491 486 <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> 492 <tr><td class="lineno" 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 <tr><td class="lineno" 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 488 <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> 494 489 <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> 495 490 <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> 496 491 <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> 497 <tr><td class="lineno" 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 <tr><td class="lineno" 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 493 <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> 499 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>494 <tr><td class="lineno" 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 495 <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> 501 496 <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> 502 497 <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> 503 498 <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> 504 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 505 500 <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> 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>501 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 507 502 <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> 508 503 <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> … … 510 505 <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> 511 506 <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> 512 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 513 508 <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> 514 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>509 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 516 511 <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> 517 <tr><td class="lineno" 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 <tr><td class="lineno" 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 513 <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> 519 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 521 516 <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> 522 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 523 518 <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> 524 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> An application program that accepts connections in order to</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"> 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> … … 531 526 <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> 532 527 <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> 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>528 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 534 529 <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> 535 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>530 <tr><td class="lineno" 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 531 <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> 537 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 538 533 <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> 539 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 540 535 <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> 541 536 <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> 542 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 544 539 <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> … … 553 548 <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> 554 549 <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> 555 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>550 <tr><td class="lineno" 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 551 <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> 557 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>552 <tr><td class="lineno" 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 553 <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> 559 554 <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> 560 555 <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> 561 556 <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> 562 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 563 558 <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> 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>559 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 566 561 <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> … … 568 563 <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> 569 564 <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> 570 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>565 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 571 566 <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> 572 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>567 <tr><td class="lineno" 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 568 <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> 574 569 <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> … … 577 572 <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> 578 573 <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> 579 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>574 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 580 575 <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> 581 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>576 <tr><td class="lineno" 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 577 <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> 583 578 <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> … … 586 581 <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> 587 582 <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> 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>583 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> first-hand</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 590 585 <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> … … 592 587 <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> 593 588 <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> 594 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>589 <tr><td class="lineno" 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 590 <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> 596 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>591 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 598 593 <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> 599 <tr><td class="lineno" 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 <tr><td class="lineno" 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 595 <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> 601 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 603 598 <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> 604 <tr><td class="lineno" 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 <tr><td class="lineno" 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 600 <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> 606 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 608 603 <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> 609 <tr><td class="lineno" 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 <tr><td class="lineno" 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 605 <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> 611 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 613 608 <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> 614 <tr><td class="lineno" 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 <tr><td class="lineno" 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 610 <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> 616 <tr><td class="lineno" 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 <tr><td class="lineno" 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 612 <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> 618 613 <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> 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>614 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 620 615 <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> 621 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 622 617 <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> 623 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 624 619 <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> 625 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 626 621 <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> 627 622 <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> … … 631 626 <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> 632 627 <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> 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>628 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 634 629 <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> 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>630 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 637 632 <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> 638 633 <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> 639 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 640 635 <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> 641 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>636 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 643 638 <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> 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>639 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 645 640 <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> 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>641 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 648 643 <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> 649 644 <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> 650 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 651 646 <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> 652 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>647 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 654 649 <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> … … 660 655 <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> 661 656 <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> 662 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>657 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 664 659 <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> 665 660 <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> 666 661 <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> 667 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> request chain ------------------------></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"> UA -------------------v------------------- O</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 670 665 <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> 671 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 672 667 <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> 673 668 <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> … … 683 678 <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> 684 679 <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> 685 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>680 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> request chain --------------------------------------></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"> UA -----v----- A -----v----- B -----v----- C -----v----- O</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 688 683 <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> 689 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 690 685 <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> 691 686 <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> … … 699 694 <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> 700 695 <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> 701 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>696 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 703 698 <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> … … 707 702 <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> 708 703 <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> 709 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>704 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> request chain ----------></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"> UA -----v----- A -----v----- B - - - - - - C - - - - - - O</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 712 707 <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> 713 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 714 709 <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> 715 710 <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> 716 711 <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> 717 712 <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> 718 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 720 715 <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> … … 730 725 <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> 731 726 <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> 732 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>727 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 734 729 <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> … … 739 734 <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> 740 735 <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> 741 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>736 <tr><td class="lineno" 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 737 <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> 743 738 <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> 744 739 <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> 745 740 <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> 746 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 747 742 <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> 748 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>743 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 749 744 <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> 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>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> 751 746 <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> 752 747 <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> … … 754 749 <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> 755 750 <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> 756 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>751 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 757 752 <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> 758 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>753 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 760 755 <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> … … 765 760 <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> 766 761 <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> 767 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>762 <tr><td class="lineno" 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 763 <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> 769 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>764 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> Quotation marks surround literal text. Unless stated otherwise,</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 771 766 <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> 772 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 773 768 <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> 774 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 776 771 <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> 777 <tr><td class="lineno" 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 <tr><td class="lineno" 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 773 <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> 779 774 <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> 780 775 <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> 781 776 <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> 782 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 783 778 <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> 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>779 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> The character "*" preceding an element indicates repetition. The</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 786 781 <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> … … 788 783 <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> 789 784 <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> 790 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>785 <tr><td class="lineno" 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 786 <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> 792 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>787 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> Square brackets enclose optional elements; "[foo bar]" is</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 794 789 <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> 795 <tr><td class="lineno" 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 <tr><td class="lineno" 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 791 <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> 797 <tr><td class="lineno" 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 <tr><td class="lineno" 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 793 <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> 799 794 <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> 800 795 <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> 801 796 <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> 802 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 803 798 <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> 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>799 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 806 801 <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> … … 808 803 <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> 809 804 <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> 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>805 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 811 806 <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> 812 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>807 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 813 808 <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> 814 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 815 810 <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> 816 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 817 812 <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> 818 813 <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> … … 823 818 <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> 824 819 <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> 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>820 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> ; comment</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 827 822 <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> … … 829 824 <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> 830 825 <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> 831 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>826 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 832 827 <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> 833 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>828 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 835 830 <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> … … 840 835 <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> 841 836 <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> 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>837 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 843 838 <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> 844 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>839 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> The following rules are used throughout this specification to</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"> 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> 847 842 <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> 848 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 849 844 <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> 850 845 <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> … … 860 855 <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> 861 856 <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> 862 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>857 <tr><td class="lineno" 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 858 <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> 864 859 <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> 865 860 <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> 866 861 <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> 867 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 868 863 <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> 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>864 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 871 866 <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> … … 873 868 <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> 874 869 <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> 875 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>870 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 876 871 <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> 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>872 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 879 874 <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> … … 881 876 <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> 882 877 <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> 883 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>878 <tr><td class="lineno" 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 879 <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> 885 880 <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> 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>881 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 888 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> field continuation. It is expected that the folding LWS </span> will <span class="delete">be</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>883 <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> 889 884 <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> 890 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 891 886 <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> 892 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>887 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> HEX = "A" | "B" | "C" | "D" | "E" | "F"</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 894 889 <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> 895 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 897 892 <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> 898 893 <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> 899 894 <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> 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>895 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> token = 1*<any CHAR except CTLs or separators></span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 902 897 <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> … … 904 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> 905 900 <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> 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>901 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 908 903 <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> … … 910 905 <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> 911 906 <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> 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>907 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> comment = "(" *( ctext | quoted-pair | comment ) ")"</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 914 909 <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> 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>910 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 917 912 <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> 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>913 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> quoted-string = ( <"> *(qdtext | quoted-pair ) <"> )</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 920 915 <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> 921 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>916 <tr><td class="lineno" 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 917 <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> 923 918 <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> 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>919 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 925 920 <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> 926 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 927 922 <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> 928 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 929 924 <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> 930 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 931 926 <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> 932 927 <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> 933 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> the sender to indicate the format </span> of <span class="delete">a message and its capacity for</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>934 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> understanding further </span> HTTP <span class="delete">communication, rather than the features</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>928 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> the sender to indicate the format of a message and its capacity for</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"> understanding further HTTP communication, rather than the features</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 935 930 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> obtained via that communication. No change is made to the version</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 936 931 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> number for the addition of message components which do not affect</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 938 933 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The <minor> number is incremented when the changes made to the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 939 934 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> protocol add features which do not change the general message parsing</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 940 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> algorithm, but which may add </span> to the <span class="delete">message semantics and imply</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>935 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> algorithm, but which may add to the message semantics and imply</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"> additional capabilities of the sender. The <major> number 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"> 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> 943 938 <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> 944 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>939 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 946 941 <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> 947 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>942 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 948 943 <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> 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>944 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 951 946 <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> … … 953 948 <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> 954 949 <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> 955 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>950 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 957 952 <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> … … 961 956 <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> 962 957 <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> 963 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>964 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The HTTP version </span> of <span class="delete">an application is the highest HTTP version for</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>958 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 959 <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> 965 960 <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> 966 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>961 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 968 <tr><td class="lineno" valign="top"></td><td class="lblock"> messages <span class="delete">in protocol versions different from that of the application.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>963 <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> 969 964 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Since the protocol version indicates the protocol capability of the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 970 965 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> sender, a proxy/gateway MUST NOT send a message with a version</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"> 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> 974 969 <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> 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>970 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 977 972 <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> … … 979 974 <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> 980 975 <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> 981 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>976 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> Note: Converting between versions of HTTP may involve modification</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 983 978 <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> 984 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>979 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 985 980 <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> 986 <tr><td class="lineno" 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 <tr><td class="lineno" 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 982 <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> 988 983 <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> 989 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> the combination of Uniform Resource Locators (URL) [RFC1738] </span> and</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>990 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">Names (URN) [RFC1737]. As far as HTTP is concerned, Uniform Resource</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>984 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> the combination of Uniform Resource Locators (URL) [RFC1738] and</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"> Names (URN) [RFC1737]. As far as HTTP is concerned, Uniform Resource</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"> Identifiers are simply formatted strings which identify--via name,</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 992 987 <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> 993 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>988 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 994 989 <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> 995 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>990 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 997 992 <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> 998 993 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The two forms are differentiated by the fact that absolute URIs</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 999 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> always begin </span> with <span class="delete">a scheme name followed by a colon. For definitive</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"> always begin with a scheme name followed by a colon. For definitive</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1000 995 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> information on URL syntax and semantics, see "Uniform Resource</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1001 996 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Identifiers (URI): Generic Syntax and Semantics," RFC 2396 [RFC2396]</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"> "absoluteURI", "relativeURI", "port", "host","abs_path", "rel_path",</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1005 1000 <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> 1006 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1001 <tr><td class="lineno" 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 1002 <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> 1008 1003 <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> … … 1011 1006 <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> 1012 1007 <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> 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>1008 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 1015 1010 <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> 1016 1011 <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> 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>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> 1018 1013 <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> 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>1020 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The "http" scheme is used to locate network resources via the </span> HTTP</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1021 <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>1014 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1015 <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> 1016 <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> 1022 1017 <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> 1023 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 1024 1019 <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> 1025 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1020 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 1027 1022 <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> … … 1033 1028 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> (Section 5.1.2). If a proxy receives a host name which is not a</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"> fully qualified domain name, it MAY add its domain to the host name</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1035 <tr><td class="lineno" valign="top"></td><td class="lblock"> it <span class="delete">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>1030 <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> 1036 1031 <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> 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>1032 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1038 1033 <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> 1039 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1034 <tr><td class="lineno" 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 1035 <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> 1041 1036 <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> 1042 1037 <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> 1043 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 1044 1039 <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> 1045 1040 <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> 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>1041 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1047 1042 <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> 1048 <tr><td class="lineno" 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 <tr><td class="lineno" 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 1044 <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> 1050 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 1051 1046 <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> 1052 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 1053 1048 <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> 1054 1049 <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> 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>1050 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1056 1051 <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> 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>1052 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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:80/~smith/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 1055 <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> 1061 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 1062 1057 <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> 1063 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1058 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1064 1059 <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> 1065 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 1066 1061 <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> 1067 1062 <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> 1068 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 1070 1065 <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> 1071 1066 <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> 1072 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 1073 1068 <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> 1074 1069 <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> … … 1077 1072 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> four-digit year. HTTP/1.1 clients and servers that parse the date</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1078 1073 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> value MUST accept all three formats (for compatibility with</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1079 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> HTTP/1.0), though they MUST </span> only <span class="delete">generate</span> the <span class="delete">RFC 1123 format for</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1074 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> HTTP/1.0), though they MUST only generate the RFC 1123 format 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"> 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> 1081 1076 <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> 1082 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1083 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Note: Recipients </span> of <span class="delete">date values are encouraged to be robust in</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1077 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1078 <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> 1084 1079 <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> 1085 1080 <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> 1086 1081 <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> 1087 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 1089 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> (GMT), </span> without <span class="delete">exception. For the purposes of HTTP, GMT is exactly</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1084 <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> 1090 1085 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> equal to UTC (Coordinated Universal Time). This is indicated in the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1091 1086 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> first two formats by the inclusion of "GMT" as the three-letter</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"> 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> 1095 1090 <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> 1096 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1091 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> HTTP-date = rfc1123-date | rfc850-date | asctime-date</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1098 1093 <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> … … 1114 1109 <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> 1115 1110 <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> 1116 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1111 <tr><td class="lineno" 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 1112 <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> 1118 1113 <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> 1119 1114 <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> 1120 1115 <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> 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>1116 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1122 1117 <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> 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>1118 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 1125 1120 <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> … … 1185 1180 <tr><td class="lineno" valign="top"></td><td class="left"> All content-coding values are case-insensitive. HTTP/1.1 uses</td><td> </td><td class="right"> All content-coding values are case-insensitive. HTTP/1.1 uses</td><td class="lineno" valign="top"></td></tr> 1186 1181 <tr><td><a name="diff0016" /></td></tr> 1187 <tr><td class="lineno" valign="top"></td><td class="lblock"> content-coding values in the Accept-Encoding (Section <span class="delete">14 .3)</span> and</td><td> </td><td class="rblock"> content-coding values in the Accept-Encoding (Section <span class="insert">5.3)</span>and</td><td class="lineno" valign="top"></td></tr>1188 <tr><td class="lineno" valign="top"></td><td class="lblock"> Content-Encoding (Section <span class="delete">14.11 )</span> header fields. Although the value</td><td> </td><td class="rblock"> Content-Encoding (Section <span class="insert">5.5)</span>header fields. Although the value</td><td class="lineno" valign="top"></td></tr>1182 <tr><td class="lineno" valign="top"></td><td class="lblock"> content-coding values in the Accept-Encoding (Section <span class="delete">14</span>.3) and</td><td> </td><td class="rblock"> content-coding values in the Accept-Encoding (Section <span class="insert">5</span>.3) and</td><td class="lineno" valign="top"></td></tr> 1183 <tr><td class="lineno" valign="top"></td><td class="lblock"> Content-Encoding (Section <span class="delete">14.11</span>) header fields. Although the value</td><td> </td><td class="rblock"> Content-Encoding (Section <span class="insert">5.5</span>) header fields. Although the value</td><td class="lineno" valign="top"></td></tr> 1189 1184 <tr><td class="lineno" valign="top"></td><td class="left"> describes the content-coding, what is more important is that it</td><td> </td><td class="right"> describes the content-coding, what is more important is that it</td><td class="lineno" valign="top"></td></tr> 1190 1185 <tr><td class="lineno" valign="top"></td><td class="left"> indicates what decoding mechanism will be required to remove the</td><td> </td><td class="right"> indicates what decoding mechanism will be required to remove the</td><td class="lineno" valign="top"></td></tr> … … 1210 1205 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 1211 1206 <tr><td><a name="diff0017" /></td></tr> 1212 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3.6. Transfer Coding s</span></td><td> </td><td class="rblock"><span class="insert">2.3.</span> Media Types</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>1207 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3.6. Transfer Coding</span>s</td><td> </td><td class="rblock"><span class="insert">2.3. Media Type</span>s</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"> Transfer-coding values are used to indicate an encoding</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"> 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> … … 1217 1212 <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> 1218 1213 <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> 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>1214 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1220 1215 <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> 1221 1216 <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> 1222 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 1223 1218 <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> 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"> parameter = attribute "=" value</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1226 1221 <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> 1227 1222 <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> 1228 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1223 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 1230 1225 <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> 1231 1226 <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> 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"> 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> 1234 1229 <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> … … 1238 1233 <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> 1239 1234 <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> 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>1235 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> Transfer-codings are analogous to the Content-Transfer-Encoding</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"> 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> … … 1247 1242 <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> 1248 1243 <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> 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>1244 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 1251 1246 <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> … … 1253 1248 <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> 1254 1249 <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> 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>1250 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1256 1251 <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> 1257 1252 <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> 1258 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1253 <tr><td class="lineno" 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 1254 <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> 1260 1255 <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> 1261 1256 <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> 1262 1257 <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> 1263 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1258 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1264 1259 <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> 1265 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 1266 1261 <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> 1267 1262 <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> … … 1270 1265 <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> 1271 1266 <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> 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"> Chunked-Body = *chunk</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"> last-chunk</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1275 1270 <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> 1276 1271 <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> 1277 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 1278 1273 <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> 1279 1274 <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> 1280 1275 <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> 1281 1276 <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> 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>1277 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> chunk-extension= *( ";" chunk-ext-name [ "=" chunk-ext-val ] )</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1284 1279 <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> … … 1286 1281 <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> 1287 1282 <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> 1288 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1283 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 1290 1285 <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> 1291 1286 <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> 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>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> 1293 1288 <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> 1294 1289 <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> 1295 1290 <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> 1296 1291 <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> 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"> 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> 1299 1294 <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> 1300 1295 <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> 1301 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 1303 1298 <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> … … 1310 1305 <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> 1311 1306 <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> 1312 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1307 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> This requirement prevents an interoperability failure when the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1314 1309 <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> … … 1316 1311 <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> 1317 1312 <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> 1318 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1313 <tr><td class="lineno" 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 1314 <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> 1320 1315 <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> 1321 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1316 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 1323 1318 <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> 1324 1319 <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> 1325 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1326 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3.7. </span> Media Types</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> 1321 <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> 1327 1322 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 1328 1323 <tr><td class="lineno" valign="top"></td><td class="left"> HTTP uses Internet Media Types [RFC1590] in the Content-Type</td><td> </td><td class="right"> HTTP uses Internet Media Types [RFC1590] in the Content-Type</td><td class="lineno" valign="top"></td></tr> … … 1337 1332 <tr><td class="lineno" valign="top"></td><td class="left"> Parameters MAY follow the type/subtype in the form of attribute/value</td><td> </td><td class="right"> Parameters MAY follow the type/subtype in the form of attribute/value</td><td class="lineno" valign="top"></td></tr> 1338 1333 <tr><td><a name="diff0019" /></td></tr> 1339 <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"> <span class="insert">pairs.</span></td><td class="lineno" valign="top"></td></tr>1340 <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>1334 <tr><td class="lineno" valign="top"></td><td class="lblock"> pairs<span class="delete"> (as defined in Section 3.6)</span>.</td><td> </td><td class="rblock"> pairs.</td><td class="lineno" valign="top"></td></tr> 1335 <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> 1341 1336 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> parameter = attribute "=" value</span></td><td class="lineno" valign="top"></td></tr> 1342 1337 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> attribute = token</span></td><td class="lineno" valign="top"></td></tr> … … 1413 1408 <tr><td class="lineno" valign="top"></td><td class="left"> any other media type: strictly as payload. The one exception is the</td><td> </td><td class="right"> any other media type: strictly as payload. The one exception is the</td><td class="lineno" valign="top"></td></tr> 1414 1409 <tr><td><a name="diff0024" /></td></tr> 1415 <tr><td class="lineno" valign="top"></td><td class="lblock"> "multipart/byteranges" type (Appendix <span class="delete">A.2)</span> when it appears in a 206</td><td> </td><td class="rblock"> "multipart/byteranges" type (Appendix <span class="insert">A of [Part5])</span> when it appears</td><td class="lineno" valign="top"></td></tr>1416 <tr><td class="lineno" valign="top"></td><td class="lblock"> (Partial Content) <span class="delete">response, which will be interpreted by some HTTP</span></td><td> </td><td class="rblock"> in a 206 (Partial Content) <span class="insert">response.</span> In all other cases, anHTTP</td><td class="lineno" valign="top"></td></tr>1417 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> caching mechanisms as described in sections 13.5.4 and 14.16.</span> In all</td><td> </td><td class="rblock"> user agent SHOULD follow the same or similar behavior as a MIME user</td><td class="lineno" valign="top"></td></tr>1418 <tr><td class="lineno" valign="top"></td><td class="lblock"> other cases, an HTTP user agent SHOULD follow the same or similar</td><td> </td><td class="rblock"> agent would upon receipt of a multipart type. The MIME header fields</td><td class="lineno" valign="top"></td></tr>1419 <tr><td class="lineno" valign="top"></td><td class="lblock"> behavior as a MIME user agent would upon receipt of a multipart type.</td><td> </td><td class="rblock"> within each body-part of a multipart <span class="insert">message-body</span> do not have any</td><td class="lineno" valign="top"></td></tr>1420 <tr><td class="lineno" valign="top"></td><td class="lblock"> The MIME header fields within each body-part of a multipart <span class="delete">message-</span></td><td> </td><td class="rblock"> significance to HTTP beyond that defined by their MIME semantics.</td><td class="lineno" valign="top"></td></tr>1421 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> body </span> do not have any significance to HTTP beyond that defined by</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1422 <tr><td class="lineno" valign="top"></td><td class="lblock"> their MIME semantics.</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"> "multipart/byteranges" type (Appendix A<span class="delete">.2) when it appears in a 206</span></td><td> </td><td class="rblock"> "multipart/byteranges" type (Appendix A<span class="insert"> of [Part5]) when it appears</span></td><td class="lineno" valign="top"></td></tr> 1411 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">(Partial Content) response, which will be interpreted by some</span> HTTP</td><td> </td><td class="rblock"> <span class="insert">in a 206 (Partial Content) response. In all other cases, an</span> HTTP</td><td class="lineno" valign="top"></td></tr> 1412 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">caching mechanisms as described in sections 13.5.4 and 14.16. In all</span></td><td> </td><td class="rblock"> <span class="insert">user agent SHOULD follow the same or similar behavior as a MIME user</span></td><td class="lineno" valign="top"></td></tr> 1413 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">other cases, an HTTP user agent SHOULD follow the same or similar</span></td><td> </td><td class="rblock"> <span class="insert">agent would upon receipt of a multipart type. The MIME header fields</span></td><td class="lineno" valign="top"></td></tr> 1414 <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"> <span class="insert">within each body-part of a multipart message-body do not have any</span></td><td class="lineno" valign="top"></td></tr> 1415 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">The MIME header fields within each body-part of a multipart message-</span></td><td> </td><td class="rblock"> <span class="insert">significance to HTTP beyond that defined by their MIME semantics.</span></td><td class="lineno" valign="top"></td></tr> 1416 <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> 1417 <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> 1423 1418 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 1424 1419 <tr><td class="lineno" valign="top"></td><td class="left"> In general, an HTTP user agent SHOULD follow the same or similar</td><td> </td><td class="right"> In general, an HTTP user agent SHOULD follow the same or similar</td><td class="lineno" valign="top"></td></tr> … … 1432 1427 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 1433 1428 <tr><td><a name="diff0025" /></td></tr> 1434 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3.8. Product Token s</span></td><td> </td><td class="rblock"><span class="insert">2.4.</span> Quality Values</td><td class="lineno" valign="top"></td></tr>1435 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1429 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3.8. Product Token</span>s</td><td> </td><td class="rblock"><span class="insert">2.4. Quality Value</span>s</td><td class="lineno" valign="top"></td></tr> 1430 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1436 1431 <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> 1437 1432 <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> … … 1440 1435 <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> 1441 1436 <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> 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>1437 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1443 1438 <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> 1444 1439 <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> 1445 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1440 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> Examples:</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"> User-Agent: CERN-LineMode/2.15 libwww/2.17b3</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"> Server: Apache/0.8.4</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1450 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1445 <tr><td class="lineno" 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 1446 <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> 1452 1447 <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> … … 1455 1450 <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> 1456 1451 <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> 1457 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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">3.9. </span> Quality Values</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> 1453 <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> 1459 1454 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 1460 1455 <tr><td><a name="diff0026" /></td></tr> … … 1512 1507 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 1513 1508 <tr><td><a name="diff0029" /></td></tr> 1514 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">3.11. Entity Tags</span></td><td> </td><td class="rblock">3. Entity</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>1509 <tr><td class="lineno" valign="top"></td><td class="lblock">3.<span class="delete">11. Entity Tags</span></td><td> </td><td class="rblock">3.<span class="insert"> Entity</span></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"> 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> 1517 1512 <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> … … 1521 1516 <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> 1522 1517 <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> 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>1518 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> entity-tag = [ weak ] opaque-tag</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"> weak = "W/"</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1526 1521 <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> 1527 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1528 1523 <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> 1529 1524 <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> 1530 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1525 <tr><td class="lineno" 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 1526 <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> 1532 1527 <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> 1533 1528 <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> 1534 1529 <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> 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>1530 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1536 1531 <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> 1537 1532 <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> … … 1540 1535 <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> 1541 1536 <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> 1542 <tr><td class="lineno" 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 <tr><td class="lineno" 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 1538 <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> 1544 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1539 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 1546 1541 <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> … … 1548 1543 <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> 1549 1544 <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> 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>1545 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1551 1546 <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> 1552 1547 <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> 1553 1548 <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> 1554 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1555 1550 <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> 1556 1551 <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> 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 has been designed to allow implementations of applications</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"> that do not depend on knowledge of ranges.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1560 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 1561 1556 <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> 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>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> 1563 1558 <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> 1564 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1559 <tr><td class="lineno" 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 1560 <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> 1566 1561 <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> 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"> HTTP-message = Request | Response ; HTTP/1.1 messages</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1569 <tr><td class="lineno" 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 <tr><td class="lineno" 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 1565 <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> 1571 1566 <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> … … 1574 1569 <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> 1575 1570 <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> 1576 <tr><td class="lineno" 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 <tr><td class="lineno" 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 1572 <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> 1578 1573 <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> … … 1580 1575 <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> 1581 1576 <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> 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"> 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> 1584 1579 <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> 1585 1580 <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> 1586 1581 <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> 1587 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 1588 1583 <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> 1589 1584 <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> 1590 1585 <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> 1591 1586 <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> 1592 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1587 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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">4.2. Message Headers</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1594 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 1595 1590 <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> 1596 1591 <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> … … 1605 1600 <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> 1606 1601 <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> 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"> message-header = field-name ":" [ field-value ]</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"> field-name = token</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1612 1607 <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> 1613 1608 <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> 1614 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1609 <tr><td class="lineno" 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 1610 <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> 1616 1611 <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> … … 1621 1616 <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> 1622 1617 <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> 1623 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1618 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1624 1619 <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> 1625 1620 <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> 1626 1621 <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> 1627 1622 <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> 1628 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1623 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 1630 1625 <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> … … 1637 1632 <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> 1638 1633 <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> 1639 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1634 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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">4.3. Message Body</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"> 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> 1643 1638 <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> … … 1645 1640 <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> 1646 1641 <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> 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>1642 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1648 1643 <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> 1649 1644 <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> 1650 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1645 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 1652 1647 <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> … … 1655 1650 <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> 1656 1651 <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> 1657 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 1658 1653 <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> 1659 1654 <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> 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"> 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> 1662 1657 <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> … … 1667 1662 <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> 1668 1663 <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> 1669 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1670 1665 <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> 1671 1666 <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> … … 1676 1671 <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> 1677 1672 <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> 1678 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 1679 1674 <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> 1680 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1675 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 1682 1677 <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> … … 1684 1679 <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> 1685 1680 <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> 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>1681 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1687 1682 <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> 1688 1683 <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> … … 1690 1685 <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> 1691 1686 <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> 1692 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1687 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1693 1688 <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> 1694 1689 <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> 1695 1690 <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> 1696 1691 <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> 1697 <tr><td class="lineno" valign="top"></td><td class="lblock"> 1698 <tr><td class="lineno" valign="top"></td><td class="lblock"> 3. <span class="delete">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>1692 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 1699 1694 <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> 1700 1695 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> transfer-length. The Content-Length header field MUST NOT be</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"> 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> 1704 1699 <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> 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"> 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> 1707 1702 <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> … … 1711 1706 <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> 1712 1707 <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> 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>1708 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1714 1709 <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> 1715 1710 <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> 1716 1711 <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> 1717 1712 <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> 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"> 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> 1720 1715 <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> 1721 1716 <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> 1722 1717 <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> 1723 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 1724 1719 <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> 1725 1720 <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> … … 1729 1724 <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> 1730 1725 <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> 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"> 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> 1733 1728 <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> 1734 1729 <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> 1735 1730 <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> 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"> 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> 1738 1733 <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> 1739 1734 <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> 1740 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1735 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1741 1736 <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> 1742 1737 <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> 1743 1738 <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> 1744 1739 <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> 1745 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1740 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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">4.5. General Header Fields</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1747 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1742 <tr><td class="lineno" 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 1743 <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> 1749 1744 <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> 1750 1745 <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> 1751 1746 <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> 1752 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1747 <tr><td class="lineno" 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 1748 <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> 1754 1749 <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> … … 1760 1755 <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> 1761 1756 <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> 1762 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1757 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 1764 1759 <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> … … 1767 1762 <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> 1768 1763 <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> 1769 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1764 <tr><td class="lineno" 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 1765 <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> 1771 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1772 1767 <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> 1773 1768 <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> 1774 1769 <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> 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"> Request = Request-Line ; Section 5.1</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"> *(( general-header ; Section 4.5</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"> CRLF</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"> [ message-body ] ; Section 4.3</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.1. Request-Line</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"> 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> 1786 1781 <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> 1787 1782 <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> 1788 1783 <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> 1789 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 1790 1785 <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> 1791 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1786 <tr><td class="lineno" 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 1787 <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> 1793 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 1794 1789 <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> 1795 1790 <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> 1796 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1791 <tr><td class="lineno" 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 1792 <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> 1798 1793 <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> … … 1805 1800 <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> 1806 1801 <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> 1807 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 1808 1803 <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> 1809 1804 <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> … … 1818 1813 <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> 1819 1814 <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> 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">5.1.2. Request-URI</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1822 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1817 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1823 1818 <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> 1824 1819 <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> 1825 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 1826 1821 <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> 1827 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1822 <tr><td class="lineno" 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 1823 <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> 1829 1824 <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> … … 1831 1826 <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> 1832 1827 <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> 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"> OPTIONS * HTTP/1.1</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 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> 1837 1832 <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> … … 1842 1837 <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> 1843 1838 <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> 1844 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 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"> 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> 1848 1843 <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> 1849 1844 <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> 1850 1845 <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> 1851 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 1852 1847 <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> 1853 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 1854 1849 <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> 1855 1850 <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> … … 1860 1855 <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> 1861 1856 <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> 1862 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 1863 1858 <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> 1864 1859 <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> 1865 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1866 1861 <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> 1867 1862 <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> 1868 1863 <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> 1869 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 1870 1865 <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> 1871 1866 <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> … … 1873 1868 <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> 1874 1869 <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> 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"> 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> 1877 1872 <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> 1878 1873 <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> 1879 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1874 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 1881 1876 <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> … … 1883 1878 <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> 1884 1879 <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> 1885 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1880 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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">5.2. The Resource Identified by a Request</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>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> 1888 1883 <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> 1889 1884 <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> 1890 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1885 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 1892 1887 <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> 1893 1888 <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> 1894 1889 <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> 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>1890 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 1897 1892 <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> 1898 1893 <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> 1899 1894 <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> 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"> 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> 1902 1897 <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> 1903 1898 <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> 1904 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 1906 1901 <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> 1907 1902 <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> 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"> 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> 1910 1905 <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> 1911 1906 <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> 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>1907 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1913 1908 <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> 1914 1909 <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> 1915 1910 <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> 1916 1911 <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> 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">5.3. Request Header Fields</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1919 <tr><td class="lineno" 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 <tr><td class="lineno" 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 1915 <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> 1921 1916 <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> … … 1923 1918 <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> 1924 1919 <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> 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"> request-header = Accept ; Section 14.1</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"> | Accept-Charset ; Section 14.2</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 1943 1938 <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> 1944 1939 <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> 1945 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1940 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1946 1941 <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> 1947 1942 <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> … … 1950 1945 <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> 1951 1946 <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> 1952 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1947 <tr><td class="lineno" 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 1948 <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> 1954 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1949 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1955 1950 <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> 1956 1951 <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> 1957 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1952 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1958 1953 <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> 1959 1954 <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> … … 1962 1957 <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> 1963 1958 <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> 1964 <tr><td class="lineno" 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 <tr><td class="lineno" 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 1960 <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> 1966 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1961 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1967 1962 <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> 1968 1963 <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> … … 1970 1965 <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> 1971 1966 <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> 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>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> 1973 1968 <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> 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>1969 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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">6.1.1. Status Code and Reason Phrase</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1976 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1977 1972 <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> 1978 1973 <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> … … 1982 1977 <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> 1983 1978 <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> 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>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> 1985 1980 <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> 1986 1981 <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> 1987 1982 <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> 1988 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1983 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1989 1984 <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> 1990 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 1991 1986 <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> 1992 1987 <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> 1993 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1994 1989 <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> 1995 1990 <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> 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>1991 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 1997 1992 <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> 1998 1993 <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> 1999 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>1994 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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"> 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> 2001 1996 <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> 2002 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 2003 1998 <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> 2004 1999 <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> … … 2006 2001 <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> 2007 2002 <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> 2008 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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> 2009 2004 <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> 2010 2005 <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> … … 2049 2044 <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> 2050 2045 <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> 2051 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>2046 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2052 2047 <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> 2053 2048 <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> 2054 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>2049 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2055 2050 <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> 2056 2051 <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> … … 2066 2061 <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> 2067 2062 <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> 2068 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>2063 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </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">6.2. Response Header Fields</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2070 <tr><td class="lineno" 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 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2071 2066 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The response-header fields allow the server to pass additional</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2072 2067 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> information about the response which cannot be placed in the Status-</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2073 2068 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Line. These header fields give information about the server and</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2074 2069 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> about further access to the resource identified by the Request-URI.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2075 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>2070 <tr><td class="lineno" 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 2071 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> response-header = Accept-Ranges ; Section 14.5</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2077 2072 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> | Age ; Section 14.6</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> … … 2083 2078 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> | Vary ; Section 14.44</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2084 2079 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> | WWW-Authenticate ; Section 14.47</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2085 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>2080 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2086 2081 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Response-header field names can be extended reliably only in</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2087 2082 <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> … … 2090 2085 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> be response-header fields. Unrecognized header fields are treated as</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2091 2086 <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> 2092 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>2093 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">7. </span> Entity</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>2087 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2088 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">7. Entity</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2094 2089 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 2095 2090 <tr><td class="lineno" valign="top"></td><td class="left"> Request and Response messages MAY transfer an entity if not otherwise</td><td> </td><td class="right"> Request and Response messages MAY transfer an entity if not otherwise</td><td class="lineno" valign="top"></td></tr> … … 2110 2105 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 2111 2106 <tr><td><a name="diff0031" /></td></tr> 2112 <tr><td class="lineno" valign="top"></td><td class="lblock"> entity-header = Allow ; Section <span class="delete">14.7</span></td><td> </td><td class="rblock"> entity-header = Allow ; <span class="insert">[Part2],</span> Section <span class="insert">10.1</span></td><td class="lineno" valign="top"></td></tr>2107 <tr><td class="lineno" valign="top"></td><td class="lblock"> entity-header = Allow ; <span class="delete">Section 14.7</span></td><td> </td><td class="rblock"> entity-header = Allow ; <span class="insert">[Part2], Section 10.1</span></td><td class="lineno" valign="top"></td></tr> 2113 2108 <tr><td class="lineno" valign="top"></td><td class="lblock"> | Content-Encoding ; Section <span class="delete">14.11</span></td><td> </td><td class="rblock"> | Content-Encoding ; Section <span class="insert">5.5</span></td><td class="lineno" valign="top"></td></tr> 2114 2109 <tr><td class="lineno" valign="top"></td><td class="lblock"> | Content-Language ; Section <span class="delete">14.12</span></td><td> </td><td class="rblock"> | Content-Language ; Section <span class="insert">5.6</span></td><td class="lineno" valign="top"></td></tr> 2115 <tr><td class="lineno" valign="top"></td><td class="lblock"> | Content-Length ; Section <span class="delete">14.13</span></td><td> </td><td class="rblock"> | Content-Length ; <span class="insert">[Part1],</span> Section <span class="insert">8.2</span></td><td class="lineno" valign="top"></td></tr>2110 <tr><td class="lineno" valign="top"></td><td class="lblock"> | Content-Length ; <span class="delete">Section 14.13</span></td><td> </td><td class="rblock"> | Content-Length ; <span class="insert">[Part1], Section 8.2</span></td><td class="lineno" valign="top"></td></tr> 2116 2111 <tr><td class="lineno" valign="top"></td><td class="lblock"> | Content-Location ; Section <span class="delete">14.14</span></td><td> </td><td class="rblock"> | Content-Location ; Section <span class="insert">5.7</span></td><td class="lineno" valign="top"></td></tr> 2117 2112 <tr><td class="lineno" valign="top"></td><td class="lblock"> | Content-MD5 ; Section <span class="delete">14.15</span></td><td> </td><td class="rblock"> | Content-MD5 ; Section <span class="insert">5.8</span></td><td class="lineno" valign="top"></td></tr> 2118 <tr><td class="lineno" valign="top"></td><td class="lblock"> | Content-Range ; Section <span class="delete">14.16</span></td><td> </td><td class="rblock"> | Content-Range ; <span class="insert">[Part5],</span> Section <span class="insert">5.2</span></td><td class="lineno" valign="top"></td></tr>2113 <tr><td class="lineno" valign="top"></td><td class="lblock"> | Content-Range ; <span class="delete">Section 14.16</span></td><td> </td><td class="rblock"> | Content-Range ; <span class="insert">[Part5], Section 5.2</span></td><td class="lineno" valign="top"></td></tr> 2119 2114 <tr><td class="lineno" valign="top"></td><td class="lblock"> | Content-Type ; Section <span class="delete">14.17</span></td><td> </td><td class="rblock"> | Content-Type ; Section <span class="insert">5.9</span></td><td class="lineno" valign="top"></td></tr> 2120 <tr><td class="lineno" valign="top"></td><td class="lblock"> | Expires ; Section <span class="delete">14.21</span></td><td> </td><td class="rblock"> | Expires ; <span class="insert">[Part6],</span> Section <span class="insert">3.3</span></td><td class="lineno" valign="top"></td></tr>2121 <tr><td class="lineno" valign="top"></td><td class="lblock"> | Last-Modified ; Section <span class="delete">14.29</span></td><td> </td><td class="rblock"> | Last-Modified ; <span class="insert">[Part4],</span> Section <span class="insert">6.6</span></td><td class="lineno" valign="top"></td></tr>2115 <tr><td class="lineno" valign="top"></td><td class="lblock"> | Expires ; <span class="delete">Section 14.21</span></td><td> </td><td class="rblock"> | Expires ; <span class="insert">[Part6], Section 3.3</span></td><td class="lineno" valign="top"></td></tr> 2116 <tr><td class="lineno" valign="top"></td><td class="lblock"> | Last-Modified ; <span class="delete">Section 14.29</span></td><td> </td><td class="rblock"> | Last-Modified ; <span class="insert">[Part4], Section 6.6</span></td><td class="lineno" valign="top"></td></tr> 2122 2117 <tr><td class="lineno" valign="top"></td><td class="left"> | extension-header</td><td> </td><td class="right"> | extension-header</td><td class="lineno" valign="top"></td></tr> 2123 2118 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> … … 2140 2135 <tr><td class="lineno" valign="top"></td><td class="left"> An entity-body is only present in a message when a message-body is</td><td> </td><td class="right"> An entity-body is only present in a message when a message-body is</td><td class="lineno" valign="top"></td></tr> 2141 2136 <tr><td><a name="diff0033" /></td></tr> 2142 <tr><td class="lineno" valign="top"></td><td class="lblock"> present, as described in Section <span class="delete">4.3.</span> The entity-body is obtained</td><td> </td><td class="rblock"> present, as described in Section <span class="insert">4.3 of [Part1].</span> The entity-body is</td><td class="lineno" valign="top"></td></tr>2143 <tr><td class="lineno" valign="top"></td><td class="lblock"> from the message-body by decoding any Transfer-Encoding that might</td><td> </td><td class="rblock"> obtained from the message-body by decoding any Transfer-Encoding that</td><td class="lineno" valign="top"></td></tr>2144 <tr><td class="lineno" valign="top"></td><td class="lblock"> have been applied to ensure safe and proper transfer of the message.</td><td> </td><td class="rblock"> might have been applied to ensure safe and proper transfer of the</td><td class="lineno" valign="top"></td></tr>2145 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> message.</td><td class="lineno" valign="top"></td></tr>2137 <tr><td class="lineno" valign="top"></td><td class="lblock"> present, as described in Section 4.3<span class="delete">. The entity-body is obtained</span></td><td> </td><td class="rblock"> present, as described in Section 4.3<span class="insert"> of [Part1]. The entity-body is</span></td><td class="lineno" valign="top"></td></tr> 2138 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">from the message-body by decoding any Transfer-Encoding that migh</span>t</td><td> </td><td class="rblock"> <span class="insert">obtained from the message-body by decoding any Transfer-Encoding tha</span>t</td><td class="lineno" valign="top"></td></tr> 2139 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">have been applied to ensure safe and proper transfer of the message.</span></td><td> </td><td class="rblock"> <span class="insert">might have been applied to ensure safe and proper transfer of the</span></td><td class="lineno" valign="top"></td></tr> 2140 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> message.</span></td><td class="lineno" valign="top"></td></tr> 2146 2141 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 2147 2142 <tr><td><a name="diff0034" /></td></tr> … … 2184 2179 <tr><td class="lineno" valign="top"></td><td class="left"> The entity-length of a message is the length of the message-body</td><td> </td><td class="right"> The entity-length of a message is the length of the message-body</td><td class="lineno" valign="top"></td></tr> 2185 2180 <tr><td><a name="diff0037" /></td></tr> 2186 <tr><td class="lineno" valign="top"></td><td class="lblock"> before any transfer-codings have been applied. Section 4.4 defines</td><td> </td><td class="rblock"> before any transfer-codings have been applied. Section 4.4 <span class="insert">of</span></td><td class="lineno" valign="top"></td></tr>2187 <tr><td class="lineno" valign="top"></td><td class="lblock"> how the transfer-length of a message-body is determined.</td><td> </td><td class="rblock"><span class="insert"> [Part1]</span> defines how the transfer-length of a message-body is</td><td class="lineno" valign="top"></td></tr>2188 <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"> determined.</td><td class="lineno" valign="top"></td></tr>2181 <tr><td class="lineno" valign="top"></td><td class="lblock"> before any transfer-codings have been applied. Section 4.4 <span class="delete">defines</span></td><td> </td><td class="rblock"> before any transfer-codings have been applied. Section 4.4 <span class="insert">of</span></td><td class="lineno" valign="top"></td></tr> 2182 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">how the transfer-length of a message-body is determined.</span></td><td> </td><td class="rblock"> <span class="insert">[Part1] defines how the transfer-length of a message-body is</span></td><td class="lineno" valign="top"></td></tr> 2183 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> </span></td><td> </td><td class="rblock"> <span class="insert">determined.</span></td><td class="lineno" valign="top"></td></tr> 2189 2184 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">8. Connections</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2190 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>2185 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2191 2186 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">8.1. Persistent Connections</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2192 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>2187 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2193 2188 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">8.1.1. Purpose</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 2194 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>2189 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">