Changeset 249 for draft-ietf-httpbis/latest
- Timestamp:
- 26/05/08 14:09:17 (14 years ago)
- Location:
- draft-ietf-httpbis/latest
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p1-messaging.html
r247 r249 448 448 <tr> 449 449 <td class="header left"></td> 450 <td class="header right">May 19, 2008</td>450 <td class="header right">May 26, 2008</td> 451 451 </tr> 452 452 </table> … … 902 902 <dl class="empty"> 903 903 <dd>A construct "#" is defined, similar to "*", for defining lists of elements. The full form is "<n>#<m>element" indicating at 904 least <n> and at most <m> elements, each separated by one or more commas (",") and <em class="bcp14">OPTIONAL</em> linear white space (LWS). This makes the usual form of lists very easy; a rule such as 905 </dd> 906 <dd>( *LWS element *( *LWS "," *LWS element ))</dd> 907 <dd>can be shown as</dd> 908 <dd>1#element</dd> 904 least <n> and at most <m> elements, each separated by one or more commas (",") and <em class="bcp14">OPTIONAL</em> linear white space (LWS). This makes the usual form of lists very easy; a rule such as 905 <div id="rfc.figure.u.4"></div><pre class="text"> ( *<a href="#rule.LWS" class="smpl">LWS</a> element *( *<a href="#rule.LWS" class="smpl">LWS</a> "," *<a href="#rule.LWS" class="smpl">LWS</a> element ))</pre> </dd> 906 <dd>can be shown as 907 <div id="rfc.figure.u.5"></div><pre class="text"> 1#element</pre> </dd> 909 908 <dd>Wherever this construct is used, null elements are allowed, but do not contribute to the count of elements present. That is, 910 909 "(element), , (element) " is permitted, but counts as only two elements. Therefore, where at least one element is required, … … 933 932 </p> 934 933 </div> 935 <div id="rfc.figure.u. 4"></div><pre class="inline"><span id="rfc.iref.g.2"></span><span id="rfc.iref.g.3"></span><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span><span id="rfc.iref.g.6"></span><span id="rfc.iref.g.7"></span><span id="rfc.iref.g.8"></span><span id="rfc.iref.g.9"></span><span id="rfc.iref.g.10"></span><span id="rfc.iref.g.11"></span> <a href="#core.rules" class="smpl">OCTET</a> = %x00-FF934 <div id="rfc.figure.u.6"></div><pre class="inline"><span id="rfc.iref.g.2"></span><span id="rfc.iref.g.3"></span><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span><span id="rfc.iref.g.6"></span><span id="rfc.iref.g.7"></span><span id="rfc.iref.g.8"></span><span id="rfc.iref.g.9"></span><span id="rfc.iref.g.10"></span><span id="rfc.iref.g.11"></span> <a href="#core.rules" class="smpl">OCTET</a> = %x00-FF 936 935 ; any 8-bit sequence of data 937 936 <a href="#core.rules" class="smpl">CHAR</a> = %x01-7F … … 958 957 </p> 959 958 </div> 960 <div id="rfc.figure.u. 5"></div><pre class="inline"><span id="rfc.iref.g.12"></span> <a href="#rule.CRLF" class="smpl">CRLF</a> = <a href="#core.rules" class="smpl">CR</a> LF959 <div id="rfc.figure.u.7"></div><pre class="inline"><span id="rfc.iref.g.12"></span> <a href="#rule.CRLF" class="smpl">CRLF</a> = <a href="#core.rules" class="smpl">CR</a> LF 961 960 </pre><div id="rule.LWS"> 962 961 <p id="rfc.section.2.2.p.5"> HTTP/1.1 header field values can be folded onto multiple lines if the continuation line begins with a space or horizontal … … 964 963 </p> 965 964 </div> 966 <div id="rfc.figure.u. 6"></div><pre class="inline"><span id="rfc.iref.g.13"></span> <a href="#rule.LWS" class="smpl">LWS</a> = [<a href="#rule.CRLF" class="smpl">CRLF</a>] 1*( <a href="#core.rules" class="smpl">SP</a> | <a href="#core.rules" class="smpl">HTAB</a> )965 <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g.13"></span> <a href="#rule.LWS" class="smpl">LWS</a> = [<a href="#rule.CRLF" class="smpl">CRLF</a>] 1*( <a href="#core.rules" class="smpl">SP</a> | <a href="#core.rules" class="smpl">HTAB</a> ) 967 966 </pre><div id="rule.TEXT"> 968 967 <p id="rfc.section.2.2.p.7"> The TEXT rule is only used for descriptive field contents and values that are not intended to be interpreted by the message … … 970 969 </p> 971 970 </div> 972 <div id="rfc.figure.u. 7"></div><pre class="inline"><span id="rfc.iref.g.14"></span> <a href="#rule.TEXT" class="smpl">TEXT</a> = %x20-7E | %x80-FF | <a href="#rule.LWS" class="smpl">LWS</a>971 <div id="rfc.figure.u.9"></div><pre class="inline"><span id="rfc.iref.g.14"></span> <a href="#rule.TEXT" class="smpl">TEXT</a> = %x20-7E | %x80-FF | <a href="#rule.LWS" class="smpl">LWS</a> 973 972 ; any <a href="#core.rules" class="smpl">OCTET</a> except <a href="#core.rules" class="smpl">CTL</a>s, but including <a href="#rule.LWS" class="smpl">LWS</a> 974 973 </pre><p id="rfc.section.2.2.p.9">A CRLF is allowed in the definition of TEXT only as part of a header field continuation. It is expected that the folding LWS … … 978 977 <p id="rfc.section.2.2.p.10"> Hexadecimal numeric characters are used in several protocol elements.</p> 979 978 </div> 980 <div id="rfc.figure.u. 8"></div><pre class="inline"><span id="rfc.iref.g.15"></span> <a href="#rule.HEX" class="smpl">HEX</a> = "A" | "B" | "C" | "D" | "E" | "F"979 <div id="rfc.figure.u.10"></div><pre class="inline"><span id="rfc.iref.g.15"></span> <a href="#rule.HEX" class="smpl">HEX</a> = "A" | "B" | "C" | "D" | "E" | "F" 981 980 | "a" | "b" | "c" | "d" | "e" | "f" | <a href="#core.rules" class="smpl">DIGIT</a> 982 981 </pre><div id="rule.token.separators"> … … 984 983 </p> 985 984 </div> 986 <div id="rfc.figure.u. 9"></div><pre class="inline"><span id="rfc.iref.g.16"></span><span id="rfc.iref.g.17"></span><span id="rfc.iref.g.18"></span> <a href="#rule.token.separators" class="smpl">separators</a> = "(" | ")" | "<" | ">" | "@"985 <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.16"></span><span id="rfc.iref.g.17"></span><span id="rfc.iref.g.18"></span> <a href="#rule.token.separators" class="smpl">separators</a> = "(" | ")" | "<" | ">" | "@" 987 986 | "," | ";" | ":" | "\" | <a href="#core.rules" class="smpl">DQUOTE</a> 988 987 | "/" | "[" | "]" | "?" | "=" … … 1001 1000 </p> 1002 1001 </div> 1003 <div id="rfc.figure.u.1 0"></div><pre class="inline"><span id="rfc.iref.g.19"></span><span id="rfc.iref.g.20"></span> <a href="#rule.comment" class="smpl">comment</a> = "(" *( <a href="#rule.comment" class="smpl">ctext</a> | <a href="#rule.quoted-pair" class="smpl">quoted-pair</a> | <a href="#rule.comment" class="smpl">comment</a> ) ")"1002 <div id="rfc.figure.u.12"></div><pre class="inline"><span id="rfc.iref.g.19"></span><span id="rfc.iref.g.20"></span> <a href="#rule.comment" class="smpl">comment</a> = "(" *( <a href="#rule.comment" class="smpl">ctext</a> | <a href="#rule.quoted-pair" class="smpl">quoted-pair</a> | <a href="#rule.comment" class="smpl">comment</a> ) ")" 1004 1003 <a href="#rule.comment" class="smpl">ctext</a> = <any <a href="#rule.TEXT" class="smpl">TEXT</a> excluding "(" and ")"> 1005 1004 </pre><div id="rule.quoted-string"> 1006 1005 <p id="rfc.section.2.2.p.16"> A string of text is parsed as a single word if it is quoted using double-quote marks.</p> 1007 1006 </div> 1008 <div id="rfc.figure.u.1 1"></div><pre class="inline"><span id="rfc.iref.g.21"></span><span id="rfc.iref.g.22"></span> <a href="#rule.quoted-string" class="smpl">quoted-string</a> = ( <a href="#core.rules" class="smpl">DQUOTE</a> *(<a href="#rule.quoted-string" class="smpl">qdtext</a> | <a href="#rule.quoted-pair" class="smpl">quoted-pair</a> ) <a href="#core.rules" class="smpl">DQUOTE</a> )1007 <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.21"></span><span id="rfc.iref.g.22"></span> <a href="#rule.quoted-string" class="smpl">quoted-string</a> = ( <a href="#core.rules" class="smpl">DQUOTE</a> *(<a href="#rule.quoted-string" class="smpl">qdtext</a> | <a href="#rule.quoted-pair" class="smpl">quoted-pair</a> ) <a href="#core.rules" class="smpl">DQUOTE</a> ) 1009 1008 <a href="#rule.quoted-string" class="smpl">qdtext</a> = <any <a href="#rule.TEXT" class="smpl">TEXT</a> excluding <a href="#core.rules" class="smpl">DQUOTE</a> and "\"> 1010 1009 </pre><div id="rule.quoted-pair"> … … 1012 1011 </p> 1013 1012 </div> 1014 <div id="rfc.figure.u.1 2"></div><pre class="inline"><span id="rfc.iref.g.23"></span><span id="rfc.iref.g.24"></span> <a href="#rule.quoted-pair" class="smpl">quoted-text</a> = %x01-09 |1013 <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.23"></span><span id="rfc.iref.g.24"></span> <a href="#rule.quoted-pair" class="smpl">quoted-text</a> = %x01-09 | 1015 1014 %x0B-0C | 1016 1015 %x0E-FF ; Characters excluding NUL, <a href="#core.rules" class="smpl">CR</a> and <a href="#core.rules" class="smpl">LF</a> … … 1018 1017 </pre><h2 id="rfc.section.2.3"><a href="#rfc.section.2.3">2.3</a> <a id="abnf.dependencies" href="#abnf.dependencies">ABNF Rules defined in other Parts of the Specification</a></h2> 1019 1018 <p id="rfc.section.2.3.p.1">The ABNF rules below are defined in other parts:</p> 1020 <div id="rfc.figure.u.1 3"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">request-header</a> = <request-header, defined in <a href="#Part2" id="rfc.xref.Part2.1"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>, <a href="p2-semantics.html#request.header.fields" title="Request Header Fields">Section 4</a>>1019 <div id="rfc.figure.u.15"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">request-header</a> = <request-header, defined in <a href="#Part2" id="rfc.xref.Part2.1"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>, <a href="p2-semantics.html#request.header.fields" title="Request Header Fields">Section 4</a>> 1021 1020 <a href="#abnf.dependencies" class="smpl">response-header</a> = <response-header, defined in <a href="#Part2" id="rfc.xref.Part2.2"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>, <a href="p2-semantics.html#response.header.fields" title="Response Header Fields">Section 6</a>> 1022 </pre><div id="rfc.figure.u.1 4"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">accept-params</a> = <accept-params, defined in <a href="#Part3" id="rfc.xref.Part3.6"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#header.accept" title="Accept">Section 6.1</a>>1021 </pre><div id="rfc.figure.u.16"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">accept-params</a> = <accept-params, defined in <a href="#Part3" id="rfc.xref.Part3.6"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#header.accept" title="Accept">Section 6.1</a>> 1023 1022 <a href="#abnf.dependencies" class="smpl">entity-body</a> = <entity-body, defined in <a href="#Part3" id="rfc.xref.Part3.7"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#entity.body" title="Entity Body">Section 4.2</a>> 1024 1023 <a href="#abnf.dependencies" class="smpl">entity-header</a> = <entity-header, defined in <a href="#Part3" id="rfc.xref.Part3.8"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#entity.header.fields" title="Entity Header Fields">Section 4.1</a>> 1025 </pre><div id="rfc.figure.u.1 5"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">Cache-Control</a> = <Cache-Control, defined in <a href="#Part6" id="rfc.xref.Part6.3"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.pragma" title="Pragma">Section 16.4</a>>1024 </pre><div id="rfc.figure.u.17"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">Cache-Control</a> = <Cache-Control, defined in <a href="#Part6" id="rfc.xref.Part6.3"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.pragma" title="Pragma">Section 16.4</a>> 1026 1025 <a href="#abnf.dependencies" class="smpl">Pragma</a> = <Pragma, defined in <a href="#Part6" id="rfc.xref.Part6.4"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.pragma" title="Pragma">Section 16.4</a>> 1027 1026 <a href="#abnf.dependencies" class="smpl">Warning</a> = <Warning, defined in <a href="#Part6" id="rfc.xref.Part6.5"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.warning" title="Warning">Section 16.6</a>> … … 1037 1036 </p> 1038 1037 <p id="rfc.section.3.1.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> 1039 <div id="rfc.figure.u.1 6"></div><pre class="inline"><span id="rfc.iref.g.25"></span> <a href="#http.version" class="smpl">HTTP-Version</a> = "HTTP" "/" 1*<a href="#core.rules" class="smpl">DIGIT</a> "." 1*<a href="#core.rules" class="smpl">DIGIT</a>1038 <div id="rfc.figure.u.18"></div><pre class="inline"><span id="rfc.iref.g.25"></span> <a href="#http.version" class="smpl">HTTP-Version</a> = "HTTP" "/" 1*<a href="#core.rules" class="smpl">DIGIT</a> "." 1*<a href="#core.rules" class="smpl">DIGIT</a> 1040 1039 </pre><p id="rfc.section.3.1.p.4">Note that the major and minor numbers <em class="bcp14">MUST</em> be treated as separate integers and that each <em class="bcp14">MAY</em> be incremented higher than a single digit. Thus, HTTP/2.4 is a lower version than HTTP/2.13, which in turn is lower than HTTP/12.3. 1041 1040 Leading zeros <em class="bcp14">MUST</em> be ignored by recipients and <em class="bcp14">MUST NOT</em> be sent. … … 1067 1066 "abs_path", "query", and "authority" from that specification: 1068 1067 </p> 1069 <div id="rfc.figure.u.1 7"></div><pre class="inline"><span id="rfc.iref.g.26"></span><span id="rfc.iref.g.27"></span><span id="rfc.iref.g.28"></span><span id="rfc.iref.g.29"></span><span id="rfc.iref.g.30"></span><span id="rfc.iref.g.31"></span><span id="rfc.iref.g.32"></span> <a href="#general.syntax" class="smpl">absoluteURI</a> = <absoluteURI, defined in <a href="#RFC2396" id="rfc.xref.RFC2396.2"><cite title="Uniform Resource Identifiers (URI): Generic Syntax">[RFC2396]</cite></a>, <a href="http://tools.ietf.org/html/rfc2396#section-3">Section 3</a>>1068 <div id="rfc.figure.u.19"></div><pre class="inline"><span id="rfc.iref.g.26"></span><span id="rfc.iref.g.27"></span><span id="rfc.iref.g.28"></span><span id="rfc.iref.g.29"></span><span id="rfc.iref.g.30"></span><span id="rfc.iref.g.31"></span><span id="rfc.iref.g.32"></span> <a href="#general.syntax" class="smpl">absoluteURI</a> = <absoluteURI, defined in <a href="#RFC2396" id="rfc.xref.RFC2396.2"><cite title="Uniform Resource Identifiers (URI): Generic Syntax">[RFC2396]</cite></a>, <a href="http://tools.ietf.org/html/rfc2396#section-3">Section 3</a>> 1070 1069 <a href="#general.syntax" class="smpl">authority</a> = <authority, defined in <a href="#RFC2396" id="rfc.xref.RFC2396.3"><cite title="Uniform Resource Identifiers (URI): Generic Syntax">[RFC2396]</cite></a>, <a href="http://tools.ietf.org/html/rfc2396#section-3.2">Section 3.2</a>> 1071 1070 <a href="#general.syntax" class="smpl">fragment</a> = <fragment, defined in <a href="#RFC2396" id="rfc.xref.RFC2396.4"><cite title="Uniform Resource Identifiers (URI): Generic Syntax">[RFC2396]</cite></a>, <a href="http://tools.ietf.org/html/rfc2396#section-4.1">Section 4.1</a>> … … 1087 1086 and semantics for http URLs. 1088 1087 </p> 1089 <div id="rfc.figure.u. 18"></div><pre class="inline"><span id="rfc.iref.g.33"></span> <a href="#http.url" class="smpl">http-URL</a> = "http:" "//" <a href="#general.syntax" class="smpl">uri-host</a> [ ":" <a href="#general.syntax" class="smpl">port</a> ]1088 <div id="rfc.figure.u.20"></div><pre class="inline"><span id="rfc.iref.g.33"></span> <a href="#http.url" class="smpl">http-URL</a> = "http:" "//" <a href="#general.syntax" class="smpl">uri-host</a> [ ":" <a href="#general.syntax" class="smpl">port</a> ] 1090 1089 [ <a href="#general.syntax" class="smpl">path-absolute</a> [ "?" <a href="#general.syntax" class="smpl">query</a> ]] 1091 1090 </pre><p id="rfc.section.3.2.2.p.3">If the port is empty or not given, port 80 is assumed. The semantics are that the identified resource is located at the server … … 1106 1105 </p> 1107 1106 <p id="rfc.section.3.2.3.p.3">For example, the following three URIs are equivalent:</p> 1108 <div id="rfc.figure.u. 19"></div><pre class="text"> http://example.com:80/~smith/home.html1107 <div id="rfc.figure.u.21"></div><pre class="text"> http://example.com:80/~smith/home.html 1109 1108 http://EXAMPLE.com/%7Esmith/home.html 1110 1109 http://EXAMPLE.com:/%7esmith/home.html … … 1112 1111 <h3 id="rfc.section.3.3.1"><a href="#rfc.section.3.3.1">3.3.1</a> <a id="full.date" href="#full.date">Full Date</a></h3> 1113 1112 <p id="rfc.section.3.3.1.p.1">HTTP applications have historically allowed three different formats for the representation of date/time stamps:</p> 1114 <div id="rfc.figure.u.2 0"></div><pre class="text"> Sun, 06 Nov 1994 08:49:37 GMT ; RFC 822, updated by RFC 11231113 <div id="rfc.figure.u.22"></div><pre class="text"> Sun, 06 Nov 1994 08:49:37 GMT ; RFC 822, updated by RFC 1123 1115 1114 Sunday, 06-Nov-94 08:49:37 GMT ; obsolete RFC 850 format 1116 1115 Sun Nov 6 08:49:37 1994 ; ANSI C's asctime() format … … 1127 1126 time zone, and <em class="bcp14">MUST</em> be assumed when reading the asctime format. HTTP-date is case sensitive and <em class="bcp14">MUST NOT</em> include additional LWS beyond that specifically included as SP in the grammar. 1128 1127 </p> 1129 <div id="rfc.figure.u.2 1"></div><pre class="inline"><span id="rfc.iref.g.34"></span><span id="rfc.iref.g.35"></span><span id="rfc.iref.g.36"></span><span id="rfc.iref.g.37"></span><span id="rfc.iref.g.38"></span><span id="rfc.iref.g.39"></span><span id="rfc.iref.g.40"></span><span id="rfc.iref.g.41"></span><span id="rfc.iref.g.42"></span><span id="rfc.iref.g.43"></span><span id="rfc.iref.g.44"></span><span id="rfc.iref.g.45"></span> <a href="#full.date" class="smpl">HTTP-date</a> = <a href="#full.date" class="smpl">rfc1123-date</a> | <a href="#full.date" class="smpl">obsolete-date</a>1128 <div id="rfc.figure.u.23"></div><pre class="inline"><span id="rfc.iref.g.34"></span><span id="rfc.iref.g.35"></span><span id="rfc.iref.g.36"></span><span id="rfc.iref.g.37"></span><span id="rfc.iref.g.38"></span><span id="rfc.iref.g.39"></span><span id="rfc.iref.g.40"></span><span id="rfc.iref.g.41"></span><span id="rfc.iref.g.42"></span><span id="rfc.iref.g.43"></span><span id="rfc.iref.g.44"></span><span id="rfc.iref.g.45"></span> <a href="#full.date" class="smpl">HTTP-date</a> = <a href="#full.date" class="smpl">rfc1123-date</a> | <a href="#full.date" class="smpl">obsolete-date</a> 1130 1129 <a href="#full.date" class="smpl">obsolete-date</a> = <a href="#full.date" class="smpl">rfc850-date</a> | <a href="#full.date" class="smpl">asctime-date</a> 1131 1130 <a href="#full.date" class="smpl">rfc1123-date</a> = <a href="#full.date" class="smpl">wkday</a> "," <a href="#core.rules" class="smpl">SP</a> date1 <a href="#core.rules" class="smpl">SP</a> time <a href="#core.rules" class="smpl">SP</a> "GMT" … … 1155 1154 is a property of the message, not of the original entity. 1156 1155 </p> 1157 <div id="rfc.figure.u.2 2"></div><pre class="inline"><span id="rfc.iref.g.46"></span><span id="rfc.iref.g.47"></span> <a href="#transfer.codings" class="smpl">transfer-coding</a> = "chunked" | <a href="#transfer.codings" class="smpl">transfer-extension</a>1156 <div id="rfc.figure.u.24"></div><pre class="inline"><span id="rfc.iref.g.46"></span><span id="rfc.iref.g.47"></span> <a href="#transfer.codings" class="smpl">transfer-coding</a> = "chunked" | <a href="#transfer.codings" class="smpl">transfer-extension</a> 1158 1157 <a href="#transfer.codings" class="smpl">transfer-extension</a> = <a href="#rule.token.separators" class="smpl">token</a> *( ";" <a href="#transfer.codings" class="smpl">parameter</a> ) 1159 1158 </pre><div id="rule.parameter"> 1160 1159 <p id="rfc.section.3.4.p.3"> Parameters are in the form of attribute/value pairs.</p> 1161 1160 </div> 1162 <div id="rfc.figure.u.2 3"></div><pre class="inline"><span id="rfc.iref.g.48"></span><span id="rfc.iref.g.49"></span><span id="rfc.iref.g.50"></span> <a href="#transfer.codings" class="smpl">parameter</a> = <a href="#rule.parameter" class="smpl">attribute</a> "=" <a href="#rule.parameter" class="smpl">value</a>1161 <div id="rfc.figure.u.25"></div><pre class="inline"><span id="rfc.iref.g.48"></span><span id="rfc.iref.g.49"></span><span id="rfc.iref.g.50"></span> <a href="#transfer.codings" class="smpl">parameter</a> = <a href="#rule.parameter" class="smpl">attribute</a> "=" <a href="#rule.parameter" class="smpl">value</a> 1163 1162 <a href="#rule.parameter" class="smpl">attribute</a> = <a href="#rule.token.separators" class="smpl">token</a> 1164 1163 <a href="#rule.parameter" class="smpl">value</a> = <a href="#rule.token.separators" class="smpl">token</a> | <a href="#rule.quoted-string" class="smpl">quoted-string</a> … … 1185 1184 necessary for the recipient to verify that it has received the full message. 1186 1185 </p> 1187 <div id="rfc.figure.u.2 4"></div><pre class="inline"><span id="rfc.iref.g.51"></span><span id="rfc.iref.g.52"></span><span id="rfc.iref.g.53"></span><span id="rfc.iref.g.54"></span><span id="rfc.iref.g.55"></span><span id="rfc.iref.g.56"></span><span id="rfc.iref.g.57"></span><span id="rfc.iref.g.58"></span><span id="rfc.iref.g.59"></span> <a href="#chunked.transfer.encoding" class="smpl">Chunked-Body</a> = *<a href="#chunked.transfer.encoding" class="smpl">chunk</a>1186 <div id="rfc.figure.u.26"></div><pre class="inline"><span id="rfc.iref.g.51"></span><span id="rfc.iref.g.52"></span><span id="rfc.iref.g.53"></span><span id="rfc.iref.g.54"></span><span id="rfc.iref.g.55"></span><span id="rfc.iref.g.56"></span><span id="rfc.iref.g.57"></span><span id="rfc.iref.g.58"></span><span id="rfc.iref.g.59"></span> <a href="#chunked.transfer.encoding" class="smpl">Chunked-Body</a> = *<a href="#chunked.transfer.encoding" class="smpl">chunk</a> 1188 1187 <a href="#chunked.transfer.encoding" class="smpl">last-chunk</a> 1189 1188 <a href="#chunked.transfer.encoding" class="smpl">trailer-part</a> … … 1222 1221 </p> 1223 1222 <p id="rfc.section.3.4.1.p.7">A process for decoding the "chunked" transfer-coding can be represented in pseudo-code as:</p> 1224 <div id="rfc.figure.u.2 5"></div><pre class="text"> length := 01223 <div id="rfc.figure.u.27"></div><pre class="text"> length := 0 1225 1224 read chunk-size, chunk-extension (if any) and CRLF 1226 1225 while (chunk-size > 0) { … … 1244 1243 space. By convention, the products are listed in order of their significance for identifying the application. 1245 1244 </p> 1246 <div id="rfc.figure.u.2 6"></div><pre class="inline"><span id="rfc.iref.g.60"></span><span id="rfc.iref.g.61"></span> <a href="#product.tokens" class="smpl">product</a> = <a href="#rule.token.separators" class="smpl">token</a> ["/" <a href="#product.tokens" class="smpl">product-version</a>]1245 <div id="rfc.figure.u.28"></div><pre class="inline"><span id="rfc.iref.g.60"></span><span id="rfc.iref.g.61"></span> <a href="#product.tokens" class="smpl">product</a> = <a href="#rule.token.separators" class="smpl">token</a> ["/" <a href="#product.tokens" class="smpl">product-version</a>] 1247 1246 <a href="#product.tokens" class="smpl">product-version</a> = <a href="#rule.token.separators" class="smpl">token</a> 1248 1247 </pre><p id="rfc.section.3.5.p.3">Examples:</p> 1249 <div id="rfc.figure.u.2 7"></div><pre class="text"> User-Agent: CERN-LineMode/2.15 libwww/2.17b31248 <div id="rfc.figure.u.29"></div><pre class="text"> User-Agent: CERN-LineMode/2.15 libwww/2.17b3 1250 1249 Server: Apache/0.8.4 1251 1250 </pre><p id="rfc.section.3.5.p.5">Product tokens <em class="bcp14">SHOULD</em> be short and to the point. They <em class="bcp14">MUST NOT</em> be used for advertising or other non-essential information. Although any token character <em class="bcp14">MAY</em> appear in a product-version, this token <em class="bcp14">SHOULD</em> only be used for a version identifier (i.e., successive versions of the same product <em class="bcp14">SHOULD</em> only differ in the product-version portion of the product value). … … 1254 1253 <h2 id="rfc.section.4.1"><a href="#rfc.section.4.1">4.1</a> <a id="message.types" href="#message.types">Message Types</a></h2> 1255 1254 <p id="rfc.section.4.1.p.1">HTTP messages consist of requests from client to server and responses from server to client.</p> 1256 <div id="rfc.figure.u. 28"></div><pre class="inline"><span id="rfc.iref.g.62"></span> <a href="#message.types" class="smpl">HTTP-message</a> = <a href="#request" class="smpl">Request</a> | <a href="#response" class="smpl">Response</a> ; HTTP/1.1 messages1255 <div id="rfc.figure.u.30"></div><pre class="inline"><span id="rfc.iref.g.62"></span> <a href="#message.types" class="smpl">HTTP-message</a> = <a href="#request" class="smpl">Request</a> | <a href="#response" class="smpl">Response</a> ; HTTP/1.1 messages 1257 1256 </pre><p id="rfc.section.4.1.p.3">Request (<a href="#request" title="Request">Section 5</a>) and Response (<a href="#response" title="Response">Section 6</a>) messages use the generic message format of <a href="#RFC2822" id="rfc.xref.RFC2822.2"><cite title="Internet Message Format">[RFC2822]</cite></a> for transferring entities (the payload of the message). Both types of message consist of a start-line, zero or more header 1258 1257 fields (also known as "headers"), an empty line (i.e., a line with nothing preceding the CRLF) indicating the end of the header 1259 1258 fields, and possibly a message-body. 1260 1259 </p> 1261 <div id="rfc.figure.u. 29"></div><pre class="inline"><span id="rfc.iref.g.63"></span><span id="rfc.iref.g.64"></span> <a href="#message.types" class="smpl">generic-message</a> = <a href="#message.types" class="smpl">start-line</a>1260 <div id="rfc.figure.u.31"></div><pre class="inline"><span id="rfc.iref.g.63"></span><span id="rfc.iref.g.64"></span> <a href="#message.types" class="smpl">generic-message</a> = <a href="#message.types" class="smpl">start-line</a> 1262 1261 *(<a href="#message.headers" class="smpl">message-header</a> <a href="#rule.CRLF" class="smpl">CRLF</a>) 1263 1262 <a href="#rule.CRLF" class="smpl">CRLF</a> … … 1277 1276 forms. 1278 1277 </p> 1279 <div id="rfc.figure.u.3 0"></div><pre class="inline"><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> <a href="#message.headers" class="smpl">message-header</a> = <a href="#message.headers" class="smpl">field-name</a> ":" [ <a href="#message.headers" class="smpl">field-value</a> ]1278 <div id="rfc.figure.u.32"></div><pre class="inline"><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> <a href="#message.headers" class="smpl">message-header</a> = <a href="#message.headers" class="smpl">field-name</a> ":" [ <a href="#message.headers" class="smpl">field-value</a> ] 1280 1279 <a href="#message.headers" class="smpl">field-name</a> = <a href="#rule.token.separators" class="smpl">token</a> 1281 1280 <a href="#message.headers" class="smpl">field-value</a> = *( <a href="#message.headers" class="smpl">field-content</a> | <a href="#rule.LWS" class="smpl">LWS</a> ) … … 1302 1301 header field (<a href="#header.transfer-encoding" id="rfc.xref.header.transfer-encoding.2" title="Transfer-Encoding">Section 8.7</a>). 1303 1302 </p> 1304 <div id="rfc.figure.u.3 1"></div><pre class="inline"><span id="rfc.iref.g.69"></span> <a href="#message.body" class="smpl">message-body</a> = <a href="#abnf.dependencies" class="smpl">entity-body</a>1303 <div id="rfc.figure.u.33"></div><pre class="inline"><span id="rfc.iref.g.69"></span> <a href="#message.body" class="smpl">message-body</a> = <a href="#abnf.dependencies" class="smpl">entity-body</a> 1305 1304 | <entity-body encoded as per <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a>> 1306 1305 </pre><p id="rfc.section.4.3.p.3">Transfer-Encoding <em class="bcp14">MUST</em> be used to indicate any transfer-codings applied by an application to ensure safe and proper transfer of the message. Transfer-Encoding … … 1369 1368 to the entity being transferred. These header fields apply only to the message being transmitted. 1370 1369 </p> 1371 <div id="rfc.figure.u.3 2"></div><pre class="inline"><span id="rfc.iref.g.70"></span> <a href="#general.header.fields" class="smpl">general-header</a> = <a href="#abnf.dependencies" class="smpl">Cache-Control</a> ; <a href="#Part6" id="rfc.xref.Part6.6"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.cache-control" title="Cache-Control">Section 16.2</a>1370 <div id="rfc.figure.u.34"></div><pre class="inline"><span id="rfc.iref.g.70"></span> <a href="#general.header.fields" class="smpl">general-header</a> = <a href="#abnf.dependencies" class="smpl">Cache-Control</a> ; <a href="#Part6" id="rfc.xref.Part6.6"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.cache-control" title="Cache-Control">Section 16.2</a> 1372 1371 | <a href="#header.connection" class="smpl">Connection</a> ; <a href="#header.connection" id="rfc.xref.header.connection.1" title="Connection">Section 8.1</a> 1373 1372 | <a href="#header.date" class="smpl">Date</a> ; <a href="#header.date" id="rfc.xref.header.date.1" title="Date">Section 8.3</a> … … 1386 1385 resource, the identifier of the resource, and the protocol version in use. 1387 1386 </p> 1388 <div id="rfc.figure.u.3 3"></div><pre class="inline"><span id="rfc.iref.g.71"></span> <a href="#request" class="smpl">Request</a> = <a href="#request-line" class="smpl">Request-Line</a> ; <a href="#request-line" title="Request-Line">Section 5.1</a>1387 <div id="rfc.figure.u.35"></div><pre class="inline"><span id="rfc.iref.g.71"></span> <a href="#request" class="smpl">Request</a> = <a href="#request-line" class="smpl">Request-Line</a> ; <a href="#request-line" title="Request-Line">Section 5.1</a> 1389 1388 *(( <a href="#general.header.fields" class="smpl">general-header</a> ; <a href="#general.header.fields" title="General Header Fields">Section 4.5</a> 1390 1389 | <a href="#abnf.dependencies" class="smpl">request-header</a> ; <a href="#Part2" id="rfc.xref.Part2.7"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>, <a href="p2-semantics.html#request.header.fields" title="Request Header Fields">Section 4</a> … … 1396 1395 elements are separated by SP characters. No CR or LF is allowed except in the final CRLF sequence. 1397 1396 </p> 1398 <div id="rfc.figure.u.3 4"></div><pre class="inline"><span id="rfc.iref.g.72"></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-uri" class="smpl">Request-URI</a> <a href="#core.rules" class="smpl">SP</a> <a href="#http.version" class="smpl">HTTP-Version</a> <a href="#rule.CRLF" class="smpl">CRLF</a>1397 <div id="rfc.figure.u.36"></div><pre class="inline"><span id="rfc.iref.g.72"></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-uri" class="smpl">Request-URI</a> <a href="#core.rules" class="smpl">SP</a> <a href="#http.version" class="smpl">HTTP-Version</a> <a href="#rule.CRLF" class="smpl">CRLF</a> 1399 1398 </pre><h3 id="rfc.section.5.1.1"><a href="#rfc.section.5.1.1">5.1.1</a> <a id="method" href="#method">Method</a></h3> 1400 1399 <p id="rfc.section.5.1.1.p.1">The Method token indicates the method to be performed on the resource identified by the Request-URI. The method is case-sensitive.</p> 1401 <div id="rfc.figure.u.3 5"></div><pre class="inline"><span id="rfc.iref.g.73"></span><span id="rfc.iref.g.74"></span> <a href="#method" class="smpl">Method</a> = <a href="#rule.token.separators" class="smpl">token</a>1400 <div id="rfc.figure.u.37"></div><pre class="inline"><span id="rfc.iref.g.73"></span><span id="rfc.iref.g.74"></span> <a href="#method" class="smpl">Method</a> = <a href="#rule.token.separators" class="smpl">token</a> 1402 1401 </pre><h3 id="rfc.section.5.1.2"><a href="#rfc.section.5.1.2">5.1.2</a> <a id="request-uri" href="#request-uri">Request-URI</a></h3> 1403 1402 <p id="rfc.section.5.1.2.p.1">The Request-URI is a Uniform Resource Identifier (<a href="#uri" title="Uniform Resource Identifiers">Section 3.2</a>) and identifies the resource upon which to apply the request. 1404 1403 </p> 1405 <div id="rfc.figure.u.3 6"></div><pre class="inline"><span id="rfc.iref.g.75"></span> <a href="#request-uri" class="smpl">Request-URI</a> = "*"1404 <div id="rfc.figure.u.38"></div><pre class="inline"><span id="rfc.iref.g.75"></span> <a href="#request-uri" class="smpl">Request-URI</a> = "*" 1406 1405 | <a href="#general.syntax" class="smpl">absoluteURI</a> 1407 1406 | ( <a href="#general.syntax" class="smpl">path-absolute</a> [ "?" <a href="#general.syntax" class="smpl">query</a> ] ) … … 1411 1410 apply to a resource. One example would be 1412 1411 </p> 1413 <div id="rfc.figure.u.3 7"></div><pre class="text"> OPTIONS * HTTP/1.11412 <div id="rfc.figure.u.39"></div><pre class="text"> OPTIONS * HTTP/1.1 1414 1413 </pre><p id="rfc.section.5.1.2.p.5">The absoluteURI form is <em class="bcp14">REQUIRED</em> when the request is being made to a proxy. The proxy is requested to forward the request or service it from a valid cache, 1415 1414 and 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 absoluteURI. In order to avoid request … … 1417 1416 Request-Line would be: 1418 1417 </p> 1419 <div id="rfc.figure.u. 38"></div><pre class="text"> GET http://www.example.org/pub/WWW/TheProject.html HTTP/1.11418 <div id="rfc.figure.u.40"></div><pre class="text"> GET http://www.example.org/pub/WWW/TheProject.html HTTP/1.1 1420 1419 </pre><p id="rfc.section.5.1.2.p.7">To allow for transition to absoluteURIs in all requests in future versions of HTTP, all HTTP/1.1 servers <em class="bcp14">MUST</em> accept the absoluteURI form in requests, even though HTTP/1.1 clients will only generate them in requests to proxies. 1421 1420 </p> … … 1426 1425 server would create a TCP connection to port 80 of the host "www.example.org" and send the lines: 1427 1426 </p> 1428 <div id="rfc.figure.u. 39"></div><pre class="text"> GET /pub/WWW/TheProject.html HTTP/1.11427 <div id="rfc.figure.u.41"></div><pre class="text"> GET /pub/WWW/TheProject.html HTTP/1.1 1429 1428 Host: www.example.org 1430 1429 </pre><p id="rfc.section.5.1.2.p.11">followed by the remainder of the Request. Note that the absolute path cannot be empty; if none is present in the original … … 1464 1463 <h1 id="rfc.section.6"><a href="#rfc.section.6">6.</a> <a id="response" href="#response">Response</a></h1> 1465 1464 <p id="rfc.section.6.p.1">After receiving and interpreting a request message, a server responds with an HTTP response message.</p> 1466 <div id="rfc.figure.u.4 0"></div><pre class="inline"><span id="rfc.iref.g.76"></span> <a href="#response" class="smpl">Response</a> = <a href="#status-line" class="smpl">Status-Line</a> ; <a href="#status-line" title="Status-Line">Section 6.1</a>1465 <div id="rfc.figure.u.42"></div><pre class="inline"><span id="rfc.iref.g.76"></span> <a href="#response" class="smpl">Response</a> = <a href="#status-line" class="smpl">Status-Line</a> ; <a href="#status-line" title="Status-Line">Section 6.1</a> 1467 1466 *(( <a href="#general.header.fields" class="smpl">general-header</a> ; <a href="#general.header.fields" title="General Header Fields">Section 4.5</a> 1468 1467 | <a href="#abnf.dependencies" class="smpl">response-header</a> ; <a href="#Part2" id="rfc.xref.Part2.9"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>, <a href="p2-semantics.html#response.header.fields" title="Response Header Fields">Section 6</a> … … 1475 1474 CRLF sequence. 1476 1475 </p> 1477 <div id="rfc.figure.u.4 1"></div><pre class="inline"><span id="rfc.iref.g.77"></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.and.reason.phrase" class="smpl">Status-Code</a> <a href="#core.rules" class="smpl">SP</a> <a href="#status.code.and.reason.phrase" class="smpl">Reason-Phrase</a> <a href="#rule.CRLF" class="smpl">CRLF</a>1476 <div id="rfc.figure.u.43"></div><pre class="inline"><span id="rfc.iref.g.77"></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.and.reason.phrase" class="smpl">Status-Code</a> <a href="#core.rules" class="smpl">SP</a> <a href="#status.code.and.reason.phrase" class="smpl">Reason-Phrase</a> <a href="#rule.CRLF" class="smpl">CRLF</a> 1478 1477 </pre><h3 id="rfc.section.6.1.1"><a href="#rfc.section.6.1.1">6.1.1</a> <a id="status.code.and.reason.phrase" href="#status.code.and.reason.phrase">Status Code and Reason Phrase</a></h3> 1479 1478 <p id="rfc.section.6.1.1.p.1">The Status-Code element is a 3-digit integer result code of the attempt to understand and satisfy the request. These codes … … 1492 1491 <li>5xx: Server Error - The server failed to fulfill an apparently valid request</li> 1493 1492 </ul> 1494 <div id="rfc.figure.u.4 2"></div><pre class="inline"><span id="rfc.iref.g.78"></span><span id="rfc.iref.g.79"></span><span id="rfc.iref.g.80"></span> <a href="#status.code.and.reason.phrase" class="smpl">Status-Code</a> = 3<a href="#core.rules" class="smpl">DIGIT</a>1493 <div id="rfc.figure.u.44"></div><pre class="inline"><span id="rfc.iref.g.78"></span><span id="rfc.iref.g.79"></span><span id="rfc.iref.g.80"></span> <a href="#status.code.and.reason.phrase" class="smpl">Status-Code</a> = 3<a href="#core.rules" class="smpl">DIGIT</a> 1495 1494 <a href="#status.code.and.reason.phrase" class="smpl">Reason-Phrase</a> = *<<a href="#rule.TEXT" class="smpl">TEXT</a>, excluding <a href="#core.rules" class="smpl">CR</a>, <a href="#core.rules" class="smpl">LF</a>> 1496 1495 </pre><h1 id="rfc.section.7"><a href="#rfc.section.7">7.</a> <a id="connections" href="#connections">Connections</a></h1> … … 1683 1682 </p> 1684 1683 <p id="rfc.section.8.1.p.2">The Connection header has the following grammar:</p> 1685 <div id="rfc.figure.u.4 3"></div><pre class="inline"><span id="rfc.iref.g.81"></span><span id="rfc.iref.g.82"></span> <a href="#header.connection" class="smpl">Connection</a> = "Connection" ":" 1#(<a href="#header.connection" class="smpl">connection-token</a>)1684 <div id="rfc.figure.u.45"></div><pre class="inline"><span id="rfc.iref.g.81"></span><span id="rfc.iref.g.82"></span> <a href="#header.connection" class="smpl">Connection</a> = "Connection" ":" 1#(<a href="#header.connection" class="smpl">connection-token</a>) 1686 1685 <a href="#header.connection" class="smpl">connection-token</a> = <a href="#rule.token.separators" class="smpl">token</a> 1687 1686 </pre><p id="rfc.section.8.1.p.4">HTTP/1.1 proxies <em class="bcp14">MUST</em> parse the Connection header field before a message is forwarded and, for each connection-token in this field, remove any header … … 1695 1694 of the response. For example, 1696 1695 </p> 1697 <div id="rfc.figure.u.4 4"></div><pre class="text"> Connection: close1696 <div id="rfc.figure.u.46"></div><pre class="text"> Connection: close 1698 1697 </pre><p id="rfc.section.8.1.p.8">in either the request or the response header fields indicates that the connection <em class="bcp14">SHOULD NOT</em> be considered `persistent' (<a href="#persistent.connections" title="Persistent Connections">Section 7.1</a>) after the current request/response is complete. 1699 1698 </p> … … 1711 1710 or, in the case of the HEAD method, the size of the entity-body that would have been sent had the request been a GET. 1712 1711 </p> 1713 <div id="rfc.figure.u.4 5"></div><pre class="inline"><span id="rfc.iref.g.83"></span> <a href="#header.content-length" class="smpl">Content-Length</a> = "Content-Length" ":" 1*<a href="#core.rules" class="smpl">DIGIT</a>1712 <div id="rfc.figure.u.47"></div><pre class="inline"><span id="rfc.iref.g.83"></span> <a href="#header.content-length" class="smpl">Content-Length</a> = "Content-Length" ":" 1*<a href="#core.rules" class="smpl">DIGIT</a> 1714 1713 </pre><p id="rfc.section.8.2.p.3">An example is</p> 1715 <div id="rfc.figure.u.4 6"></div><pre class="text"> Content-Length: 34951714 <div id="rfc.figure.u.48"></div><pre class="text"> Content-Length: 3495 1716 1715 </pre><p id="rfc.section.8.2.p.5">Applications <em class="bcp14">SHOULD</em> use this field to indicate the transfer-length of the message-body, unless this is prohibited by the rules in <a href="#message.length" title="Message Length">Section 4.4</a>. 1717 1716 </p> … … 1728 1727 as orig-date in <a href="http://tools.ietf.org/html/rfc2822#section-3.6.1">Section 3.6.1</a> of <a href="#RFC2822" id="rfc.xref.RFC2822.4"><cite title="Internet Message Format">[RFC2822]</cite></a>. The field value is an HTTP-date, as described in <a href="#full.date" title="Full Date">Section 3.3.1</a>; it <em class="bcp14">MUST</em> be sent in rfc1123-date format. 1729 1728 </p> 1730 <div id="rfc.figure.u.4 7"></div><pre class="inline"><span id="rfc.iref.g.84"></span> <a href="#header.date" class="smpl">Date</a> = "Date" ":" <a href="#full.date" class="smpl">HTTP-date</a>1729 <div id="rfc.figure.u.49"></div><pre class="inline"><span id="rfc.iref.g.84"></span> <a href="#header.date" class="smpl">Date</a> = "Date" ":" <a href="#full.date" class="smpl">HTTP-date</a> 1731 1730 </pre><p id="rfc.section.8.3.p.3">An example is</p> 1732 <div id="rfc.figure.u. 48"></div><pre class="text"> Date: Tue, 15 Nov 1994 08:12:31 GMT1731 <div id="rfc.figure.u.50"></div><pre class="text"> Date: Tue, 15 Nov 1994 08:12:31 GMT 1733 1732 </pre><p id="rfc.section.8.3.p.5">Origin servers <em class="bcp14">MUST</em> include a Date header field in all responses, except in these cases: 1734 1733 </p> … … 1766 1765 a single IP address. 1767 1766 </p> 1768 <div id="rfc.figure.u. 49"></div><pre class="inline"><span id="rfc.iref.g.85"></span> <a href="#header.host" class="smpl">Host</a> = "Host" ":" <a href="#general.syntax" class="smpl">uri-host</a> [ ":" <a href="#general.syntax" class="smpl">port</a> ] ; <a href="#http.url" title="http URL">Section 3.2.2</a>1767 <div id="rfc.figure.u.51"></div><pre class="inline"><span id="rfc.iref.g.85"></span> <a href="#header.host" class="smpl">Host</a> = "Host" ":" <a href="#general.syntax" class="smpl">uri-host</a> [ ":" <a href="#general.syntax" class="smpl">port</a> ] ; <a href="#http.url" title="http URL">Section 3.2.2</a> 1769 1768 </pre><p id="rfc.section.8.4.p.3">A "host" without any trailing port information implies the default port for the service requested (e.g., "80" for an HTTP 1770 1769 URL). For example, a request on the origin server for <http://www.example.org/pub/WWW/> would properly include: 1771 1770 </p> 1772 <div id="rfc.figure.u.5 0"></div><pre class="text"> GET /pub/WWW/ HTTP/1.11771 <div id="rfc.figure.u.52"></div><pre class="text"> GET /pub/WWW/ HTTP/1.1 1773 1772 Host: www.example.org 1774 1773 </pre><p id="rfc.section.8.4.p.5">A client <em class="bcp14">MUST</em> include a Host header field in all HTTP/1.1 request messages. If the requested URI does not include an Internet host name … … 1785 1784 and/or a comma-separated list of extension transfer-coding names with optional accept parameters (as described in <a href="#transfer.codings" title="Transfer Codings">Section 3.4</a>). 1786 1785 </p> 1787 <div id="rfc.figure.u.5 1"></div><pre class="inline"><span id="rfc.iref.g.86"></span><span id="rfc.iref.g.87"></span> <a href="#header.te" class="smpl">TE</a> = "TE" ":" #( <a href="#header.te" class="smpl">t-codings</a> )1786 <div id="rfc.figure.u.53"></div><pre class="inline"><span id="rfc.iref.g.86"></span><span id="rfc.iref.g.87"></span> <a href="#header.te" class="smpl">TE</a> = "TE" ":" #( <a href="#header.te" class="smpl">t-codings</a> ) 1788 1787 <a href="#header.te" class="smpl">t-codings</a> = "trailers" | ( <a href="#transfer.codings" class="smpl">transfer-extension</a> [ <a href="#abnf.dependencies" class="smpl">accept-params</a> ] ) 1789 1788 </pre><p id="rfc.section.8.5.p.3">The presence of the keyword "trailers" indicates that the client is willing to accept trailer fields in a chunked transfer-coding, … … 1791 1790 </p> 1792 1791 <p id="rfc.section.8.5.p.4">Examples of its use are:</p> 1793 <div id="rfc.figure.u.5 2"></div><pre class="text"> TE: deflate1792 <div id="rfc.figure.u.54"></div><pre class="text"> TE: deflate 1794 1793 TE: 1795 1794 TE: trailers, deflate;q=0.5 … … 1828 1827 with chunked transfer-coding. 1829 1828 </p> 1830 <div id="rfc.figure.u.5 3"></div><pre class="inline"><span id="rfc.iref.g.88"></span> <a href="#header.trailer" class="smpl">Trailer</a> = "Trailer" ":" 1#<a href="#message.headers" class="smpl">field-name</a>1829 <div id="rfc.figure.u.55"></div><pre class="inline"><span id="rfc.iref.g.88"></span> <a href="#header.trailer" class="smpl">Trailer</a> = "Trailer" ":" 1#<a href="#message.headers" class="smpl">field-name</a> 1831 1830 </pre><p id="rfc.section.8.6.p.3">An HTTP/1.1 message <em class="bcp14">SHOULD</em> include a Trailer header field in a message using chunked transfer-coding with a non-empty trailer. Doing so allows the recipient 1832 1831 to know which header fields to expect in the trailer. … … 1848 1847 transfer-coding is a property of the message, not of the entity. 1849 1848 </p> 1850 <div id="rfc.figure.u.5 4"></div><pre class="inline"><span id="rfc.iref.g.89"></span> <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a> = "Transfer-Encoding" ":" 1#<a href="#transfer.codings" class="smpl">transfer-coding</a>1849 <div id="rfc.figure.u.56"></div><pre class="inline"><span id="rfc.iref.g.89"></span> <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a> = "Transfer-Encoding" ":" 1#<a href="#transfer.codings" class="smpl">transfer-coding</a> 1851 1850 </pre><p id="rfc.section.8.7.p.3">Transfer-codings are defined in <a href="#transfer.codings" title="Transfer Codings">Section 3.4</a>. An example is: 1852 1851 </p> 1853 <div id="rfc.figure.u.5 5"></div><pre class="text"> Transfer-Encoding: chunked1852 <div id="rfc.figure.u.57"></div><pre class="text"> Transfer-Encoding: chunked 1854 1853 </pre><p id="rfc.section.8.7.p.5">If multiple encodings have been applied to an entity, the transfer-codings <em class="bcp14">MUST</em> be listed in the order in which they were applied. Additional information about the encoding parameters <em class="bcp14">MAY</em> be provided by other entity-header fields not defined by this specification. 1855 1854 </p> … … 1861 1860 to use if the server finds it appropriate to switch protocols. The server <em class="bcp14">MUST</em> use the Upgrade header field within a 101 (Switching Protocols) response to indicate which protocol(s) are being switched. 1862 1861 </p> 1863 <div id="rfc.figure.u.5 6"></div><pre class="inline"><span id="rfc.iref.g.90"></span> <a href="#header.upgrade" class="smpl">Upgrade</a> = "Upgrade" ":" 1#<a href="#product.tokens" class="smpl">product</a>1862 <div id="rfc.figure.u.58"></div><pre class="inline"><span id="rfc.iref.g.90"></span> <a href="#header.upgrade" class="smpl">Upgrade</a> = "Upgrade" ":" 1#<a href="#product.tokens" class="smpl">product</a> 1864 1863 </pre><p id="rfc.section.8.8.p.3">For example,</p> 1865 <div id="rfc.figure.u.5 7"></div><pre class="text"> Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x111864 <div id="rfc.figure.u.59"></div><pre class="text"> Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11 1866 1865 </pre><p id="rfc.section.8.8.p.5">The Upgrade header field is intended to provide a simple mechanism for transition from HTTP/1.1 to some other, incompatible 1867 1866 protocol. It does so by allowing the client to advertise its desire to use another protocol, such as a later version of HTTP … … 1892 1891 of all senders along the request/response chain. 1893 1892 </p> 1894 <div id="rfc.figure.u. 58"></div><pre class="inline"><span id="rfc.iref.g.91"></span><span id="rfc.iref.g.92"></span><span id="rfc.iref.g.93"></span><span id="rfc.iref.g.94"></span><span id="rfc.iref.g.95"></span><span id="rfc.iref.g.96"></span> <a href="#header.via" class="smpl">Via</a> = "Via" ":" 1#( <a href="#header.via" class="smpl">received-protocol</a> <a href="#header.via" class="smpl">received-by</a> [ <a href="#rule.comment" class="smpl">comment</a> ] )1893 <div id="rfc.figure.u.60"></div><pre class="inline"><span id="rfc.iref.g.91"></span><span id="rfc.iref.g.92"></span><span id="rfc.iref.g.93"></span><span id="rfc.iref.g.94"></span><span id="rfc.iref.g.95"></span><span id="rfc.iref.g.96"></span> <a href="#header.via" class="smpl">Via</a> = "Via" ":" 1#( <a href="#header.via" class="smpl">received-protocol</a> <a href="#header.via" class="smpl">received-by</a> [ <a href="#rule.comment" class="smpl">comment</a> ] ) 1895 1894 <a href="#header.via" class="smpl">received-protocol</a> = [ <a href="#header.via" class="smpl">protocol-name</a> "/" ] <a href="#header.via" class="smpl">protocol-version</a> 1896 1895 <a href="#header.via" class="smpl">protocol-name</a> = <a href="#rule.token.separators" class="smpl">token</a> … … 1915 1914 server at www.example.com. The request received by www.example.com would then have the following Via header field: 1916 1915 </p> 1917 <div id="rfc.figure.u. 59"></div><pre class="text"> Via: 1.0 fred, 1.1 p.example.net (Apache/1.1)1916 <div id="rfc.figure.u.61"></div><pre class="text"> Via: 1.0 fred, 1.1 p.example.net (Apache/1.1) 1918 1917 </pre><p id="rfc.section.8.9.p.9">Proxies and gateways used as a portal through a network firewall <em class="bcp14">SHOULD NOT</em>, by default, forward the names and ports of hosts within the firewall region. This information <em class="bcp14">SHOULD</em> only be propagated if explicitly enabled. If not enabled, the received-by host of any host behind the firewall <em class="bcp14">SHOULD</em> be replaced by an appropriate pseudonym for that host. 1919 1918 </p> … … 1921 1920 For example, 1922 1921 </p> 1923 <div id="rfc.figure.u.6 0"></div><pre class="text"> Via: 1.0 ricky, 1.1 ethel, 1.1 fred, 1.0 lucy1922 <div id="rfc.figure.u.62"></div><pre class="text"> Via: 1.0 ricky, 1.1 ethel, 1.1 fred, 1.0 lucy 1924 1923 </pre><p id="rfc.section.8.9.p.12">could be collapsed to</p> 1925 <div id="rfc.figure.u.6 1"></div><pre class="text"> Via: 1.0 ricky, 1.1 mertz, 1.0 lucy1924 <div id="rfc.figure.u.63"></div><pre class="text"> Via: 1.0 ricky, 1.1 mertz, 1.0 lucy 1926 1925 </pre><p id="rfc.section.8.9.p.14">Applications <em class="bcp14">SHOULD NOT</em> combine multiple entries unless they are all under the same organizational control and the hosts have already been replaced 1927 1926 by pseudonyms. Applications <em class="bcp14">MUST NOT</em> combine entries which have different received-protocol values. -
draft-ietf-httpbis/latest/p1-messaging.xml
r244 r249 762 762 (",") and &OPTIONAL; linear white space (LWS). This makes the usual 763 763 form of lists very easy; a rule such as 764 </t> 765 <t> 766 ( *LWS element *( *LWS "," *LWS element )) 764 <figure><artwork type="example"> 765 ( *<x:ref>LWS</x:ref> element *( *<x:ref>LWS</x:ref> "," *<x:ref>LWS</x:ref> element ))</artwork></figure> 767 766 </t> 768 767 <t> 769 768 can be shown as 770 </t> 771 <t> 772 1#element 769 <figure><artwork type="example"> 770 1#element</artwork></figure> 773 771 </t> 774 772 <t>
Note: See TracChangeset
for help on using the changeset viewer.