Changeset 1559 for draft-ietf-httpbis/latest/p1-messaging.html
- Timestamp:
- 04/03/12 00:38:47 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p1-messaging.html
r1558 r1559 1057 1057 </p> 1058 1058 <p id="rfc.section.2.6.p.2">The version of an HTTP message is indicated by an HTTP-version field in the first line of the message. HTTP-version is case-sensitive.</p> 1059 <div id="rfc.figure.u.6"></div><pre class="inline"><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span> <a href="#http.version" class="smpl">HTTP-version</a> 1060 <a href="#http.version" class="smpl">HTTP-name</a> = %x48.54.54.50 ; "HTTP", case-sensitive1059 <div id="rfc.figure.u.6"></div><pre class="inline"><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span> <a href="#http.version" class="smpl">HTTP-version</a> = <a href="#http.version" class="smpl">HTTP-name</a> "/" <a href="#core.rules" class="smpl">DIGIT</a> "." <a href="#core.rules" class="smpl">DIGIT</a> 1060 <a href="#http.version" class="smpl">HTTP-name</a> = %x48.54.54.50 ; "HTTP", case-sensitive 1061 1061 </pre><p id="rfc.section.2.6.p.4">The HTTP version number consists of two decimal digits separated by a "." (period or decimal point). The first digit ("major 1062 1062 version") indicates the HTTP messaging syntax, whereas the second digit ("minor version") indicates the highest minor version … … 1208 1208 the end of the header section, and an optional message body. 1209 1209 </p> 1210 <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.25"></span> <a href="#http.message" class="smpl">HTTP-message</a> 1211 1212 1213 1210 <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.25"></span> <a href="#http.message" class="smpl">HTTP-message</a> = <a href="#http.message" class="smpl">start-line</a> 1211 *( <a href="#header.fields" class="smpl">header-field</a> <a href="#core.rules" class="smpl">CRLF</a> ) 1212 <a href="#core.rules" class="smpl">CRLF</a> 1213 [ <a href="#message.body" class="smpl">message-body</a> ] 1214 1214 </pre><p id="rfc.section.3.p.3">The normal procedure for parsing an HTTP message is to read the start-line into a structure, read each header field into a 1215 1215 hash table by field name until the empty line, and then use the parsed data to determine if a message body is expected. If … … 1233 1233 or invalid request method) and clients are implemented to only expect a response. 1234 1234 </p> 1235 <div id="rfc.figure.u.12"></div><pre class="inline"><span id="rfc.iref.g.26"></span> <a href="#http.message" class="smpl">start-line</a> 1235 <div id="rfc.figure.u.12"></div><pre class="inline"><span id="rfc.iref.g.26"></span> <a href="#http.message" class="smpl">start-line</a> = <a href="#request.line" class="smpl">request-line</a> / <a href="#status.line" class="smpl">status-line</a> 1236 1236 </pre><p id="rfc.section.3.1.p.4">Implementations <em class="bcp14">MUST NOT</em> send whitespace between the start-line and the first header field. The presence of such whitespace in a request might be an 1237 1237 attempt to trick a server into ignoring that field or processing the line after it as a new request, either of which might … … 1415 1415 <p id="rfc.section.3.2.4.p.11"> The backslash octet ("\") can be used as a single-octet quoting mechanism within comment constructs:</p> 1416 1416 </div> 1417 <div id="rfc.figure.u.25"></div><pre class="inline"><span id="rfc.iref.g.51"></span> <a href="#rule.quoted-cpair" class="smpl">quoted-cpair</a> 1417 <div id="rfc.figure.u.25"></div><pre class="inline"><span id="rfc.iref.g.51"></span> <a href="#rule.quoted-cpair" class="smpl">quoted-cpair</a> = "\" ( <a href="#core.rules" class="smpl">HTAB</a> / <a href="#core.rules" class="smpl">SP</a> / <a href="#core.rules" class="smpl">VCHAR</a> / <a href="#rule.quoted-string" class="smpl">obs-text</a> ) 1418 1418 </pre><p id="rfc.section.3.2.4.p.13">Senders <em class="bcp14">SHOULD NOT</em> escape octets in comments that do not require escaping (i.e., other than the backslash octet "\" and the parentheses "(" and 1419 1419 ")"). … … 1756 1756 transfer-coding is a property of the message rather than a property of the representation that is being transferred. 1757 1757 </p> 1758 <div id="rfc.figure.u.47"></div><pre class="inline"><span id="rfc.iref.g.55"></span><span id="rfc.iref.g.56"></span> <a href="#transfer.codings" class="smpl">transfer-coding</a> 1759 1760 1761 1762 1763 <a href="#transfer.codings" class="smpl">transfer-extension</a> 1758 <div id="rfc.figure.u.47"></div><pre class="inline"><span id="rfc.iref.g.55"></span><span id="rfc.iref.g.56"></span> <a href="#transfer.codings" class="smpl">transfer-coding</a> = "chunked" ; <a href="#chunked.encoding" title="Chunked Transfer Coding">Section 5.1</a> 1759 / "compress" ; <a href="#compress.coding" title="Compress Coding">Section 5.2.1</a> 1760 / "deflate" ; <a href="#deflate.coding" title="Deflate Coding">Section 5.2.2</a> 1761 / "gzip" ; <a href="#gzip.coding" title="Gzip Coding">Section 5.2.3</a> 1762 / <a href="#transfer.codings" class="smpl">transfer-extension</a> 1763 <a href="#transfer.codings" class="smpl">transfer-extension</a> = <a href="#rule.token.separators" class="smpl">token</a> *( <a href="#rule.whitespace" class="smpl">OWS</a> ";" <a href="#rule.whitespace" class="smpl">OWS</a> <a href="#rule.parameter" class="smpl">transfer-parameter</a> ) 1764 1764 </pre><div id="rule.parameter"> 1765 1765 <p id="rfc.section.5.p.3"> Parameters are in the form of attribute/value pairs.</p> 1766 1766 </div> 1767 <div id="rfc.figure.u.48"></div><pre class="inline"><span id="rfc.iref.g.57"></span><span id="rfc.iref.g.58"></span><span id="rfc.iref.g.59"></span><span id="rfc.iref.g.60"></span><span id="rfc.iref.g.61"></span> <a href="#rule.parameter" class="smpl">transfer-parameter</a> 1768 <a href="#rule.parameter" class="smpl">attribute</a> 1769 <a href="#rule.parameter" class="smpl">value</a> 1767 <div id="rfc.figure.u.48"></div><pre class="inline"><span id="rfc.iref.g.57"></span><span id="rfc.iref.g.58"></span><span id="rfc.iref.g.59"></span><span id="rfc.iref.g.60"></span><span id="rfc.iref.g.61"></span> <a href="#rule.parameter" class="smpl">transfer-parameter</a> = <a href="#rule.parameter" class="smpl">attribute</a> <a href="#rule.whitespace" class="smpl">BWS</a> "=" <a href="#rule.whitespace" class="smpl">BWS</a> <a href="#rule.parameter" class="smpl">value</a> 1768 <a href="#rule.parameter" class="smpl">attribute</a> = <a href="#rule.token.separators" class="smpl">token</a> 1769 <a href="#rule.parameter" class="smpl">value</a> = <a href="#rule.token.separators" class="smpl">word</a> 1770 1770 </pre><p id="rfc.section.5.p.5">All transfer-coding values are case-insensitive. HTTP/1.1 uses transfer-coding values in the TE header field (<a href="#header.te" id="rfc.xref.header.te.1" title="TE">Section 5.4</a>) and in the Transfer-Encoding header field (<a href="#header.transfer-encoding" id="rfc.xref.header.transfer-encoding.2" title="Transfer-Encoding">Section 3.3.1</a>). 1771 1771 </p> … … 1787 1787 <a href="#chunked.encoding" class="smpl">last-chunk</a> = 1*("0") [ <a href="#chunked.encoding" class="smpl">chunk-ext</a> ] <a href="#core.rules" class="smpl">CRLF</a> 1788 1788 1789 <a href="#chunked.encoding" class="smpl">chunk-ext</a> = *( ";" <a href="#chunked.encoding" class="smpl">chunk-ext-name</a> 1790 [ "=" <a href="#chunked.encoding" class="smpl">chunk-ext-val</a> ] ) 1789 <a href="#chunked.encoding" class="smpl">chunk-ext</a> = *( ";" <a href="#chunked.encoding" class="smpl">chunk-ext-name</a> [ "=" <a href="#chunked.encoding" class="smpl">chunk-ext-val</a> ] ) 1791 1790 <a href="#chunked.encoding" class="smpl">chunk-ext-name</a> = <a href="#rule.token.separators" class="smpl">token</a> 1792 1791 <a href="#chunked.encoding" class="smpl">chunk-ext-val</a> = <a href="#rule.token.separators" class="smpl">token</a> / <a href="#chunked.encoding" class="smpl">quoted-str-nf</a> … … 2330 2329 server chooses to switch protocols. Servers can use it to indicate what protocols they are willing to switch to. 2331 2330 </p> 2332 <div id="rfc.figure.u.59"></div><pre class="inline"><span id="rfc.iref.g.83"></span> <a href="#header.upgrade" class="smpl">Upgrade</a> = 1#<a href="#header.upgrade" class="smpl">protocol</a>2333 2334 <a href="#header.upgrade" class="smpl">protocol</a> = <a href="#header.upgrade" class="smpl">protocol-name</a> ["/" <a href="#header.upgrade" class="smpl">protocol-version</a>]2335 <a href="#header.upgrade" class="smpl">protocol-name</a> 2336 <a href="#header.upgrade" class="smpl">protocol-version</a> 2331 <div id="rfc.figure.u.59"></div><pre class="inline"><span id="rfc.iref.g.83"></span> <a href="#header.upgrade" class="smpl">Upgrade</a> = 1#<a href="#header.upgrade" class="smpl">protocol</a> 2332 2333 <a href="#header.upgrade" class="smpl">protocol</a> = <a href="#header.upgrade" class="smpl">protocol-name</a> ["/" <a href="#header.upgrade" class="smpl">protocol-version</a>] 2334 <a href="#header.upgrade" class="smpl">protocol-name</a> = <a href="#rule.token.separators" class="smpl">token</a> 2335 <a href="#header.upgrade" class="smpl">protocol-version</a> = <a href="#rule.token.separators" class="smpl">token</a> 2337 2336 </pre><p id="rfc.section.8.3.p.3">For example,</p> 2338 2337 <div id="rfc.figure.u.60"></div><pre class="text"> Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11
Note: See TracChangeset
for help on using the changeset viewer.