Changeset 1557 for draft-ietf-httpbis/latest/p1-messaging.html
- Timestamp:
- 03/03/12 23:56:54 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p1-messaging.html
r1556 r1557 668 668 <li>3. <a href="#http.message">Message Format</a><ul> 669 669 <li>3.1 <a href="#start.line">Start Line</a><ul> 670 <li>3.1.1 <a href="#request.line">Request -Line</a><ul>670 <li>3.1.1 <a href="#request.line">Request Line</a><ul> 671 671 <li>3.1.1.1 <a href="#method">Method</a></li> 672 672 <li>3.1.1.2 <a href="#request-target">request-target</a></li> 673 673 </ul> 674 674 </li> 675 <li>3.1.2 <a href="#status.line">Response Status -Line</a><ul>675 <li>3.1.2 <a href="#status.line">Response Status Line</a><ul> 676 676 <li>3.1.2.1 <a href="#status.code">Status Code</a></li> 677 677 <li>3.1.2.2 <a href="#reason.phrase">Reason Phrase</a></li> … … 919 919 <div id="rfc.iref.r.2"></div> 920 920 <div id="rfc.iref.r.3"></div> 921 <p id="rfc.section.2.1.p.6">A client sends an HTTP request to the server in the form of a <dfn>request</dfn> message, beginning with a request-line that includes a method, URI, and protocol version (<a href="#request.line" title="Request -Line">Section 3.1.1</a>), followed by MIME-like header fields containing request modifiers, client information, and payload metadata (<a href="#header.fields" title="Header Fields">Section 3.2</a>), an empty line to indicate the end of the header section, and finally a message body containing the payload body (if any, <a href="#message.body" title="Message Body">Section 3.3</a>).921 <p id="rfc.section.2.1.p.6">A client sends an HTTP request to the server in the form of a <dfn>request</dfn> message, beginning with a request-line that includes a method, URI, and protocol version (<a href="#request.line" title="Request Line">Section 3.1.1</a>), followed by MIME-like header fields containing request modifiers, client information, and payload metadata (<a href="#header.fields" title="Header Fields">Section 3.2</a>), an empty line to indicate the end of the header section, and finally a message body containing the payload body (if any, <a href="#message.body" title="Message Body">Section 3.3</a>). 922 922 </p> 923 923 <p id="rfc.section.2.1.p.7">A server responds to the client's request by sending one or more HTTP <dfn>response</dfn> messages, each beginning with a status line that includes the protocol version, a success or error code, and textual reason 924 phrase (<a href="#status.line" title="Response Status -Line">Section 3.1.2</a>), possibly followed by MIME-like header fields containing server information, resource metadata, and payload metadata (<a href="#header.fields" title="Header Fields">Section 3.2</a>), an empty line to indicate the end of the header section, and finally a message body containing the payload body (if any, <a href="#message.body" title="Message Body">Section 3.3</a>).924 phrase (<a href="#status.line" title="Response Status Line">Section 3.1.2</a>), possibly followed by MIME-like header fields containing server information, resource metadata, and payload metadata (<a href="#header.fields" title="Header Fields">Section 3.2</a>), an empty line to indicate the end of the header section, and finally a message body containing the payload body (if any, <a href="#message.body" title="Message Body">Section 3.3</a>). 925 925 </p> 926 926 <p id="rfc.section.2.1.p.8">The following example illustrates a typical message exchange for a GET request on the URI "http://www.example.com/hello.txt":</p> … … 1056 1056 corresponding specification of HTTP. 1057 1057 </p> 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> = <a href="#http.version" class="smpl">HTTP-Prot-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- Prot-Name</a> = %x48.54.54.50 ; "HTTP", case-sensitive1058 <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> = <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 … … 1079 1079 by a proxy <em class="bcp14">MUST</em> be forwarded downstream unless the header field's field-name is listed in the message's Connection header-field (see <a href="#header.connection" id="rfc.xref.header.connection.2" title="Connection">Section 8.1</a>). These requirements allow HTTP's functionality to be enhanced without requiring prior update of deployed intermediaries. 1080 1080 </p> 1081 <p id="rfc.section.2.6.p.8">Intermediaries that process HTTP messages (i.e., all intermediaries other than those acting as tunnels) <em class="bcp14">MUST</em> send their own HTTP- Version in forwarded messages. In other words, they <em class="bcp14">MUST NOT</em> blindly forward the first line of an HTTP message without ensuring that the protocol version in that message matches a version1081 <p id="rfc.section.2.6.p.8">Intermediaries that process HTTP messages (i.e., all intermediaries other than those acting as tunnels) <em class="bcp14">MUST</em> send their own HTTP-version in forwarded messages. In other words, they <em class="bcp14">MUST NOT</em> blindly forward the first line of an HTTP message without ensuring that the protocol version in that message matches a version 1082 1082 to which that intermediary is conformant for both the receiving and sending of messages. Forwarding an HTTP message without 1083 rewriting the HTTP- Version might result in communication errors when downstream recipients use the message sender's version1083 rewriting the HTTP-version might result in communication errors when downstream recipients use the message sender's version 1084 1084 to determine what features are safe to use for later communication with that sender. 1085 1085 </p> … … 1097 1097 <p id="rfc.section.2.6.p.12">An HTTP server <em class="bcp14">MAY</em> send an HTTP/1.0 response to an HTTP/1.0 request if it is known or suspected that the client incorrectly implements the HTTP 1098 1098 specification and is incapable of correctly processing later version responses, such as when a client fails to parse the version 1099 number correctly or when an intermediary is known to blindly forward the HTTP- Version even when it doesn't conform to the1099 number correctly or when an intermediary is known to blindly forward the HTTP-version even when it doesn't conform to the 1100 1100 given minor version of the protocol. Such protocol downgrades <em class="bcp14">SHOULD NOT</em> be performed unless triggered by specific client attributes, such as when one or more of the request header fields (e.g., 1101 1101 User-Agent) uniquely match the values sent by a client known to be in error. … … 1228 1228 <h2 id="rfc.section.3.1"><a href="#rfc.section.3.1">3.1</a> <a id="start.line" href="#start.line">Start Line</a></h2> 1229 1229 <p id="rfc.section.3.1.p.1">An HTTP message can either be a request from client to server or a response from server to client. Syntactically, the two 1230 types of message differ only in the start-line, which is either a Request-Line (for requests) or a Status-Line (for responses),1230 types of message differ only in the start-line, which is either a request-line (for requests) or a status-line (for responses), 1231 1231 and in the algorithm for determining the length of the message body (<a href="#message.body" title="Message Body">Section 3.3</a>). In theory, a client could receive requests and a server could receive responses, distinguishing them by their different 1232 1232 start-line formats, but in practice servers are implemented to only expect a request (a response is interpreted as an unknown 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> = <a href="#request.line" class="smpl"> Request-Line</a> / <a href="#status.line" class="smpl">Status-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 … … 1239 1239 Likewise, the presence of such whitespace in a response might be ignored by some clients or cause others to cease parsing. 1240 1240 </p> 1241 <h3 id="rfc.section.3.1.1"><a href="#rfc.section.3.1.1">3.1.1</a> <a id="request.line" href="#request.line">Request -Line</a></h3>1242 <p id="rfc.section.3.1.1.p.1"> The Request-Line begins with a method token, followed by a single space (SP), the request-target, another single space (SP),1241 <h3 id="rfc.section.3.1.1"><a href="#rfc.section.3.1.1">3.1.1</a> <a id="request.line" href="#request.line">Request Line</a></h3> 1242 <p id="rfc.section.3.1.1.p.1">A request-line begins with a method token, followed by a single space (SP), the request-target, another single space (SP), 1243 1243 the protocol version, and ending with CRLF. 1244 1244 </p> 1245 <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.27"></span> <a href="#request.line" class="smpl"> Request-Line</a> = <a href="#method" class="smpl">Method</a> <a href="#core.rules" class="smpl">SP</a> <a href="#request-target" class="smpl">request-target</a> <a href="#core.rules" class="smpl">SP</a> <a href="#http.version" class="smpl">HTTP-Version</a> <a href="#core.rules" class="smpl">CRLF</a>1245 <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.27"></span> <a href="#request.line" class="smpl">request-line</a> = <a href="#method" class="smpl">method</a> <a href="#core.rules" class="smpl">SP</a> <a href="#request-target" class="smpl">request-target</a> <a href="#core.rules" class="smpl">SP</a> <a href="#http.version" class="smpl">HTTP-version</a> <a href="#core.rules" class="smpl">CRLF</a> 1246 1246 </pre><h4 id="rfc.section.3.1.1.1"><a href="#rfc.section.3.1.1.1">3.1.1.1</a> <a id="method" href="#method">Method</a></h4> 1247 <p id="rfc.section.3.1.1.1.p.1">The Method token indicates the request method to be performed on the target resource. The request method is case-sensitive.</p> 1248 <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.28"></span> <a href="#method" class="smpl">Method</a> = <a href="#rule.token.separators" class="smpl">token</a> 1249 </pre><p id="rfc.section.3.1.1.1.p.3">See <a href="p2-semantics.html#method" title="Method">Section 2</a> of <a href="#Part2" id="rfc.xref.Part2.3"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a> for further information, such as the list of methods defined by this specification, the IANA registry, and considerations 1250 for new methods. 1247 <p id="rfc.section.3.1.1.1.p.1">The method token indicates the request method to be performed on the target resource. The request method is case-sensitive.</p> 1248 <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.28"></span> <a href="#method" class="smpl">method</a> = <a href="#rule.token.separators" class="smpl">token</a> 1249 </pre><p id="rfc.section.3.1.1.1.p.3">The methods defined by this specification can be found in <a href="p2-semantics.html#method" title="Method">Section 2</a> of <a href="#Part2" id="rfc.xref.Part2.3"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>, along with information regarding the HTTP method registry and considerations for defining new methods. 1251 1250 </p> 1252 1251 <h4 id="rfc.section.3.1.1.2"><a href="#rfc.section.3.1.1.2">3.1.1.2</a> <a id="request-target" href="#request-target">request-target</a></h4> … … 1267 1266 </p> 1268 1267 </div> 1269 <h3 id="rfc.section.3.1.2"><a href="#rfc.section.3.1.2">3.1.2</a> <a id="status.line" href="#status.line">Response Status -Line</a></h3>1270 <p id="rfc.section.3.1.2.p.1">The first line of a Response message is the Status-Line, consisting of the protocol version, a space (SP), the status code,1268 <h3 id="rfc.section.3.1.2"><a href="#rfc.section.3.1.2">3.1.2</a> <a id="status.line" href="#status.line">Response Status Line</a></h3> 1269 <p id="rfc.section.3.1.2.p.1">The first line of a response message is the status-line, consisting of the protocol version, a space (SP), the status code, 1271 1270 another space, a possibly-empty textual phrase describing the status code, and ending with CRLF. 1272 1271 </p> 1273 <div id="rfc.figure.u.16"></div><pre class="inline"><span id="rfc.iref.g.30"></span> <a href="#status.line" class="smpl"> Status-Line</a> = <a href="#http.version" class="smpl">HTTP-Version</a> <a href="#core.rules" class="smpl">SP</a> <a href="#status.code" class="smpl">Status-Code</a> <a href="#core.rules" class="smpl">SP</a> <a href="#reason.phrase" class="smpl">Reason-Phrase</a> <a href="#core.rules" class="smpl">CRLF</a>1272 <div id="rfc.figure.u.16"></div><pre class="inline"><span id="rfc.iref.g.30"></span> <a href="#status.line" class="smpl">status-line</a> = <a href="#http.version" class="smpl">HTTP-version</a> <a href="#core.rules" class="smpl">SP</a> <a href="#status.code" class="smpl">status-code</a> <a href="#core.rules" class="smpl">SP</a> <a href="#reason.phrase" class="smpl">reason-phrase</a> <a href="#core.rules" class="smpl">CRLF</a> 1274 1273 </pre><h4 id="rfc.section.3.1.2.1"><a href="#rfc.section.3.1.2.1">3.1.2.1</a> <a id="status.code" href="#status.code">Status Code</a></h4> 1275 <p id="rfc.section.3.1.2.1.p.1">The Status-Code element is a 3-digit integer result code of the attempt to understand and satisfy the request. See <a href="p2-semantics.html#status.code.and.reason.phrase" title="Status Code and Reason Phrase">Section 4</a> of <a href="#Part2" id="rfc.xref.Part2.5"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a> for further information, such as the list of status codes defined by this specification, the IANA registry, and considerations1274 <p id="rfc.section.3.1.2.1.p.1">The status-code element is a 3-digit integer result code of the attempt to understand and satisfy the request. See <a href="p2-semantics.html#status.code.and.reason.phrase" title="Status Code and Reason Phrase">Section 4</a> of <a href="#Part2" id="rfc.xref.Part2.5"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a> for further information, such as the list of status codes defined by this specification, the IANA registry, and considerations 1276 1275 for new status codes. 1277 1276 </p> 1278 <div id="rfc.figure.u.17"></div><pre class="inline"><span id="rfc.iref.g.31"></span> <a href="#status.code" class="smpl"> Status-Code</a> = 3<a href="#core.rules" class="smpl">DIGIT</a>1277 <div id="rfc.figure.u.17"></div><pre class="inline"><span id="rfc.iref.g.31"></span> <a href="#status.code" class="smpl">status-code</a> = 3<a href="#core.rules" class="smpl">DIGIT</a> 1279 1278 </pre><h4 id="rfc.section.3.1.2.2"><a href="#rfc.section.3.1.2.2">3.1.2.2</a> <a id="reason.phrase" href="#reason.phrase">Reason Phrase</a></h4> 1280 1279 <p id="rfc.section.3.1.2.2.p.1">The Reason Phrase exists for the sole purpose of providing a textual description associated with the numeric status code, … … 1282 1281 client <em class="bcp14">SHOULD</em> ignore the content of the Reason Phrase. 1283 1282 </p> 1284 <div id="rfc.figure.u.18"></div><pre class="inline"><span id="rfc.iref.g.32"></span> <a href="#reason.phrase" class="smpl"> Reason-Phrase</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> )1283 <div id="rfc.figure.u.18"></div><pre class="inline"><span id="rfc.iref.g.32"></span> <a href="#reason.phrase" class="smpl">reason-phrase</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> ) 1285 1284 </pre><h2 id="rfc.section.3.2"><a href="#rfc.section.3.2">3.2</a> <a id="header.fields" href="#header.fields">Header Fields</a></h2> 1286 1285 <p id="rfc.section.3.2.p.1">Each HTTP header field consists of a case-insensitive field name followed by a colon (":"), optional whitespace, and the field … … 1616 1615 the client <em class="bcp14">MUST</em> include the terminating CRLF octets as part of the message body length. 1617 1616 </p> 1618 <p id="rfc.section.3.5.p.2">In the interest of robustness, servers <em class="bcp14">SHOULD</em> ignore at least one empty line received where a Request-Line is expected. In other words, if the server is reading the protocol1617 <p id="rfc.section.3.5.p.2">In the interest of robustness, servers <em class="bcp14">SHOULD</em> ignore at least one empty line received where a request-line is expected. In other words, if the server is reading the protocol 1619 1618 stream at the beginning of a message and receives a CRLF first, it <em class="bcp14">SHOULD</em> ignore the CRLF. Likewise, although the line terminator for the start-line and header fields is the sequence CRLF, we recommend 1620 1619 that recipients recognize a single LF as a line terminator and ignore any CR. … … 1653 1652 cache, and then return the response. Note that the proxy <em class="bcp14">MAY</em> forward the request on to another proxy or directly to the server specified by the absolute-URI. In order to avoid request 1654 1653 loops, a proxy that forwards requests to other proxies <em class="bcp14">MUST</em> be able to recognize and exclude all of its own server names, including any aliases, local variations, or literal IP addresses. 1655 An example Request-Line would be:1654 An example request-line would be: 1656 1655 </p> 1657 1656 </div> … … 1724 1723 <li>the authority component, as specified in the Host header field (<a href="#header.host" id="rfc.xref.header.host.1" title="Host">Section 8.2</a>), and 1725 1724 </li> 1726 <li>the request-target obtained from the Request-Line, unless the request-target is just the asterisk "*".</li>1725 <li>the request-target obtained from the request-line, unless the request-target is just the asterisk "*".</li> 1727 1726 </ul> 1728 1727 <p id="rfc.section.4.3.p.5">If the request-target uses the origin form or the asterisk form, and the Host header field is not present, then the effective … … 1778 1777 for the recipient to verify that it has received the full message. 1779 1778 </p> 1780 <div id="rfc.figure.u.49"></div><pre class="inline"><span id="rfc.iref.g.62"></span><span id="rfc.iref.g.63"></span><span id="rfc.iref.g.64"></span><span id="rfc.iref.g.65"></span><span id="rfc.iref.g.66"></span><span id="rfc.iref.g.67"></span><span id="rfc.iref.g.68"></span><span id="rfc.iref.g.69"></span><span id="rfc.iref.g.70"></span><span id="rfc.iref.g.71"></span><span id="rfc.iref.g.72"></span> <a href="#chunked.encoding" class="smpl"> Chunked-Body</a> = *<a href="#chunked.encoding" class="smpl">chunk</a>1779 <div id="rfc.figure.u.49"></div><pre class="inline"><span id="rfc.iref.g.62"></span><span id="rfc.iref.g.63"></span><span id="rfc.iref.g.64"></span><span id="rfc.iref.g.65"></span><span id="rfc.iref.g.66"></span><span id="rfc.iref.g.67"></span><span id="rfc.iref.g.68"></span><span id="rfc.iref.g.69"></span><span id="rfc.iref.g.70"></span><span id="rfc.iref.g.71"></span><span id="rfc.iref.g.72"></span> <a href="#chunked.encoding" class="smpl">chunked-body</a> = *<a href="#chunked.encoding" class="smpl">chunk</a> 1781 1780 <a href="#chunked.encoding" class="smpl">last-chunk</a> 1782 1781 <a href="#chunked.encoding" class="smpl">trailer-part</a> … … 2300 2299 <p id="rfc.section.8.2.p.1">The "Host" header field in a request provides the host and port information from the target resource's URI, enabling the origin 2301 2300 server to distinguish between resources while servicing requests for multiple host names on a single IP address. Since the 2302 Host field-value is critical information for handling a request, it <em class="bcp14">SHOULD</em> be sent as the first header field following the Request-Line.2301 Host field-value is critical information for handling a request, it <em class="bcp14">SHOULD</em> be sent as the first header field following the request-line. 2303 2302 </p> 2304 2303 <div id="rfc.figure.u.57"></div><pre class="inline"><span id="rfc.iref.g.82"></span> <a href="#header.host" class="smpl">Host</a> = <a href="#uri" class="smpl">uri-host</a> [ ":" <a href="#uri" class="smpl">port</a> ] ; <a href="#http.uri" title="http URI scheme">Section 2.7.1</a> … … 2553 2552 <dl> 2554 2553 <dt>version:</dt> 2555 <dd>The HTTP- Version number of the enclosed message (e.g., "1.1"). If not present, the version can be determined from the first2554 <dd>The HTTP-version number of the enclosed message (e.g., "1.1"). If not present, the version can be determined from the first 2556 2555 line of the body. 2557 2556 </dd> … … 2606 2605 <dl> 2607 2606 <dt>version:</dt> 2608 <dd>The HTTP- Version number of the enclosed messages (e.g., "1.1"). If not present, the version can be determined from the first2607 <dd>The HTTP-version number of the enclosed messages (e.g., "1.1"). If not present, the version can be determined from the first 2609 2608 line of the body. 2610 2609 </dd> … … 3074 3073 where specifically defined in the ABNF. (<a href="#whitespace" title="Whitespace">Section 3.2.1</a>) 3075 3074 </p> 3076 <p id="rfc.section.A.2.p.3">Clarify that the string "HTTP" in the HTTP- Version ABFN production is case sensitive. Restrict the version numbers to be single3075 <p id="rfc.section.A.2.p.3">Clarify that the string "HTTP" in the HTTP-version ABFN production is case sensitive. Restrict the version numbers to be single 3077 3076 digits due to the fact that implementations are known to handle multi-digit version numbers incorrectly. (<a href="#http.version" title="Protocol Versioning">Section 2.6</a>) 3078 3077 </p> … … 3107 3106 <div id="rfc.figure.u.65"></div> <pre class="inline"><a href="#rule.whitespace" class="smpl">BWS</a> = OWS 3108 3107 3109 <a href="#chunked.encoding" class="smpl">Chunked-Body</a> = *chunk last-chunk trailer-part CRLF3110 3108 <a href="#header.connection" class="smpl">Connection</a> = *( "," OWS ) connection-token *( OWS "," [ OWS 3111 3109 connection-token ] ) 3112 3110 <a href="#header.content-length" class="smpl">Content-Length</a> = 1*DIGIT 3113 3111 3114 <a href="#http.version" class="smpl">HTTP-Prot-Name</a> = %x48.54.54.50 ; HTTP3115 <a href="#http.version" class="smpl">HTTP-Version</a> = HTTP-Prot-Name "/" DIGIT "." DIGIT3116 3112 <a href="#http.message" class="smpl">HTTP-message</a> = start-line *( header-field CRLF ) CRLF [ message-body 3117 3113 ] 3114 <a href="#http.version" class="smpl">HTTP-name</a> = %x48.54.54.50 ; HTTP 3115 <a href="#http.version" class="smpl">HTTP-version</a> = HTTP-name "/" DIGIT "." DIGIT 3118 3116 <a href="#header.host" class="smpl">Host</a> = uri-host [ ":" port ] 3119 3117 3120 <a href="#method" class="smpl">Method</a> = token3121 3122 3118 <a href="#rule.whitespace" class="smpl">OWS</a> = *( SP / HTAB ) 3123 3119 3124 3120 <a href="#rule.whitespace" class="smpl">RWS</a> = 1*( SP / HTAB ) 3125 <a href="#reason.phrase" class="smpl">Reason-Phrase</a> = *( HTAB / SP / VCHAR / obs-text )3126 <a href="#request.line" class="smpl">Request-Line</a> = Method SP request-target SP HTTP-Version CRLF3127 3128 <a href="#status.code" class="smpl">Status-Code</a> = 3DIGIT3129 <a href="#status.line" class="smpl">Status-Line</a> = HTTP-Version SP Status-Code SP Reason-Phrase CRLF3130 3121 3131 3122 <a href="#header.te" class="smpl">TE</a> = [ ( "," / t-codings ) *( OWS "," [ OWS t-codings ] ) ] … … 3151 3142 <a href="#chunked.encoding" class="smpl">chunk-ext-val</a> = token / quoted-str-nf 3152 3143 <a href="#chunked.encoding" class="smpl">chunk-size</a> = 1*HEXDIG 3144 <a href="#chunked.encoding" class="smpl">chunked-body</a> = *chunk last-chunk trailer-part CRLF 3153 3145 <a href="#rule.comment" class="smpl">comment</a> = "(" *( ctext / quoted-cpair / comment ) ")" 3154 3146 <a href="#header.connection" class="smpl">connection-token</a> = token … … 3169 3161 3170 3162 <a href="#message.body" class="smpl">message-body</a> = *OCTET 3163 <a href="#method" class="smpl">method</a> = token 3171 3164 3172 3165 <a href="#header.fields" class="smpl">obs-fold</a> = CRLF ( SP / HTAB ) … … 3195 3188 <a href="#quality.values" class="smpl">qvalue</a> = ( "0" [ "." *3DIGIT ] ) / ( "1" [ "." *3"0" ] ) 3196 3189 3190 <a href="#reason.phrase" class="smpl">reason-phrase</a> = *( HTAB / SP / VCHAR / obs-text ) 3197 3191 <a href="#header.via" class="smpl">received-by</a> = ( uri-host [ ":" port ] ) / pseudonym 3198 3192 <a href="#header.via" class="smpl">received-protocol</a> = [ protocol-name "/" ] protocol-version 3199 3193 <a href="#uri" class="smpl">relative-part</a> = <relative-part, defined in [RFC3986], Section 4.2> 3194 <a href="#request.line" class="smpl">request-line</a> = method SP request-target SP HTTP-version CRLF 3200 3195 <a href="#request-target" class="smpl">request-target</a> = "*" / absolute-URI / ( path-absolute [ "?" query ] ) 3201 3196 / authority … … 3203 3198 <a href="#rule.token.separators" class="smpl">special</a> = "(" / ")" / "<" / ">" / "@" / "," / ";" / ":" / "\" / 3204 3199 DQUOTE / "/" / "[" / "]" / "?" / "=" / "{" / "}" 3205 <a href="#http.message" class="smpl">start-line</a> = Request-Line / Status-Line 3200 <a href="#http.message" class="smpl">start-line</a> = request-line / status-line 3201 <a href="#status.code" class="smpl">status-code</a> = 3DIGIT 3202 <a href="#status.line" class="smpl">status-line</a> = HTTP-version SP status-code SP reason-phrase CRLF 3206 3203 3207 3204 <a href="#header.te" class="smpl">t-codings</a> = "trailers" / ( transfer-extension [ te-params ] ) … … 3223 3220 <a href="#rule.token.separators" class="smpl">word</a> = token / quoted-string 3224 3221 </pre> <div id="rfc.figure.u.66"></div> 3225 <p>ABNF diagnostics:</p><pre class="inline">; Chunked-Body defined but not used 3226 ; Connection defined but not used 3222 <p>ABNF diagnostics:</p><pre class="inline">; Connection defined but not used 3227 3223 ; Content-Length defined but not used 3228 3224 ; HTTP-message defined but not used … … 3234 3230 ; Upgrade defined but not used 3235 3231 ; Via defined but not used 3232 ; chunked-body defined but not used 3236 3233 ; http-URI defined but not used 3237 3234 ; https-URI defined but not used … … 3336 3333 </p> 3337 3334 <ul> 3338 <li>Replace string literals when the string really is case-sensitive (HTTP- Version).</li>3335 <li>Replace string literals when the string really is case-sensitive (HTTP-version).</li> 3339 3336 </ul> 3340 3337 <h2 id="rfc.section.C.5"><a href="#rfc.section.C.5">C.5</a> <a id="changes.since.03" href="#changes.since.03">Since draft-ietf-httpbis-p1-messaging-03</a></h2> … … 3392 3389 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/83">http://tools.ietf.org/wg/httpbis/trac/ticket/83</a>>: "OPTIONS * and proxies" 3393 3390 </li> 3394 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/94">http://tools.ietf.org/wg/httpbis/trac/ticket/94</a>>: " Reason-Phrase BNF"3391 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/94">http://tools.ietf.org/wg/httpbis/trac/ticket/94</a>>: "reason-phrase BNF" 3395 3392 </li> 3396 3393 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/111">http://tools.ietf.org/wg/httpbis/trac/ticket/111</a>>: "Use of TEXT" … … 3561 3558 <p id="rfc.section.C.16.p.1">Closed issues: </p> 3562 3559 <ul> 3563 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/273">http://tools.ietf.org/wg/httpbis/trac/ticket/273</a>>: "HTTP- Version should be redefined as fixed length pair of DIGIT . DIGIT"3560 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/273">http://tools.ietf.org/wg/httpbis/trac/ticket/273</a>>: "HTTP-version should be redefined as fixed length pair of DIGIT . DIGIT" 3564 3561 </li> 3565 3562 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/282">http://tools.ietf.org/wg/httpbis/trac/ticket/282</a>>: "Recommend minimum sizes for protocol elements" … … 3681 3678 <li><tt>chunk-ext-val</tt> <a href="#rfc.iref.g.68"><b>5.1</b></a></li> 3682 3679 <li><tt>chunk-size</tt> <a href="#rfc.iref.g.64"><b>5.1</b></a></li> 3683 <li><tt> Chunked-Body</tt> <a href="#rfc.iref.g.62"><b>5.1</b></a></li>3680 <li><tt>chunked-body</tt> <a href="#rfc.iref.g.62"><b>5.1</b></a></li> 3684 3681 <li><tt>comment</tt> <a href="#rfc.iref.g.49"><b>3.2.4</b></a></li> 3685 3682 <li><tt>Connection</tt> <a href="#rfc.iref.g.80"><b>8.1</b></a></li> … … 3702 3699 <li>HTAB <a href="#rfc.iref.g.8"><b>1.2</b></a></li> 3703 3700 <li><tt>HTTP-message</tt> <a href="#rfc.iref.g.25"><b>3</b></a></li> 3704 <li><tt>HTTP- Prot-Name</tt> <a href="#rfc.iref.g.15"><b>2.6</b></a></li>3701 <li><tt>HTTP-name</tt> <a href="#rfc.iref.g.15"><b>2.6</b></a></li> 3705 3702 <li><tt>http-URI</tt> <a href="#rfc.iref.g.23"><b>2.7.1</b></a></li> 3706 <li><tt>HTTP- Version</tt> <a href="#rfc.iref.g.14"><b>2.6</b></a></li>3703 <li><tt>HTTP-version</tt> <a href="#rfc.iref.g.14"><b>2.6</b></a></li> 3707 3704 <li><tt>https-URI</tt> <a href="#rfc.iref.g.24"><b>2.7.2</b></a></li> 3708 3705 <li><tt>last-chunk</tt> <a href="#rfc.iref.g.65"><b>5.1</b></a></li> 3709 3706 <li>LF <a href="#rfc.iref.g.9"><b>1.2</b></a></li> 3710 3707 <li><tt>message-body</tt> <a href="#rfc.iref.g.52"><b>3.3</b></a></li> 3711 <li><tt> Method</tt> <a href="#rfc.iref.g.28"><b>3.1.1.1</b></a></li>3708 <li><tt>method</tt> <a href="#rfc.iref.g.28"><b>3.1.1.1</b></a></li> 3712 3709 <li><tt>obs-fold</tt> <a href="#rfc.iref.g.37"><b>3.2</b></a></li> 3713 3710 <li><tt>obs-text</tt> <a href="#rfc.iref.g.47"><b>3.2.4</b></a></li> … … 3727 3724 <li><tt>quoted-string</tt> <a href="#rfc.iref.g.45"><b>3.2.4</b></a></li> 3728 3725 <li><tt>qvalue</tt> <a href="#rfc.iref.g.78"><b>5.4.1</b></a></li> 3729 <li><tt> Reason-Phrase</tt> <a href="#rfc.iref.g.32"><b>3.1.2.2</b></a></li>3726 <li><tt>reason-phrase</tt> <a href="#rfc.iref.g.32"><b>3.1.2.2</b></a></li> 3730 3727 <li><tt>received-by</tt> <a href="#rfc.iref.g.88"><b>8.4</b></a></li> 3731 3728 <li><tt>received-protocol</tt> <a href="#rfc.iref.g.85"><b>8.4</b></a></li> 3732 <li><tt> Request-Line</tt> <a href="#rfc.iref.g.27"><b>3.1.1</b></a></li>3729 <li><tt>request-line</tt> <a href="#rfc.iref.g.27"><b>3.1.1</b></a></li> 3733 3730 <li><tt>request-target</tt> <a href="#rfc.iref.g.29"><b>3.1.1.2</b></a></li> 3734 3731 <li><tt>RWS</tt> <a href="#rfc.iref.g.39"><b>3.2.1</b></a></li> … … 3736 3733 <li><tt>special</tt> <a href="#rfc.iref.g.44"><b>3.2.4</b></a></li> 3737 3734 <li><tt>start-line</tt> <a href="#rfc.iref.g.26"><b>3.1</b></a></li> 3738 <li><tt> Status-Code</tt> <a href="#rfc.iref.g.31"><b>3.1.2.1</b></a></li>3739 <li><tt> Status-Line</tt> <a href="#rfc.iref.g.30"><b>3.1.2</b></a></li>3735 <li><tt>status-code</tt> <a href="#rfc.iref.g.31"><b>3.1.2.1</b></a></li> 3736 <li><tt>status-line</tt> <a href="#rfc.iref.g.30"><b>3.1.2</b></a></li> 3740 3737 <li><tt>t-codings</tt> <a href="#rfc.iref.g.75"><b>5.4</b></a></li> 3741 3738 <li><tt>tchar</tt> <a href="#rfc.iref.g.43"><b>3.2.4</b></a></li>
Note: See TracChangeset
for help on using the changeset viewer.