Changeset 351
- Timestamp:
- 12/11/08 22:51:58 (14 years ago)
- Location:
- draft-ietf-httpbis/latest
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p1-messaging.html
r349 r351 795 795 </div> 796 796 <div id="rfc.figure.u.6"></div><pre class="inline"><span id="rfc.iref.g.1"></span> <a href="#rule.LWS" class="smpl">LWS</a> = [<a href="#core.rules" class="smpl">CRLF</a>] 1*( <a href="#core.rules" class="smpl">SP</a> / <a href="#core.rules" class="smpl">HTAB</a> ) 797 </pre><div id="rule.TEXT"> 798 <p id="rfc.section.2.2.p.5"> The TEXT rule is only used for descriptive field contents and values that are not intended to be interpreted by the message 797 </pre><div id="rule.whitespace"> 798 <p id="rfc.section.2.2.p.5"> <span class="comment">[rfc.comment.2: Add prose introducing the different kinds of WS.]</span> 799 </p> 800 <div id="rfc.figure.u.7"></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> <a href="#rule.whitespace" class="smpl">OWS</a> = 1*( [ obs-fold ] <a href="#core.rules" class="smpl">WSP</a> ) 801 ; "optional" white space 802 <a href="#rule.whitespace" class="smpl">RWS</a> = 1*( [ obs-fold ] <a href="#core.rules" class="smpl">WSP</a> ) 803 ; "required" white space 804 <a href="#rule.whitespace" class="smpl">BWS</a> = <a href="#rule.whitespace" class="smpl">OWS</a> 805 ; "bad" white space 806 <a href="#rule.whitespace" class="smpl">obs-fold</a> = <a href="#core.rules" class="smpl">CRLF</a> 807 ; <span class="comment">[rfc.comment.3: to be explained: do not produce]</span> 808 </pre></div> 809 <div id="rule.TEXT"> 810 <p id="rfc.section.2.2.p.6"> The TEXT rule is only used for descriptive field contents and values that are not intended to be interpreted by the message 799 811 parser. Words of *TEXT <em class="bcp14">MAY</em> contain characters from character sets other than ISO-8859-1 <a href="#ISO-8859-1" id="rfc.xref.ISO-8859-1.1"><cite title="Information technology -- 8-bit single-byte coded graphic character sets -- Part 1: Latin alphabet No. 1">[ISO-8859-1]</cite></a> only when encoded according to the rules of <a href="#RFC2047" id="rfc.xref.RFC2047.1"><cite title="MIME (Multipurpose Internet Mail Extensions) Part Three: Message Header Extensions for Non-ASCII Text">[RFC2047]</cite></a>. 800 812 </p> 801 813 </div> 802 <div id="rfc.figure.u. 7"></div><pre class="inline"><span id="rfc.iref.g.2"></span> <a href="#rule.TEXT" class="smpl">TEXT</a> = %x20-7E / %x80-FF / <a href="#rule.LWS" class="smpl">LWS</a>814 <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g.5"></span> <a href="#rule.TEXT" class="smpl">TEXT</a> = %x20-7E / %x80-FF / <a href="#rule.LWS" class="smpl">LWS</a> 803 815 ; 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> 804 </pre><p id="rfc.section.2.2.p. 7">A CRLF is allowed in the definition of TEXT only as part of a header field continuation. It is expected that the folding LWS816 </pre><p id="rfc.section.2.2.p.8">A CRLF is allowed in the definition of TEXT only as part of a header field continuation. It is expected that the folding LWS 805 817 will be replaced with a single SP before interpretation of the TEXT value. 806 818 </p> 807 819 <div id="rule.token.separators"> 808 <p id="rfc.section.2.2.p. 8"> Many HTTP/1.1 header field values consist of words separated by LWS or special characters. These special characters <em class="bcp14">MUST</em> be in a quoted string to be used within a parameter value (as defined in <a href="#transfer.codings" title="Transfer Codings">Section 3.4</a>).820 <p id="rfc.section.2.2.p.9"> Many HTTP/1.1 header field values consist of words separated by LWS or special characters. These special characters <em class="bcp14">MUST</em> be in a quoted string to be used within a parameter value (as defined in <a href="#transfer.codings" title="Transfer Codings">Section 3.4</a>). 809 821 </p> 810 822 </div> 811 <div id="rfc.figure.u. 8"></div><pre class="inline"><span id="rfc.iref.g.3"></span><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span> <a href="#rule.token.separators" class="smpl">separators</a> = "(" / ")" / "<" / ">" / "@"823 <div id="rfc.figure.u.9"></div><pre class="inline"><span id="rfc.iref.g.6"></span><span id="rfc.iref.g.7"></span><span id="rfc.iref.g.8"></span> <a href="#rule.token.separators" class="smpl">separators</a> = "(" / ")" / "<" / ">" / "@" 812 824 / "," / ";" / ":" / "\" / <a href="#core.rules" class="smpl">DQUOTE</a> 813 825 / "/" / "[" / "]" / "?" / "=" … … 821 833 <a href="#rule.token.separators" class="smpl">token</a> = 1*<a href="#rule.token.separators" class="smpl">tchar</a> 822 834 </pre><div id="rule.comment"> 823 <p id="rfc.section.2.2.p.1 0"> Comments can be included in some HTTP header fields by surrounding the comment text with parentheses. Comments are only allowed835 <p id="rfc.section.2.2.p.11"> Comments can be included in some HTTP header fields by surrounding the comment text with parentheses. Comments are only allowed 824 836 in fields containing "comment" as part of their field value definition. In all other fields, parentheses are considered part 825 837 of the field value. 826 838 </p> 827 839 </div> 828 <div id="rfc.figure.u. 9"></div><pre class="inline"><span id="rfc.iref.g.6"></span><span id="rfc.iref.g.7"></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> ) ")"840 <div id="rfc.figure.u.10"></div><pre class="inline"><span id="rfc.iref.g.9"></span><span id="rfc.iref.g.10"></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> ) ")" 829 841 <a href="#rule.comment" class="smpl">ctext</a> = <any <a href="#rule.TEXT" class="smpl">TEXT</a> excluding "(" and ")"> 830 842 </pre><div id="rule.quoted-string"> 831 <p id="rfc.section.2.2.p.1 2"> A string of text is parsed as a single word if it is quoted using double-quote marks.</p>843 <p id="rfc.section.2.2.p.13"> A string of text is parsed as a single word if it is quoted using double-quote marks.</p> 832 844 </div> 833 <div id="rfc.figure.u.1 0"></div><pre class="inline"><span id="rfc.iref.g.8"></span><span id="rfc.iref.g.9"></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> )845 <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.11"></span><span id="rfc.iref.g.12"></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> ) 834 846 <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 "\"> 835 847 </pre><div id="rule.quoted-pair"> 836 <p id="rfc.section.2.2.p.1 4"> The backslash character ("\") <em class="bcp14">MAY</em> be used as a single-character quoting mechanism only within quoted-string and comment constructs.848 <p id="rfc.section.2.2.p.15"> The backslash character ("\") <em class="bcp14">MAY</em> be used as a single-character quoting mechanism only within quoted-string and comment constructs. 837 849 </p> 838 850 </div> 839 <div id="rfc.figure.u.1 1"></div><pre class="inline"><span id="rfc.iref.g.10"></span><span id="rfc.iref.g.11"></span> <a href="#rule.quoted-pair" class="smpl">quoted-text</a> = %x01-09 /851 <div id="rfc.figure.u.12"></div><pre class="inline"><span id="rfc.iref.g.13"></span><span id="rfc.iref.g.14"></span> <a href="#rule.quoted-pair" class="smpl">quoted-text</a> = %x01-09 / 840 852 %x0B-0C / 841 853 %x0E-FF ; Characters excluding NUL, <a href="#core.rules" class="smpl">CR</a> and <a href="#core.rules" class="smpl">LF</a> … … 843 855 </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> 844 856 <p id="rfc.section.2.3.p.1">The ABNF rules below are defined in other parts:</p> 845 <div id="rfc.figure.u.1 2"></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>>857 <div id="rfc.figure.u.13"></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>> 846 858 <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>> 847 </pre><div id="rfc.figure.u.1 3"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">accept-params</a> = <accept-params, defined in <a href="#Part3" id="rfc.xref.Part3.3"><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>>859 </pre><div id="rfc.figure.u.14"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">accept-params</a> = <accept-params, defined in <a href="#Part3" id="rfc.xref.Part3.3"><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>> 848 860 <a href="#abnf.dependencies" class="smpl">entity-body</a> = <entity-body, defined in <a href="#Part3" id="rfc.xref.Part3.4"><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>> 849 861 <a href="#abnf.dependencies" class="smpl">entity-header</a> = <entity-header, defined in <a href="#Part3" id="rfc.xref.Part3.5"><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>> 850 </pre><div id="rfc.figure.u.1 4"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">Cache-Control</a> = <Cache-Control, defined in <a href="#Part6" id="rfc.xref.Part6.2"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.pragma" title="Pragma">Section 16.4</a>>862 </pre><div id="rfc.figure.u.15"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">Cache-Control</a> = <Cache-Control, defined in <a href="#Part6" id="rfc.xref.Part6.2"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.pragma" title="Pragma">Section 16.4</a>> 851 863 <a href="#abnf.dependencies" class="smpl">Pragma</a> = <Pragma, 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>> 852 864 <a href="#abnf.dependencies" class="smpl">Warning</a> = <Warning, 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.warning" title="Warning">Section 16.6</a>> … … 862 874 </p> 863 875 <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> 864 <div id="rfc.figure.u.1 5"></div><pre class="inline"><span id="rfc.iref.g.12"></span><span id="rfc.iref.g.13"></span> <a href="#http.version" class="smpl">HTTP-Version</a> = <a href="#http.version" class="smpl">HTTP-Prot-Name</a> "/" 1*<a href="#core.rules" class="smpl">DIGIT</a> "." 1*<a href="#core.rules" class="smpl">DIGIT</a>876 <div id="rfc.figure.u.16"></div><pre class="inline"><span id="rfc.iref.g.15"></span><span id="rfc.iref.g.16"></span> <a href="#http.version" class="smpl">HTTP-Version</a> = <a href="#http.version" class="smpl">HTTP-Prot-Name</a> "/" 1*<a href="#core.rules" class="smpl">DIGIT</a> "." 1*<a href="#core.rules" class="smpl">DIGIT</a> 865 877 <a href="#http.version" class="smpl">HTTP-Prot-Name</a> = %x48.54.54.50 ; "HTTP", case-sensitive 866 878 </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. … … 893 905 "abs_path", "query", and "authority" from that specification: 894 906 </p> 895 <div id="rfc.figure.u.1 6"></div><pre class="inline"><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span><span id="rfc.iref.g.16"></span><span id="rfc.iref.g.17"></span><span id="rfc.iref.g.18"></span><span id="rfc.iref.g.19"></span><span id="rfc.iref.g.20"></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>>907 <div id="rfc.figure.u.17"></div><pre class="inline"><span id="rfc.iref.g.17"></span><span id="rfc.iref.g.18"></span><span id="rfc.iref.g.19"></span><span id="rfc.iref.g.20"></span><span id="rfc.iref.g.21"></span><span id="rfc.iref.g.22"></span><span id="rfc.iref.g.23"></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>> 896 908 <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>> 897 909 <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>> … … 915 927 and semantics for http URLs. 916 928 </p> 917 <div id="rfc.figure.u.1 7"></div><pre class="inline"><span id="rfc.iref.g.21"></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> ]929 <div id="rfc.figure.u.18"></div><pre class="inline"><span id="rfc.iref.g.24"></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> ] 918 930 [ <a href="#general.syntax" class="smpl">path-absolute</a> [ "?" <a href="#general.syntax" class="smpl">query</a> ]] 919 931 </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 … … 938 950 </p> 939 951 <p id="rfc.section.3.2.3.p.3">For example, the following three URIs are equivalent:</p> 940 <div id="rfc.figure.u.1 8"></div><pre class="text"> http://example.com:80/~smith/home.html952 <div id="rfc.figure.u.19"></div><pre class="text"> http://example.com:80/~smith/home.html 941 953 http://EXAMPLE.com/%7Esmith/home.html 942 954 http://EXAMPLE.com:/%7esmith/home.html … … 944 956 <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> 945 957 <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> 946 <div id="rfc.figure.u. 19"></div><pre class="text"> Sun, 06 Nov 1994 08:49:37 GMT ; RFC 822, updated by RFC 1123958 <div id="rfc.figure.u.20"></div><pre class="text"> Sun, 06 Nov 1994 08:49:37 GMT ; RFC 822, updated by RFC 1123 947 959 Sunday, 06-Nov-94 08:49:37 GMT ; obsolete RFC 850 format 948 960 Sun Nov 6 08:49:37 1994 ; ANSI C's asctime() format … … 959 971 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. 960 972 </p> 961 <div id="rfc.figure.u.2 0"></div><pre class="inline"><span id="rfc.iref.g.22"></span><span id="rfc.iref.g.23"></span><span id="rfc.iref.g.24"></span><span id="rfc.iref.g.25"></span><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><span id="rfc.iref.g.33"></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>973 <div id="rfc.figure.u.21"></div><pre class="inline"><span id="rfc.iref.g.25"></span><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><span id="rfc.iref.g.33"></span><span id="rfc.iref.g.34"></span><span id="rfc.iref.g.35"></span><span id="rfc.iref.g.36"></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> 962 974 <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> 963 975 <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 … … 1018 1030 is a property of the message, not of the original entity. 1019 1031 </p> 1020 <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> <a href="#transfer.codings" class="smpl">transfer-coding</a> = "chunked" / <a href="#transfer.codings" class="smpl">transfer-extension</a>1032 <div id="rfc.figure.u.22"></div><pre class="inline"><span id="rfc.iref.g.37"></span><span id="rfc.iref.g.38"></span> <a href="#transfer.codings" class="smpl">transfer-coding</a> = "chunked" / <a href="#transfer.codings" class="smpl">transfer-extension</a> 1021 1033 <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> ) 1022 1034 </pre><div id="rule.parameter"> 1023 1035 <p id="rfc.section.3.4.p.3"> Parameters are in the form of attribute/value pairs.</p> 1024 1036 </div> 1025 <div id="rfc.figure.u.2 2"></div><pre class="inline"><span id="rfc.iref.g.36"></span><span id="rfc.iref.g.37"></span><span id="rfc.iref.g.38"></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>1037 <div id="rfc.figure.u.23"></div><pre class="inline"><span id="rfc.iref.g.39"></span><span id="rfc.iref.g.40"></span><span id="rfc.iref.g.41"></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> 1026 1038 <a href="#rule.parameter" class="smpl">attribute</a> = <a href="#rule.token.separators" class="smpl">token</a> 1027 1039 <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> … … 1048 1060 necessary for the recipient to verify that it has received the full message. 1049 1061 </p> 1050 <div id="rfc.figure.u.2 3"></div><pre class="inline"><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><span id="rfc.iref.g.46"></span><span id="rfc.iref.g.47"></span> <a href="#chunked.transfer.encoding" class="smpl">Chunked-Body</a> = *<a href="#chunked.transfer.encoding" class="smpl">chunk</a>1062 <div id="rfc.figure.u.24"></div><pre class="inline"><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><span id="rfc.iref.g.46"></span><span id="rfc.iref.g.47"></span><span id="rfc.iref.g.48"></span><span id="rfc.iref.g.49"></span><span id="rfc.iref.g.50"></span> <a href="#chunked.transfer.encoding" class="smpl">Chunked-Body</a> = *<a href="#chunked.transfer.encoding" class="smpl">chunk</a> 1051 1063 <a href="#chunked.transfer.encoding" class="smpl">last-chunk</a> 1052 1064 <a href="#chunked.transfer.encoding" class="smpl">trailer-part</a> … … 1085 1097 </p> 1086 1098 <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> 1087 <div id="rfc.figure.u.2 4"></div><pre class="text"> length := 01099 <div id="rfc.figure.u.25"></div><pre class="text"> length := 0 1088 1100 read chunk-size, chunk-extension (if any) and CRLF 1089 1101 while (chunk-size > 0) { … … 1107 1119 space. By convention, the products are listed in order of their significance for identifying the application. 1108 1120 </p> 1109 <div id="rfc.figure.u.2 5"></div><pre class="inline"><span id="rfc.iref.g.48"></span><span id="rfc.iref.g.49"></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>]1121 <div id="rfc.figure.u.26"></div><pre class="inline"><span id="rfc.iref.g.51"></span><span id="rfc.iref.g.52"></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>] 1110 1122 <a href="#product.tokens" class="smpl">product-version</a> = <a href="#rule.token.separators" class="smpl">token</a> 1111 1123 </pre><p id="rfc.section.3.5.p.3">Examples:</p> 1112 <div id="rfc.figure.u.2 6"></div><pre class="text"> User-Agent: CERN-LineMode/2.15 libwww/2.17b31124 <div id="rfc.figure.u.27"></div><pre class="text"> User-Agent: CERN-LineMode/2.15 libwww/2.17b3 1113 1125 Server: Apache/0.8.4 1114 1126 </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). … … 1117 1129 <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> 1118 1130 <p id="rfc.section.4.1.p.1">HTTP messages consist of requests from client to server and responses from server to client.</p> 1119 <div id="rfc.figure.u.2 7"></div><pre class="inline"><span id="rfc.iref.g.50"></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 messages1131 <div id="rfc.figure.u.28"></div><pre class="inline"><span id="rfc.iref.g.53"></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 1120 1132 </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="#RFC5322" id="rfc.xref.RFC5322.2"><cite title="Internet Message Format">[RFC5322]</cite></a> for transferring entities (the payload of the message). Both types of message consist of a start-line, zero or more header 1121 1133 fields (also known as "headers"), an empty line (i.e., a line with nothing preceding the CRLF) indicating the end of the header 1122 1134 fields, and possibly a message-body. 1123 1135 </p> 1124 <div id="rfc.figure.u.2 8"></div><pre class="inline"><span id="rfc.iref.g.51"></span><span id="rfc.iref.g.52"></span> <a href="#message.types" class="smpl">generic-message</a> = <a href="#message.types" class="smpl">start-line</a>1136 <div id="rfc.figure.u.29"></div><pre class="inline"><span id="rfc.iref.g.54"></span><span id="rfc.iref.g.55"></span> <a href="#message.types" class="smpl">generic-message</a> = <a href="#message.types" class="smpl">start-line</a> 1125 1137 *(<a href="#message.headers" class="smpl">message-header</a> <a href="#core.rules" class="smpl">CRLF</a>) 1126 1138 <a href="#core.rules" class="smpl">CRLF</a> … … 1140 1152 forms. 1141 1153 </p> 1142 <div id="rfc.figure.u. 29"></div><pre class="inline"><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> <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> ]1154 <div id="rfc.figure.u.30"></div><pre class="inline"><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="#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> ] 1143 1155 <a href="#message.headers" class="smpl">field-name</a> = <a href="#rule.token.separators" class="smpl">token</a> 1144 1156 <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> ) … … 1171 1183 header field (<a href="#header.transfer-encoding" id="rfc.xref.header.transfer-encoding.2" title="Transfer-Encoding">Section 8.7</a>). 1172 1184 </p> 1173 <div id="rfc.figure.u.3 0"></div><pre class="inline"><span id="rfc.iref.g.57"></span> <a href="#message.body" class="smpl">message-body</a> = <a href="#abnf.dependencies" class="smpl">entity-body</a>1185 <div id="rfc.figure.u.31"></div><pre class="inline"><span id="rfc.iref.g.60"></span> <a href="#message.body" class="smpl">message-body</a> = <a href="#abnf.dependencies" class="smpl">entity-body</a> 1174 1186 / <entity-body encoded as per <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a>> 1175 1187 </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 … … 1239 1251 to the entity being transferred. These header fields apply only to the message being transmitted. 1240 1252 </p> 1241 <div id="rfc.figure.u.3 1"></div><pre class="inline"><span id="rfc.iref.g.58"></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.5"><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>1253 <div id="rfc.figure.u.32"></div><pre class="inline"><span id="rfc.iref.g.61"></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.5"><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> 1242 1254 / <a href="#header.connection" class="smpl">Connection</a> ; <a href="#header.connection" id="rfc.xref.header.connection.1" title="Connection">Section 8.1</a> 1243 1255 / <a href="#header.date" class="smpl">Date</a> ; <a href="#header.date" id="rfc.xref.header.date.1" title="Date">Section 8.3</a> … … 1256 1268 resource, the identifier of the resource, and the protocol version in use. 1257 1269 </p> 1258 <div id="rfc.figure.u.3 2"></div><pre class="inline"><span id="rfc.iref.g.59"></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>1270 <div id="rfc.figure.u.33"></div><pre class="inline"><span id="rfc.iref.g.62"></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> 1259 1271 *(( <a href="#general.header.fields" class="smpl">general-header</a> ; <a href="#general.header.fields" title="General Header Fields">Section 4.5</a> 1260 1272 / <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> … … 1266 1278 elements are separated by SP characters. No CR or LF is allowed except in the final CRLF sequence. 1267 1279 </p> 1268 <div id="rfc.figure.u.3 3"></div><pre class="inline"><span id="rfc.iref.g.60"></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="#core.rules" class="smpl">CRLF</a>1280 <div id="rfc.figure.u.34"></div><pre class="inline"><span id="rfc.iref.g.63"></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="#core.rules" class="smpl">CRLF</a> 1269 1281 </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> 1270 1282 <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> 1271 <div id="rfc.figure.u.3 4"></div><pre class="inline"><span id="rfc.iref.g.61"></span><span id="rfc.iref.g.62"></span> <a href="#method" class="smpl">Method</a> = <a href="#rule.token.separators" class="smpl">token</a>1283 <div id="rfc.figure.u.35"></div><pre class="inline"><span id="rfc.iref.g.64"></span><span id="rfc.iref.g.65"></span> <a href="#method" class="smpl">Method</a> = <a href="#rule.token.separators" class="smpl">token</a> 1272 1284 </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> 1273 1285 <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. 1274 1286 </p> 1275 <div id="rfc.figure.u.3 5"></div><pre class="inline"><span id="rfc.iref.g.63"></span> <a href="#request-uri" class="smpl">Request-URI</a> = "*"1287 <div id="rfc.figure.u.36"></div><pre class="inline"><span id="rfc.iref.g.66"></span> <a href="#request-uri" class="smpl">Request-URI</a> = "*" 1276 1288 / <a href="#general.syntax" class="smpl">absoluteURI</a> 1277 1289 / ( <a href="#general.syntax" class="smpl">path-absolute</a> [ "?" <a href="#general.syntax" class="smpl">query</a> ] ) … … 1281 1293 apply to a resource. One example would be 1282 1294 </p> 1283 <div id="rfc.figure.u.3 6"></div><pre class="text"> OPTIONS * HTTP/1.11295 <div id="rfc.figure.u.37"></div><pre class="text"> OPTIONS * HTTP/1.1 1284 1296 </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, 1285 1297 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 … … 1287 1299 Request-Line would be: 1288 1300 </p> 1289 <div id="rfc.figure.u.3 7"></div><pre class="text"> GET http://www.example.org/pub/WWW/TheProject.html HTTP/1.11301 <div id="rfc.figure.u.38"></div><pre class="text"> GET http://www.example.org/pub/WWW/TheProject.html HTTP/1.1 1290 1302 </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. 1291 1303 </p> … … 1296 1308 server would create a TCP connection to port 80 of the host "www.example.org" and send the lines: 1297 1309 </p> 1298 <div id="rfc.figure.u.3 8"></div><pre class="text"> GET /pub/WWW/TheProject.html HTTP/1.11310 <div id="rfc.figure.u.39"></div><pre class="text"> GET /pub/WWW/TheProject.html HTTP/1.1 1299 1311 Host: www.example.org 1300 1312 </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 … … 1334 1346 <h1 id="rfc.section.6"><a href="#rfc.section.6">6.</a> <a id="response" href="#response">Response</a></h1> 1335 1347 <p id="rfc.section.6.p.1">After receiving and interpreting a request message, a server responds with an HTTP response message.</p> 1336 <div id="rfc.figure.u. 39"></div><pre class="inline"><span id="rfc.iref.g.64"></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>1348 <div id="rfc.figure.u.40"></div><pre class="inline"><span id="rfc.iref.g.67"></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> 1337 1349 *(( <a href="#general.header.fields" class="smpl">general-header</a> ; <a href="#general.header.fields" title="General Header Fields">Section 4.5</a> 1338 1350 / <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> … … 1345 1357 CRLF sequence. 1346 1358 </p> 1347 <div id="rfc.figure.u.4 0"></div><pre class="inline"><span id="rfc.iref.g.65"></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="#core.rules" class="smpl">CRLF</a>1359 <div id="rfc.figure.u.41"></div><pre class="inline"><span id="rfc.iref.g.68"></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="#core.rules" class="smpl">CRLF</a> 1348 1360 </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> 1349 1361 <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 … … 1362 1374 <li>5xx: Server Error - The server failed to fulfill an apparently valid request</li> 1363 1375 </ul> 1364 <div id="rfc.figure.u.4 1"></div><pre class="inline"><span id="rfc.iref.g.66"></span><span id="rfc.iref.g.67"></span><span id="rfc.iref.g.68"></span> <a href="#status.code.and.reason.phrase" class="smpl">Status-Code</a> = 3<a href="#core.rules" class="smpl">DIGIT</a>1376 <div id="rfc.figure.u.42"></div><pre class="inline"><span id="rfc.iref.g.69"></span><span id="rfc.iref.g.70"></span><span id="rfc.iref.g.71"></span> <a href="#status.code.and.reason.phrase" class="smpl">Status-Code</a> = 3<a href="#core.rules" class="smpl">DIGIT</a> 1365 1377 <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>> 1366 1378 </pre><h1 id="rfc.section.7"><a href="#rfc.section.7">7.</a> <a id="connections" href="#connections">Connections</a></h1> … … 1553 1565 </p> 1554 1566 <p id="rfc.section.8.1.p.2">The Connection header has the following grammar:</p> 1555 <div id="rfc.figure.u.4 2"></div><pre class="inline"><span id="rfc.iref.g.69"></span><span id="rfc.iref.g.70"></span> <a href="#header.connection" class="smpl">Connection</a> = "Connection" ":" 1#(<a href="#header.connection" class="smpl">connection-token</a>)1567 <div id="rfc.figure.u.43"></div><pre class="inline"><span id="rfc.iref.g.72"></span><span id="rfc.iref.g.73"></span> <a href="#header.connection" class="smpl">Connection</a> = "Connection" ":" 1#(<a href="#header.connection" class="smpl">connection-token</a>) 1556 1568 <a href="#header.connection" class="smpl">connection-token</a> = <a href="#rule.token.separators" class="smpl">token</a> 1557 1569 </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 … … 1565 1577 of the response. For example, 1566 1578 </p> 1567 <div id="rfc.figure.u.4 3"></div><pre class="text"> Connection: close1579 <div id="rfc.figure.u.44"></div><pre class="text"> Connection: close 1568 1580 </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. 1569 1581 </p> … … 1581 1593 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. 1582 1594 </p> 1583 <div id="rfc.figure.u.4 4"></div><pre class="inline"><span id="rfc.iref.g.71"></span> <a href="#header.content-length" class="smpl">Content-Length</a> = "Content-Length" ":" 1*<a href="#core.rules" class="smpl">DIGIT</a>1595 <div id="rfc.figure.u.45"></div><pre class="inline"><span id="rfc.iref.g.74"></span> <a href="#header.content-length" class="smpl">Content-Length</a> = "Content-Length" ":" 1*<a href="#core.rules" class="smpl">DIGIT</a> 1584 1596 </pre><p id="rfc.section.8.2.p.3">An example is</p> 1585 <div id="rfc.figure.u.4 5"></div><pre class="text"> Content-Length: 34951597 <div id="rfc.figure.u.46"></div><pre class="text"> Content-Length: 3495 1586 1598 </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>. 1587 1599 </p> … … 1598 1610 as orig-date in <a href="http://tools.ietf.org/html/rfc5322#section-3.6.1">Section 3.6.1</a> of <a href="#RFC5322" id="rfc.xref.RFC5322.4"><cite title="Internet Message Format">[RFC5322]</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. 1599 1611 </p> 1600 <div id="rfc.figure.u.4 6"></div><pre class="inline"><span id="rfc.iref.g.72"></span> <a href="#header.date" class="smpl">Date</a> = "Date" ":" <a href="#full.date" class="smpl">HTTP-date</a>1612 <div id="rfc.figure.u.47"></div><pre class="inline"><span id="rfc.iref.g.75"></span> <a href="#header.date" class="smpl">Date</a> = "Date" ":" <a href="#full.date" class="smpl">HTTP-date</a> 1601 1613 </pre><p id="rfc.section.8.3.p.3">An example is</p> 1602 <div id="rfc.figure.u.4 7"></div><pre class="text"> Date: Tue, 15 Nov 1994 08:12:31 GMT1614 <div id="rfc.figure.u.48"></div><pre class="text"> Date: Tue, 15 Nov 1994 08:12:31 GMT 1603 1615 </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: 1604 1616 </p> … … 1636 1648 a single IP address. 1637 1649 </p> 1638 <div id="rfc.figure.u.4 8"></div><pre class="inline"><span id="rfc.iref.g.73"></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>1650 <div id="rfc.figure.u.49"></div><pre class="inline"><span id="rfc.iref.g.76"></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> 1639 1651 </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 1640 1652 URL). For example, a request on the origin server for <http://www.example.org/pub/WWW/> would properly include: 1641 1653 </p> 1642 <div id="rfc.figure.u. 49"></div><pre class="text"> GET /pub/WWW/ HTTP/1.11654 <div id="rfc.figure.u.50"></div><pre class="text"> GET /pub/WWW/ HTTP/1.1 1643 1655 Host: www.example.org 1644 1656 </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 … … 1655 1667 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>). 1656 1668 </p> 1657 <div id="rfc.figure.u.5 0"></div><pre class="inline"><span id="rfc.iref.g.74"></span><span id="rfc.iref.g.75"></span> <a href="#header.te" class="smpl">TE</a> = "TE" ":" #( <a href="#header.te" class="smpl">t-codings</a> )1669 <div id="rfc.figure.u.51"></div><pre class="inline"><span id="rfc.iref.g.77"></span><span id="rfc.iref.g.78"></span> <a href="#header.te" class="smpl">TE</a> = "TE" ":" #( <a href="#header.te" class="smpl">t-codings</a> ) 1658 1670 <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> ] ) 1659 1671 </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, … … 1661 1673 </p> 1662 1674 <p id="rfc.section.8.5.p.4">Examples of its use are:</p> 1663 <div id="rfc.figure.u.5 1"></div><pre class="text"> TE: deflate1675 <div id="rfc.figure.u.52"></div><pre class="text"> TE: deflate 1664 1676 TE: 1665 1677 TE: trailers, deflate;q=0.5 … … 1698 1710 with chunked transfer-coding. 1699 1711 </p> 1700 <div id="rfc.figure.u.5 2"></div><pre class="inline"><span id="rfc.iref.g.76"></span> <a href="#header.trailer" class="smpl">Trailer</a> = "Trailer" ":" 1#<a href="#message.headers" class="smpl">field-name</a>1712 <div id="rfc.figure.u.53"></div><pre class="inline"><span id="rfc.iref.g.79"></span> <a href="#header.trailer" class="smpl">Trailer</a> = "Trailer" ":" 1#<a href="#message.headers" class="smpl">field-name</a> 1701 1713 </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 1702 1714 to know which header fields to expect in the trailer. … … 1718 1730 transfer-coding is a property of the message, not of the entity. 1719 1731 </p> 1720 <div id="rfc.figure.u.5 3"></div><pre class="inline"><span id="rfc.iref.g.77"></span> <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a> = "Transfer-Encoding" ":" 1#<a href="#transfer.codings" class="smpl">transfer-coding</a>1732 <div id="rfc.figure.u.54"></div><pre class="inline"><span id="rfc.iref.g.80"></span> <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a> = "Transfer-Encoding" ":" 1#<a href="#transfer.codings" class="smpl">transfer-coding</a> 1721 1733 </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: 1722 1734 </p> 1723 <div id="rfc.figure.u.5 4"></div><pre class="text"> Transfer-Encoding: chunked1735 <div id="rfc.figure.u.55"></div><pre class="text"> Transfer-Encoding: chunked 1724 1736 </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. 1725 1737 </p> … … 1731 1743 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. 1732 1744 </p> 1733 <div id="rfc.figure.u.5 5"></div><pre class="inline"><span id="rfc.iref.g.78"></span> <a href="#header.upgrade" class="smpl">Upgrade</a> = "Upgrade" ":" 1#<a href="#product.tokens" class="smpl">product</a>1745 <div id="rfc.figure.u.56"></div><pre class="inline"><span id="rfc.iref.g.81"></span> <a href="#header.upgrade" class="smpl">Upgrade</a> = "Upgrade" ":" 1#<a href="#product.tokens" class="smpl">product</a> 1734 1746 </pre><p id="rfc.section.8.8.p.3">For example,</p> 1735 <div id="rfc.figure.u.5 6"></div><pre class="text"> Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x111747 <div id="rfc.figure.u.57"></div><pre class="text"> Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11 1736 1748 </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 1737 1749 protocol. It does so by allowing the client to advertise its desire to use another protocol, such as a later version of HTTP … … 1762 1774 of all senders along the request/response chain. 1763 1775 </p> 1764 <div id="rfc.figure.u.5 7"></div><pre class="inline"><span id="rfc.iref.g.79"></span><span id="rfc.iref.g.80"></span><span id="rfc.iref.g.81"></span><span id="rfc.iref.g.82"></span><span id="rfc.iref.g.83"></span><span id="rfc.iref.g.84"></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> ] )1776 <div id="rfc.figure.u.58"></div><pre class="inline"><span id="rfc.iref.g.82"></span><span id="rfc.iref.g.83"></span><span id="rfc.iref.g.84"></span><span id="rfc.iref.g.85"></span><span id="rfc.iref.g.86"></span><span id="rfc.iref.g.87"></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> ] ) 1765 1777 <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> 1766 1778 <a href="#header.via" class="smpl">protocol-name</a> = <a href="#rule.token.separators" class="smpl">token</a> … … 1785 1797 server at www.example.com. The request received by www.example.com would then have the following Via header field: 1786 1798 </p> 1787 <div id="rfc.figure.u.5 8"></div><pre class="text"> Via: 1.0 fred, 1.1 p.example.net (Apache/1.1)1799 <div id="rfc.figure.u.59"></div><pre class="text"> Via: 1.0 fred, 1.1 p.example.net (Apache/1.1) 1788 1800 </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. 1789 1801 </p> … … 1791 1803 For example, 1792 1804 </p> 1793 <div id="rfc.figure.u. 59"></div><pre class="text"> Via: 1.0 ricky, 1.1 ethel, 1.1 fred, 1.0 lucy1805 <div id="rfc.figure.u.60"></div><pre class="text"> Via: 1.0 ricky, 1.1 ethel, 1.1 fred, 1.0 lucy 1794 1806 </pre><p id="rfc.section.8.9.p.12">could be collapsed to</p> 1795 <div id="rfc.figure.u.6 0"></div><pre class="text"> Via: 1.0 ricky, 1.1 mertz, 1.0 lucy1807 <div id="rfc.figure.u.61"></div><pre class="text"> Via: 1.0 ricky, 1.1 mertz, 1.0 lucy 1796 1808 </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 1797 1809 by pseudonyms. Applications <em class="bcp14">MUST NOT</em> combine entries which have different received-protocol values. … … 2540 2552 </dd> 2541 2553 </dl> 2542 <p id="rfc.section.D.p.16"> <span id="rfc.iref.g.8 5"></span> <dfn>gateway</dfn>2554 <p id="rfc.section.D.p.16"> <span id="rfc.iref.g.88"></span> <dfn>gateway</dfn> 2543 2555 </p> 2544 2556 <dl class="empty"> … … 2717 2729 <li>Get rid of RFC822 dependency; use RFC5234 plus extensions instead.</li> 2718 2730 <li>Only reference RFC 5234's core rules.</li> 2731 <li>Introduce new ABNF rules for "bad" whitespace ("BWS"), optional whitespace ("OWS") and required whitespace ("RWS"), but do 2732 not use them yet. 2733 </li> 2719 2734 </ul> 2720 2735 <h1><a id="rfc.copyright" href="#rfc.copyright">Full Copyright Statement</a></h1> … … 2771 2786 </li> 2772 2787 <li class="indline0"><a id="rfc.index.G" href="#rfc.index.G"><b>G</b></a><ul class="ind"> 2773 <li class="indline1">gateway <a class="iref" href="#rfc.iref.g.8 5">D</a></li>2788 <li class="indline1">gateway <a class="iref" href="#rfc.iref.g.88">D</a></li> 2774 2789 <li class="indline1"><tt>Grammar</tt> 2775 2790 <ul class="ind"> 2776 <li class="indline1"><tt>absoluteURI</tt> <a class="iref" href="#rfc.iref.g.14"><b>3.2.1</b></a></li> 2777 <li class="indline1"><tt>asctime-date</tt> <a class="iref" href="#rfc.iref.g.26"><b>3.3.1</b></a></li> 2778 <li class="indline1"><tt>attribute</tt> <a class="iref" href="#rfc.iref.g.37"><b>3.4</b></a></li> 2779 <li class="indline1"><tt>authority</tt> <a class="iref" href="#rfc.iref.g.15"><b>3.2.1</b></a></li> 2780 <li class="indline1"><tt>chunk</tt> <a class="iref" href="#rfc.iref.g.40"><b>3.4.1</b></a></li> 2781 <li class="indline1"><tt>chunk-data</tt> <a class="iref" href="#rfc.iref.g.46"><b>3.4.1</b></a></li> 2782 <li class="indline1"><tt>chunk-ext-name</tt> <a class="iref" href="#rfc.iref.g.44"><b>3.4.1</b></a></li> 2783 <li class="indline1"><tt>chunk-ext-val</tt> <a class="iref" href="#rfc.iref.g.45"><b>3.4.1</b></a></li> 2784 <li class="indline1"><tt>chunk-extension</tt> <a class="iref" href="#rfc.iref.g.43"><b>3.4.1</b></a></li> 2785 <li class="indline1"><tt>chunk-size</tt> <a class="iref" href="#rfc.iref.g.41"><b>3.4.1</b></a></li> 2786 <li class="indline1"><tt>Chunked-Body</tt> <a class="iref" href="#rfc.iref.g.39"><b>3.4.1</b></a></li> 2787 <li class="indline1"><tt>comment</tt> <a class="iref" href="#rfc.iref.g.6"><b>2.2</b></a></li> 2788 <li class="indline1"><tt>Connection</tt> <a class="iref" href="#rfc.iref.g.69"><b>8.1</b></a></li> 2789 <li class="indline1"><tt>connection-token</tt> <a class="iref" href="#rfc.iref.g.70"><b>8.1</b></a></li> 2790 <li class="indline1"><tt>Content-Length</tt> <a class="iref" href="#rfc.iref.g.71"><b>8.2</b></a></li> 2791 <li class="indline1"><tt>ctext</tt> <a class="iref" href="#rfc.iref.g.7"><b>2.2</b></a></li> 2792 <li class="indline1"><tt>Date</tt> <a class="iref" href="#rfc.iref.g.72"><b>8.3</b></a></li> 2793 <li class="indline1"><tt>date1</tt> <a class="iref" href="#rfc.iref.g.27"><b>3.3.1</b></a></li> 2794 <li class="indline1"><tt>date2</tt> <a class="iref" href="#rfc.iref.g.28"><b>3.3.1</b></a></li> 2795 <li class="indline1"><tt>date3</tt> <a class="iref" href="#rfc.iref.g.29"><b>3.3.1</b></a></li> 2796 <li class="indline1"><tt>extension-code</tt> <a class="iref" href="#rfc.iref.g.67"><b>6.1.1</b></a></li> 2797 <li class="indline1"><tt>extension-method</tt> <a class="iref" href="#rfc.iref.g.62"><b>5.1.1</b></a></li> 2798 <li class="indline1"><tt>field-content</tt> <a class="iref" href="#rfc.iref.g.56"><b>4.2</b></a></li> 2799 <li class="indline1"><tt>field-name</tt> <a class="iref" href="#rfc.iref.g.54"><b>4.2</b></a></li> 2800 <li class="indline1"><tt>field-value</tt> <a class="iref" href="#rfc.iref.g.55"><b>4.2</b></a></li> 2801 <li class="indline1"><tt>general-header</tt> <a class="iref" href="#rfc.iref.g.58"><b>4.5</b></a></li> 2802 <li class="indline1"><tt>generic-message</tt> <a class="iref" href="#rfc.iref.g.51"><b>4.1</b></a></li> 2803 <li class="indline1"><tt>Host</tt> <a class="iref" href="#rfc.iref.g.73"><b>8.4</b></a></li> 2804 <li class="indline1"><tt>HTTP-date</tt> <a class="iref" href="#rfc.iref.g.22"><b>3.3.1</b></a></li> 2805 <li class="indline1"><tt>HTTP-message</tt> <a class="iref" href="#rfc.iref.g.50"><b>4.1</b></a></li> 2806 <li class="indline1"><tt>HTTP-Prot-Name</tt> <a class="iref" href="#rfc.iref.g.13"><b>3.1</b></a></li> 2807 <li class="indline1"><tt>http-URL</tt> <a class="iref" href="#rfc.iref.g.21"><b>3.2.2</b></a></li> 2808 <li class="indline1"><tt>HTTP-Version</tt> <a class="iref" href="#rfc.iref.g.12"><b>3.1</b></a></li> 2809 <li class="indline1"><tt>last-chunk</tt> <a class="iref" href="#rfc.iref.g.42"><b>3.4.1</b></a></li> 2791 <li class="indline1"><tt>absoluteURI</tt> <a class="iref" href="#rfc.iref.g.17"><b>3.2.1</b></a></li> 2792 <li class="indline1"><tt>asctime-date</tt> <a class="iref" href="#rfc.iref.g.29"><b>3.3.1</b></a></li> 2793 <li class="indline1"><tt>attribute</tt> <a class="iref" href="#rfc.iref.g.40"><b>3.4</b></a></li> 2794 <li class="indline1"><tt>authority</tt> <a class="iref" href="#rfc.iref.g.18"><b>3.2.1</b></a></li> 2795 <li class="indline1"><tt>BWS</tt> <a class="iref" href="#rfc.iref.g.4"><b>2.2</b></a></li> 2796 <li class="indline1"><tt>chunk</tt> <a class="iref" href="#rfc.iref.g.43"><b>3.4.1</b></a></li> 2797 <li class="indline1"><tt>chunk-data</tt> <a class="iref" href="#rfc.iref.g.49"><b>3.4.1</b></a></li> 2798 <li class="indline1"><tt>chunk-ext-name</tt> <a class="iref" href="#rfc.iref.g.47"><b>3.4.1</b></a></li> 2799 <li class="indline1"><tt>chunk-ext-val</tt> <a class="iref" href="#rfc.iref.g.48"><b>3.4.1</b></a></li> 2800 <li class="indline1"><tt>chunk-extension</tt> <a class="iref" href="#rfc.iref.g.46"><b>3.4.1</b></a></li> 2801 <li class="indline1"><tt>chunk-size</tt> <a class="iref" href="#rfc.iref.g.44"><b>3.4.1</b></a></li> 2802 <li class="indline1"><tt>Chunked-Body</tt> <a class="iref" href="#rfc.iref.g.42"><b>3.4.1</b></a></li> 2803 <li class="indline1"><tt>comment</tt> <a class="iref" href="#rfc.iref.g.9"><b>2.2</b></a></li> 2804 <li class="indline1"><tt>Connection</tt> <a class="iref" href="#rfc.iref.g.72"><b>8.1</b></a></li> 2805 <li class="indline1"><tt>connection-token</tt> <a class="iref" href="#rfc.iref.g.73"><b>8.1</b></a></li> 2806 <li class="indline1"><tt>Content-Length</tt> <a class="iref" href="#rfc.iref.g.74"><b>8.2</b></a></li> 2807 <li class="indline1"><tt>ctext</tt> <a class="iref" href="#rfc.iref.g.10"><b>2.2</b></a></li> 2808 <li class="indline1"><tt>Date</tt> <a class="iref" href="#rfc.iref.g.75"><b>8.3</b></a></li> 2809 <li class="indline1"><tt>date1</tt> <a class="iref" href="#rfc.iref.g.30"><b>3.3.1</b></a></li> 2810 <li class="indline1"><tt>date2</tt> <a class="iref" href="#rfc.iref.g.31"><b>3.3.1</b></a></li> 2811 <li class="indline1"><tt>date3</tt> <a class="iref" href="#rfc.iref.g.32"><b>3.3.1</b></a></li> 2812 <li class="indline1"><tt>extension-code</tt> <a class="iref" href="#rfc.iref.g.70"><b>6.1.1</b></a></li> 2813 <li class="indline1"><tt>extension-method</tt> <a class="iref" href="#rfc.iref.g.65"><b>5.1.1</b></a></li> 2814 <li class="indline1"><tt>field-content</tt> <a class="iref" href="#rfc.iref.g.59"><b>4.2</b></a></li> 2815 <li class="indline1"><tt>field-name</tt> <a class="iref" href="#rfc.iref.g.57"><b>4.2</b></a></li> 2816 <li class="indline1"><tt>field-value</tt> <a class="iref" href="#rfc.iref.g.58"><b>4.2</b></a></li> 2817 <li class="indline1"><tt>general-header</tt> <a class="iref" href="#rfc.iref.g.61"><b>4.5</b></a></li> 2818 <li class="indline1"><tt>generic-message</tt> <a class="iref" href="#rfc.iref.g.54"><b>4.1</b></a></li> 2819 <li class="indline1"><tt>Host</tt> <a class="iref" href="#rfc.iref.g.76"><b>8.4</b></a></li> 2820 <li class="indline1"><tt>HTTP-date</tt> <a class="iref" href="#rfc.iref.g.25"><b>3.3.1</b></a></li> 2821 <li class="indline1"><tt>HTTP-message</tt> <a class="iref" href="#rfc.iref.g.53"><b>4.1</b></a></li> 2822 <li class="indline1"><tt>HTTP-Prot-Name</tt> <a class="iref" href="#rfc.iref.g.16"><b>3.1</b></a></li> 2823 <li class="indline1"><tt>http-URL</tt> <a class="iref" href="#rfc.iref.g.24"><b>3.2.2</b></a></li> 2824 <li class="indline1"><tt>HTTP-Version</tt> <a class="iref" href="#rfc.iref.g.15"><b>3.1</b></a></li> 2825 <li class="indline1"><tt>last-chunk</tt> <a class="iref" href="#rfc.iref.g.45"><b>3.4.1</b></a></li> 2810 2826 <li class="indline1"><tt>LWS</tt> <a class="iref" href="#rfc.iref.g.1"><b>2.2</b></a></li> 2811 <li class="indline1"><tt>message-body</tt> <a class="iref" href="#rfc.iref.g.57"><b>4.3</b></a></li> 2812 <li class="indline1"><tt>message-header</tt> <a class="iref" href="#rfc.iref.g.53"><b>4.2</b></a></li> 2813 <li class="indline1"><tt>Method</tt> <a class="iref" href="#rfc.iref.g.61"><b>5.1.1</b></a></li> 2814 <li class="indline1"><tt>month</tt> <a class="iref" href="#rfc.iref.g.33"><b>3.3.1</b></a></li> 2815 <li class="indline1"><tt>obsolete-date</tt> <a class="iref" href="#rfc.iref.g.24"><b>3.3.1</b></a></li> 2816 <li class="indline1"><tt>parameter</tt> <a class="iref" href="#rfc.iref.g.36"><b>3.4</b></a></li> 2817 <li class="indline1"><tt>path-absolute</tt> <a class="iref" href="#rfc.iref.g.16"><b>3.2.1</b></a></li> 2818 <li class="indline1"><tt>port</tt> <a class="iref" href="#rfc.iref.g.17"><b>3.2.1</b></a></li> 2819 <li class="indline1"><tt>product</tt> <a class="iref" href="#rfc.iref.g.48"><b>3.5</b></a></li> 2820 <li class="indline1"><tt>product-version</tt> <a class="iref" href="#rfc.iref.g.49"><b>3.5</b></a></li> 2821 <li class="indline1"><tt>protocol-name</tt> <a class="iref" href="#rfc.iref.g.81"><b>8.9</b></a></li> 2822 <li class="indline1"><tt>protocol-version</tt> <a class="iref" href="#rfc.iref.g.82"><b>8.9</b></a></li> 2823 <li class="indline1"><tt>pseudonym</tt> <a class="iref" href="#rfc.iref.g.84"><b>8.9</b></a></li> 2824 <li class="indline1"><tt>qdtext</tt> <a class="iref" href="#rfc.iref.g.9"><b>2.2</b></a></li> 2825 <li class="indline1"><tt>query</tt> <a class="iref" href="#rfc.iref.g.18"><b>3.2.1</b></a></li> 2826 <li class="indline1"><tt>quoted-pair</tt> <a class="iref" href="#rfc.iref.g.11"><b>2.2</b></a></li> 2827 <li class="indline1"><tt>quoted-string</tt> <a class="iref" href="#rfc.iref.g.8"><b>2.2</b></a></li> 2828 <li class="indline1"><tt>quoted-text</tt> <a class="iref" href="#rfc.iref.g.10"><b>2.2</b></a></li> 2829 <li class="indline1"><tt>Reason-Phrase</tt> <a class="iref" href="#rfc.iref.g.68"><b>6.1.1</b></a></li> 2830 <li class="indline1"><tt>received-by</tt> <a class="iref" href="#rfc.iref.g.83"><b>8.9</b></a></li> 2831 <li class="indline1"><tt>received-protocol</tt> <a class="iref" href="#rfc.iref.g.80"><b>8.9</b></a></li> 2832 <li class="indline1"><tt>relativeURI</tt> <a class="iref" href="#rfc.iref.g.19"><b>3.2.1</b></a></li> 2833 <li class="indline1"><tt>Request</tt> <a class="iref" href="#rfc.iref.g.59"><b>5</b></a></li> 2834 <li class="indline1"><tt>Request-Line</tt> <a class="iref" href="#rfc.iref.g.60"><b>5.1</b></a></li> 2835 <li class="indline1"><tt>Request-URI</tt> <a class="iref" href="#rfc.iref.g.63"><b>5.1.2</b></a></li> 2836 <li class="indline1"><tt>Response</tt> <a class="iref" href="#rfc.iref.g.64"><b>6</b></a></li> 2837 <li class="indline1"><tt>rfc1123-date</tt> <a class="iref" href="#rfc.iref.g.23"><b>3.3.1</b></a></li> 2838 <li class="indline1"><tt>rfc850-date</tt> <a class="iref" href="#rfc.iref.g.25"><b>3.3.1</b></a></li> 2839 <li class="indline1"><tt>separators</tt> <a class="iref" href="#rfc.iref.g.5"><b>2.2</b></a></li> 2840 <li class="indline1"><tt>start-line</tt> <a class="iref" href="#rfc.iref.g.52"><b>4.1</b></a></li> 2841 <li class="indline1"><tt>Status-Code</tt> <a class="iref" href="#rfc.iref.g.66"><b>6.1.1</b></a></li> 2842 <li class="indline1"><tt>Status-Line</tt> <a class="iref" href="#rfc.iref.g.65"><b>6.1</b></a></li> 2843 <li class="indline1"><tt>t-codings</tt> <a class="iref" href="#rfc.iref.g.75"><b>8.5</b></a></li> 2844 <li class="indline1"><tt>tchar</tt> <a class="iref" href="#rfc.iref.g.4"><b>2.2</b></a></li> 2845 <li class="indline1"><tt>TE</tt> <a class="iref" href="#rfc.iref.g.74"><b>8.5</b></a></li> 2846 <li class="indline1"><tt>TEXT</tt> <a class="iref" href="#rfc.iref.g.2"><b>2.2</b></a></li> 2847 <li class="indline1"><tt>time</tt> <a class="iref" href="#rfc.iref.g.30"><b>3.3.1</b></a></li> 2848 <li class="indline1"><tt>token</tt> <a class="iref" href="#rfc.iref.g.3"><b>2.2</b></a></li> 2849 <li class="indline1"><tt>Trailer</tt> <a class="iref" href="#rfc.iref.g.76"><b>8.6</b></a></li> 2850 <li class="indline1"><tt>trailer-part</tt> <a class="iref" href="#rfc.iref.g.47"><b>3.4.1</b></a></li> 2851 <li class="indline1"><tt>transfer-coding</tt> <a class="iref" href="#rfc.iref.g.34"><b>3.4</b></a></li> 2852 <li class="indline1"><tt>Transfer-Encoding</tt> <a class="iref" href="#rfc.iref.g.77"><b>8.7</b></a></li> 2853 <li class="indline1"><tt>transfer-extension</tt> <a class="iref" href="#rfc.iref.g.35"><b>3.4</b></a></li> 2854 <li class="indline1"><tt>Upgrade</tt> <a class="iref" href="#rfc.iref.g.78"><b>8.8</b></a></li> 2855 <li class="indline1"><tt>uri-host</tt> <a class="iref" href="#rfc.iref.g.20"><b>3.2.1</b></a></li> 2856 <li class="indline1"><tt>value</tt> <a class="iref" href="#rfc.iref.g.38"><b>3.4</b></a></li> 2857 <li class="indline1"><tt>Via</tt> <a class="iref" href="#rfc.iref.g.79"><b>8.9</b></a></li> 2858 <li class="indline1"><tt>weekday</tt> <a class="iref" href="#rfc.iref.g.32"><b>3.3.1</b></a></li> 2859 <li class="indline1"><tt>wkday</tt> <a class="iref" href="#rfc.iref.g.31"><b>3.3.1</b></a></li> 2827 <li class="indline1"><tt>message-body</tt> <a class="iref" href="#rfc.iref.g.60"><b>4.3</b></a></li> 2828 <li class="indline1"><tt>message-header</tt> <a class="iref" href="#rfc.iref.g.56"><b>4.2</b></a></li> 2829 <li class="indline1"><tt>Method</tt> <a class="iref" href="#rfc.iref.g.64"><b>5.1.1</b></a></li> 2830 <li class="indline1"><tt>month</tt> <a class="iref" href="#rfc.iref.g.36"><b>3.3.1</b></a></li> 2831 <li class="indline1"><tt>obsolete-date</tt> <a class="iref" href="#rfc.iref.g.27"><b>3.3.1</b></a></li> 2832 <li class="indline1"><tt>OWS</tt> <a class="iref" href="#rfc.iref.g.2"><b>2.2</b></a></li> 2833 <li class="indline1"><tt>parameter</tt> <a class="iref" href="#rfc.iref.g.39"><b>3.4</b></a></li> 2834 <li class="indline1"><tt>path-absolute</tt> <a class="iref" href="#rfc.iref.g.19"><b>3.2.1</b></a></li> 2835 <li class="indline1"><tt>port</tt> <a class="iref" href="#rfc.iref.g.20"><b>3.2.1</b></a></li> 2836 <li class="indline1"><tt>product</tt> <a class="iref" href="#rfc.iref.g.51"><b>3.5</b></a></li> 2837 <li class="indline1"><tt>product-version</tt> <a class="iref" href="#rfc.iref.g.52"><b>3.5</b></a></li> 2838 <li class="indline1"><tt>protocol-name</tt> <a class="iref" href="#rfc.iref.g.84"><b>8.9</b></a></li> 2839 <li class="indline1"><tt>protocol-version</tt> <a class="iref" href="#rfc.iref.g.85"><b>8.9</b></a></li> 2840 <li class="indline1"><tt>pseudonym</tt> <a class="iref" href="#rfc.iref.g.87"><b>8.9</b></a></li> 2841 <li class="indline1"><tt>qdtext</tt> <a class="iref" href="#rfc.iref.g.12"><b>2.2</b></a></li> 2842 <li class="indline1"><tt>query</tt> <a class="iref" href="#rfc.iref.g.21"><b>3.2.1</b></a></li> 2843 <li class="indline1"><tt>quoted-pair</tt> <a class="iref" href="#rfc.iref.g.14"><b>2.2</b></a></li> 2844 <li class="indline1"><tt>quoted-string</tt> <a class="iref" href="#rfc.iref.g.11"><b>2.2</b></a></li> 2845 <li class="indline1"><tt>quoted-text</tt> <a class="iref" href="#rfc.iref.g.13"><b>2.2</b></a></li> 2846 <li class="indline1"><tt>Reason-Phrase</tt> <a class="iref" href="#rfc.iref.g.71"><b>6.1.1</b></a></li> 2847 <li class="indline1"><tt>received-by</tt> <a class="iref" href="#rfc.iref.g.86"><b>8.9</b></a></li> 2848 <li class="indline1"><tt>received-protocol</tt> <a class="iref" href="#rfc.iref.g.83"><b>8.9</b></a></li> 2849 <li class="indline1"><tt>relativeURI</tt> <a class="iref" href="#rfc.iref.g.22"><b>3.2.1</b></a></li> 2850 <li class="indline1"><tt>Request</tt> <a class="iref" href="#rfc.iref.g.62"><b>5</b></a></li> 2851 <li class="indline1"><tt>Request-Line</tt> <a class="iref" href="#rfc.iref.g.63"><b>5.1</b></a></li> 2852 <li class="indline1"><tt>Request-URI</tt> <a class="iref" href="#rfc.iref.g.66"><b>5.1.2</b></a></li> 2853 <li class="indline1"><tt>Response</tt> <a class="iref" href="#rfc.iref.g.67"><b>6</b></a></li> 2854 <li class="indline1"><tt>rfc1123-date</tt> <a class="iref" href="#rfc.iref.g.26"><b>3.3.1</b></a></li> 2855 <li class="indline1"><tt>rfc850-date</tt> <a class="iref" href="#rfc.iref.g.28"><b>3.3.1</b></a></li> 2856 <li class="indline1"><tt>RWS</tt> <a class="iref" href="#rfc.iref.g.3"><b>2.2</b></a></li> 2857 <li class="indline1"><tt>separators</tt> <a class="iref" href="#rfc.iref.g.8"><b>2.2</b></a></li> 2858 <li class="indline1"><tt>start-line</tt> <a class="iref" href="#rfc.iref.g.55"><b>4.1</b></a></li> 2859 <li class="indline1"><tt>Status-Code</tt> <a class="iref" href="#rfc.iref.g.69"><b>6.1.1</b></a></li> 2860 <li class="indline1"><tt>Status-Line</tt> <a class="iref" href="#rfc.iref.g.68"><b>6.1</b></a></li> 2861 <li class="indline1"><tt>t-codings</tt> <a class="iref" href="#rfc.iref.g.78"><b>8.5</b></a></li> 2862 <li class="indline1"><tt>tchar</tt> <a class="iref" href="#rfc.iref.g.7"><b>2.2</b></a></li> 2863 <li class="indline1"><tt>TE</tt> <a class="iref" href="#rfc.iref.g.77"><b>8.5</b></a></li> 2864 <li class="indline1"><tt>TEXT</tt> <a class="iref" href="#rfc.iref.g.5"><b>2.2</b></a></li> 2865 <li class="indline1"><tt>time</tt> <a class="iref" href="#rfc.iref.g.33"><b>3.3.1</b></a></li> 2866 <li class="indline1"><tt>token</tt> <a class="iref" href="#rfc.iref.g.6"><b>2.2</b></a></li> 2867 <li class="indline1"><tt>Trailer</tt> <a class="iref" href="#rfc.iref.g.79"><b>8.6</b></a></li> 2868 <li class="indline1"><tt>trailer-part</tt> <a class="iref" href="#rfc.iref.g.50"><b>3.4.1</b></a></li> 2869 <li class="indline1"><tt>transfer-coding</tt> <a class="iref" href="#rfc.iref.g.37"><b>3.4</b></a></li> 2870 <li class="indline1"><tt>Transfer-Encoding</tt> <a class="iref" href="#rfc.iref.g.80"><b>8.7</b></a></li> 2871 <li class="indline1"><tt>transfer-extension</tt> <a class="iref" href="#rfc.iref.g.38"><b>3.4</b></a></li> 2872 <li class="indline1"><tt>Upgrade</tt> <a class="iref" href="#rfc.iref.g.81"><b>8.8</b></a></li> 2873 <li class="indline1"><tt>uri-host</tt> <a class="iref" href="#rfc.iref.g.23"><b>3.2.1</b></a></li> 2874 <li class="indline1"><tt>value</tt> <a class="iref" href="#rfc.iref.g.41"><b>3.4</b></a></li> 2875 <li class="indline1"><tt>Via</tt> <a class="iref" href="#rfc.iref.g.82"><b>8.9</b></a></li> 2876 <li class="indline1"><tt>weekday</tt> <a class="iref" href="#rfc.iref.g.35"><b>3.3.1</b></a></li> 2877 <li class="indline1"><tt>wkday</tt> <a class="iref" href="#rfc.iref.g.34"><b>3.3.1</b></a></li> 2860 2878 </ul> 2861 2879 </li> -
draft-ietf-httpbis/latest/p1-messaging.xml
r349 r351 510 510 <x:ref>LWS</x:ref> = [<x:ref>CRLF</x:ref>] 1*( <x:ref>SP</x:ref> / <x:ref>HTAB</x:ref> ) 511 511 </artwork></figure> 512 <t anchor="rule.whitespace"> 513 <x:anchor-alias value="BWS"/> 514 <x:anchor-alias value="OWS"/> 515 <x:anchor-alias value="RWS"/> 516 <x:anchor-alias value="obs-fold"/> 517 <cref>Add prose introducing the different kinds of WS.</cref> 518 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="OWS"/><iref primary="true" item="Grammar" subitem="RWS"/><iref primary="true" item="Grammar" subitem="BWS"/> 519 <x:ref>OWS</x:ref> = 1*( [ obs-fold ] <x:ref>WSP</x:ref> ) 520 ; "optional" white space 521 <x:ref>RWS</x:ref> = 1*( [ obs-fold ] <x:ref>WSP</x:ref> ) 522 ; "required" white space 523 <x:ref>BWS</x:ref> = <x:ref>OWS</x:ref> 524 ; "bad" white space 525 <x:ref>obs-fold</x:ref> = <x:ref>CRLF</x:ref> 526 ; <cref>to be explained: do not produce</cref> 527 </artwork></figure> 528 </t> 512 529 <t anchor="rule.TEXT"> 513 530 <x:anchor-alias value="TEXT"/> … … 4623 4640 Only reference RFC 5234's core rules. 4624 4641 </t> 4642 <t> 4643 Introduce new ABNF rules for "bad" whitespace ("BWS"), optional 4644 whitespace ("OWS") and required whitespace ("RWS"), but do not use 4645 them yet. 4646 </t> 4625 4647 </list> 4626 4648 </t>
Note: See TracChangeset
for help on using the changeset viewer.