Changeset 186
- Timestamp:
- 02/02/08 16:29:41 (14 years ago)
- Location:
- draft-ietf-httpbis/latest
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p1-messaging.html
r185 r186 927 927 set is defined by ANSI X3.4-1986 <a href="#USASCII" id="rfc.xref.USASCII.1"><cite title="Coded Character Set -- 7-bit American Standard Code for Information Interchange">[USASCII]</cite></a>. 928 928 </p> 929 <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><span id="rfc.iref.g.12"></span><span id="rfc.iref.g.13"></span> OCTET = <any 8-bit sequence of data> 930 CHAR = <any US-ASCII character (octets 0 - 127)> 931 UPALPHA = <any US-ASCII uppercase letter "A".."Z"> 932 LOALPHA = <any US-ASCII lowercase letter "a".."z"> 933 ALPHA = UPALPHA | LOALPHA 934 DIGIT = <any US-ASCII digit "0".."9"> 935 CTL = <any US-ASCII control character 936 (octets 0 - 31) and DEL (127)> 937 CR = <US-ASCII CR, carriage return (13)> 938 LF = <US-ASCII LF, linefeed (10)> 939 SP = <US-ASCII SP, space (32)> 940 HTAB = <US-ASCII HT, horizontal-tab (9)> 941 DQUOTE = <US-ASCII double-quote mark (34)> 929 <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> OCTET = %x00-FF 930 ; any 8-bit sequence of data 931 CHAR = %x00-7F 932 ; any US-ASCII character 933 ALPHA = %x41-5A / %x61-7A 934 ; A-Z / a-z 935 DIGIT = %x30-39 936 ; any US-ASCII digit "0".."9" 937 CTL = %x00-1F | %x7F 938 ; (octets 0 - 31) and DEL (127) 939 CR = %x0D 940 ; US-ASCII CR, carriage return (13) 941 LF = %x0A 942 ; US-ASCII LF, linefeed (10) 943 SP = %x20 944 ; US-ASCII SP, space (32) 945 HTAB = %x09 946 ; US-ASCII HT, horizontal-tab (9) 947 DQUOTE = %x22 948 ; US-ASCII double-quote mark (34) 942 949 </pre><p id="rfc.section.2.2.p.3">HTTP/1.1 defines the sequence CR LF as the end-of-line marker for all protocol elements except the entity-body (see <a href="#tolerant.applications" title="Tolerant Applications">Appendix B</a> for tolerant applications). The end-of-line marker within an entity-body is defined by its associated media type, as described 943 950 in <a href="p3-payload.html#media.types" title="Media Types">Section 2.3</a> of <a href="#Part3" id="rfc.xref.Part3.5"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>. 944 951 </p> 945 <div id="rfc.figure.u.5"></div><pre class="inline"><span id="rfc.iref.g.1 4"></span> CRLF = CR LF952 <div id="rfc.figure.u.5"></div><pre class="inline"><span id="rfc.iref.g.12"></span> CRLF = CR LF 946 953 </pre><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 947 954 tab. All linear white space, including folding, has the same semantics as SP. A recipient <em class="bcp14">MAY</em> replace any linear white space with a single SP before interpreting the field value or forwarding the message downstream. 948 955 </p> 949 <div id="rfc.figure.u.6"></div><pre class="inline"><span id="rfc.iref.g.1 5"></span> LWS = [CRLF] 1*( SP | HTAB )956 <div id="rfc.figure.u.6"></div><pre class="inline"><span id="rfc.iref.g.13"></span> LWS = [CRLF] 1*( SP | HTAB ) 950 957 </pre><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 951 958 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>. 952 959 </p> 953 <div id="rfc.figure.u.7"></div><pre class="inline"><span id="rfc.iref.g.16"></span> TEXT = <any OCTET except CTLs, 954 but including LWS> 960 <div id="rfc.figure.u.7"></div><pre class="inline"><span id="rfc.iref.g.14"></span> TEXT = <any OCTET except CTLs, but including LWS> 955 961 </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 956 962 will be replaced with a single SP before interpretation of the TEXT value. 957 963 </p> 958 964 <p id="rfc.section.2.2.p.10">Hexadecimal numeric characters are used in several protocol elements.</p> 959 <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g.1 7"></span> HEX = "A" | "B" | "C" | "D" | "E" | "F"965 <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g.15"></span> HEX = "A" | "B" | "C" | "D" | "E" | "F" 960 966 | "a" | "b" | "c" | "d" | "e" | "f" | DIGIT 961 967 </pre><p id="rfc.section.2.2.p.12">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>). 962 968 </p> 963 <div id="rfc.figure.u.9"></div><pre class="inline"><span id="rfc.iref.g.1 8"></span><span id="rfc.iref.g.19"></span> token = 1*<any CHAR except CTLs or separators>969 <div id="rfc.figure.u.9"></div><pre class="inline"><span id="rfc.iref.g.16"></span><span id="rfc.iref.g.17"></span> token = 1*<any CHAR except CTLs or separators> 964 970 separators = "(" | ")" | "<" | ">" | "@" 965 971 | "," | ";" | ":" | "\" | DQUOTE … … 970 976 of the field value. 971 977 </p> 972 <div id="rfc.figure.u.10"></div><pre class="inline"><span id="rfc.iref.g. 20"></span><span id="rfc.iref.g.21"></span> comment = "(" *( ctext | quoted-pair | comment ) ")"978 <div id="rfc.figure.u.10"></div><pre class="inline"><span id="rfc.iref.g.18"></span><span id="rfc.iref.g.19"></span> comment = "(" *( ctext | quoted-pair | comment ) ")" 973 979 ctext = <any TEXT excluding "(" and ")"> 974 980 </pre><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> 975 <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.2 2"></span><span id="rfc.iref.g.23"></span> quoted-string = ( DQUOTE *(qdtext | quoted-pair ) DQUOTE )981 <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.20"></span><span id="rfc.iref.g.21"></span> quoted-string = ( DQUOTE *(qdtext | quoted-pair ) DQUOTE ) 976 982 qdtext = <any TEXT excluding DQUOTE and "\"> 977 983 </pre><p id="rfc.section.2.2.p.18">The backslash character ("\") <em class="bcp14">MAY</em> be used as a single-character quoting mechanism only within quoted-string and comment constructs. 978 984 </p> 979 <div id="rfc.figure.u.12"></div><pre class="inline"><span id="rfc.iref.g.2 4"></span> quoted-pair = "\" CHAR985 <div id="rfc.figure.u.12"></div><pre class="inline"><span id="rfc.iref.g.22"></span> quoted-pair = "\" CHAR 980 986 </pre><h1 id="rfc.section.3"><a href="#rfc.section.3">3.</a> <a id="protocol.parameters" href="#protocol.parameters">Protocol Parameters</a></h1> 981 987 <h2 id="rfc.section.3.1"><a href="#rfc.section.3.1">3.1</a> <a id="http.version" href="#http.version">HTTP Version</a></h2> … … 989 995 </p> 990 996 <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> 991 <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.2 5"></span> HTTP-Version = "HTTP" "/" 1*DIGIT "." 1*DIGIT997 <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.23"></span> HTTP-Version = "HTTP" "/" 1*DIGIT "." 1*DIGIT 992 998 </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. 993 999 Leading zeros <em class="bcp14">MUST</em> be ignored by recipients and <em class="bcp14">MUST NOT</em> be sent. … … 1019 1025 "query", and "authority" from that specification: 1020 1026 </p> 1021 <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.2 6"></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> absoluteURI = <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>>1027 <div id="rfc.figure.u.14"></div><pre class="inline"><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> absoluteURI = <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>> 1022 1028 authority = <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>> 1023 1029 path-absolute = <abs_path, 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-3">Section 3</a>> … … 1038 1044 and semantics for http URLs. 1039 1045 </p> 1040 <div id="rfc.figure.u.15"></div><pre class="inline"><span id="rfc.iref.g.3 3"></span> http-URL = "http:" "//" uri-host [ ":" port ]1046 <div id="rfc.figure.u.15"></div><pre class="inline"><span id="rfc.iref.g.31"></span> http-URL = "http:" "//" uri-host [ ":" port ] 1041 1047 [ path-absolute [ "?" query ]] 1042 1048 </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 … … 1078 1084 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. 1079 1085 </p> 1080 <div id="rfc.figure.u.18"></div><pre class="inline"><span id="rfc.iref.g.3 4"></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> HTTP-date = rfc1123-date | rfc850-date | asctime-date1086 <div id="rfc.figure.u.18"></div><pre class="inline"><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><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> HTTP-date = rfc1123-date | rfc850-date | asctime-date 1081 1087 rfc1123-date = wkday "," SP date1 SP time SP "GMT" 1082 1088 rfc850-date = weekday "," SP date2 SP time SP "GMT" … … 1105 1111 is a property of the message, not of the original entity. 1106 1112 </p> 1107 <div id="rfc.figure.u.19"></div><pre class="inline"><span id="rfc.iref.g.4 5"></span><span id="rfc.iref.g.46"></span> transfer-coding = "chunked" | transfer-extension1113 <div id="rfc.figure.u.19"></div><pre class="inline"><span id="rfc.iref.g.43"></span><span id="rfc.iref.g.44"></span> transfer-coding = "chunked" | transfer-extension 1108 1114 transfer-extension = token *( ";" parameter ) 1109 1115 </pre><p id="rfc.section.3.4.p.3">Parameters are in the form of attribute/value pairs.</p> 1110 <div id="rfc.figure.u.20"></div><pre class="inline"><span id="rfc.iref.g.4 7"></span><span id="rfc.iref.g.48"></span><span id="rfc.iref.g.49"></span> parameter = attribute "=" value1116 <div id="rfc.figure.u.20"></div><pre class="inline"><span id="rfc.iref.g.45"></span><span id="rfc.iref.g.46"></span><span id="rfc.iref.g.47"></span> parameter = attribute "=" value 1111 1117 attribute = token 1112 1118 value = token | quoted-string … … 1133 1139 necessary for the recipient to verify that it has received the full message. 1134 1140 </p> 1135 <div id="rfc.figure.u.21"></div><pre class="inline"><span id="rfc.iref.g. 50"></span><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> Chunked-Body = *chunk1141 <div id="rfc.figure.u.21"></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><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> Chunked-Body = *chunk 1136 1142 last-chunk 1137 1143 trailer-part … … 1190 1196 <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> 1191 1197 <p id="rfc.section.4.1.p.1">HTTP messages consist of requests from client to server and responses from server to client.</p> 1192 <div id="rfc.figure.u.23"></div><pre class="inline"><span id="rfc.iref.g.5 9"></span> HTTP-message = Request | Response ; HTTP/1.1 messages1198 <div id="rfc.figure.u.23"></div><pre class="inline"><span id="rfc.iref.g.57"></span> HTTP-message = Request | Response ; HTTP/1.1 messages 1193 1199 </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 1194 1200 fields (also known as "headers"), an empty line (i.e., a line with nothing preceding the CRLF) indicating the end of the header 1195 1201 fields, and possibly a message-body. 1196 1202 </p> 1197 <div id="rfc.figure.u.24"></div><pre class="inline"><span id="rfc.iref.g. 60"></span><span id="rfc.iref.g.61"></span> generic-message = start-line1203 <div id="rfc.figure.u.24"></div><pre class="inline"><span id="rfc.iref.g.58"></span><span id="rfc.iref.g.59"></span> generic-message = start-line 1198 1204 *(message-header CRLF) 1199 1205 CRLF … … 1213 1219 forms. 1214 1220 </p> 1215 <div id="rfc.figure.u.25"></div><pre class="inline"><span id="rfc.iref.g.6 2"></span><span id="rfc.iref.g.63"></span><span id="rfc.iref.g.64"></span><span id="rfc.iref.g.65"></span> message-header = field-name ":" [ field-value ]1221 <div id="rfc.figure.u.25"></div><pre class="inline"><span id="rfc.iref.g.60"></span><span id="rfc.iref.g.61"></span><span id="rfc.iref.g.62"></span><span id="rfc.iref.g.63"></span> message-header = field-name ":" [ field-value ] 1216 1222 field-name = token 1217 1223 field-value = *( field-content | LWS ) 1218 field-content = <the OCTETs making up the field-value 1219 and consisting of either *TEXT or combinations 1220 of token, separators, and quoted-string> 1224 field-content = <field content> 1225 ; the OCTETs making up the field-value 1226 ; and consisting of either *TEXT or combinations 1227 ; of token, separators, and quoted-string 1221 1228 </pre><p id="rfc.section.4.2.p.3">The field-content does not include any leading or trailing LWS: linear white space occurring before the first non-whitespace 1222 1229 character of the field-value or after the last non-whitespace character of the field-value. Such leading or trailing LWS <em class="bcp14">MAY</em> be removed without changing the semantics of the field value. Any LWS that occurs between field-content <em class="bcp14">MAY</em> be replaced with a single SP before interpreting the field value or forwarding the message downstream. … … 1237 1244 header field (<a href="#header.transfer-encoding" id="rfc.xref.header.transfer-encoding.2" title="Transfer-Encoding">Section 8.7</a>). 1238 1245 </p> 1239 <div id="rfc.figure.u.26"></div><pre class="inline"><span id="rfc.iref.g.6 6"></span> message-body = entity-body1246 <div id="rfc.figure.u.26"></div><pre class="inline"><span id="rfc.iref.g.64"></span> message-body = entity-body 1240 1247 | <entity-body encoded as per Transfer-Encoding> 1241 1248 </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 … … 1304 1311 to the entity being transferred. These header fields apply only to the message being transmitted. 1305 1312 </p> 1306 <div id="rfc.figure.u.27"></div><pre class="inline"><span id="rfc.iref.g.6 7"></span> general-header = Cache-Control ; <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.cache-control" title="Cache-Control">Section 15.2</a>1313 <div id="rfc.figure.u.27"></div><pre class="inline"><span id="rfc.iref.g.65"></span> general-header = Cache-Control ; <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.cache-control" title="Cache-Control">Section 15.2</a> 1307 1314 | Connection ; <a href="#header.connection" id="rfc.xref.header.connection.1" title="Connection">Section 8.1</a> 1308 1315 | Date ; <a href="#header.date" id="rfc.xref.header.date.1" title="Date">Section 8.3</a> … … 1321 1328 resource, the identifier of the resource, and the protocol version in use. 1322 1329 </p> 1323 <div id="rfc.figure.u.28"></div><pre class="inline"><span id="rfc.iref.g.6 8"></span> Request = Request-Line ; <a href="#request-line" title="Request-Line">Section 5.1</a>1330 <div id="rfc.figure.u.28"></div><pre class="inline"><span id="rfc.iref.g.66"></span> Request = Request-Line ; <a href="#request-line" title="Request-Line">Section 5.1</a> 1324 1331 *(( general-header ; <a href="#general.header.fields" title="General Header Fields">Section 4.5</a> 1325 1332 | request-header ; <a href="#Part2" id="rfc.xref.Part2.5"><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> … … 1331 1338 elements are separated by SP characters. No CR or LF is allowed except in the final CRLF sequence. 1332 1339 </p> 1333 <div id="rfc.figure.u.29"></div><pre class="inline"><span id="rfc.iref.g.6 9"></span> Request-Line = Method SP Request-URI SP HTTP-Version CRLF1340 <div id="rfc.figure.u.29"></div><pre class="inline"><span id="rfc.iref.g.67"></span> Request-Line = Method SP Request-URI SP HTTP-Version CRLF 1334 1341 </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> 1335 1342 <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> 1336 <div id="rfc.figure.u.30"></div><pre class="inline"><span id="rfc.iref.g. 70"></span><span id="rfc.iref.g.71"></span> Method = token1343 <div id="rfc.figure.u.30"></div><pre class="inline"><span id="rfc.iref.g.68"></span><span id="rfc.iref.g.69"></span> Method = token 1337 1344 </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> 1338 1345 <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. 1339 1346 </p> 1340 <div id="rfc.figure.u.31"></div><pre class="inline"><span id="rfc.iref.g.7 2"></span> Request-URI = "*"1347 <div id="rfc.figure.u.31"></div><pre class="inline"><span id="rfc.iref.g.70"></span> Request-URI = "*" 1341 1348 | absoluteURI 1342 1349 | ( path-absolute [ "?" query ] ) … … 1399 1406 <h1 id="rfc.section.6"><a href="#rfc.section.6">6.</a> <a id="response" href="#response">Response</a></h1> 1400 1407 <p id="rfc.section.6.p.1">After receiving and interpreting a request message, a server responds with an HTTP response message.</p> 1401 <div id="rfc.figure.u.35"></div><pre class="inline"><span id="rfc.iref.g.7 3"></span> Response = Status-Line ; <a href="#status-line" title="Status-Line">Section 6.1</a>1408 <div id="rfc.figure.u.35"></div><pre class="inline"><span id="rfc.iref.g.71"></span> Response = Status-Line ; <a href="#status-line" title="Status-Line">Section 6.1</a> 1402 1409 *(( general-header ; <a href="#general.header.fields" title="General Header Fields">Section 4.5</a> 1403 1410 | response-header ; <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#response.header.fields" title="Response Header Fields">Section 6</a> … … 1410 1417 CRLF sequence. 1411 1418 </p> 1412 <div id="rfc.figure.u.36"></div><pre class="inline"><span id="rfc.iref.g.7 4"></span> Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF1419 <div id="rfc.figure.u.36"></div><pre class="inline"><span id="rfc.iref.g.72"></span> Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF 1413 1420 </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> 1414 1421 <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 … … 1426 1433 <li>5xx: Server Error - The server failed to fulfill an apparently valid request</li> 1427 1434 </ul> 1428 <div id="rfc.figure.u.37"></div><pre class="inline"><span id="rfc.iref.g.7 5"></span><span id="rfc.iref.g.76"></span><span id="rfc.iref.g.77"></span> Status-Code = 3DIGIT1435 <div id="rfc.figure.u.37"></div><pre class="inline"><span id="rfc.iref.g.73"></span><span id="rfc.iref.g.74"></span><span id="rfc.iref.g.75"></span> Status-Code = 3DIGIT 1429 1436 Reason-Phrase = *<TEXT, excluding CR, LF> 1430 1437 </pre><h1 id="rfc.section.7"><a href="#rfc.section.7">7.</a> <a id="connections" href="#connections">Connections</a></h1> … … 1617 1624 </p> 1618 1625 <p id="rfc.section.8.1.p.2">The Connection header has the following grammar:</p> 1619 <div id="rfc.figure.u.38"></div><pre class="inline"><span id="rfc.iref.g.7 8"></span><span id="rfc.iref.g.79"></span> Connection = "Connection" ":" 1#(connection-token)1626 <div id="rfc.figure.u.38"></div><pre class="inline"><span id="rfc.iref.g.76"></span><span id="rfc.iref.g.77"></span> Connection = "Connection" ":" 1#(connection-token) 1620 1627 connection-token = token 1621 1628 </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 … … 1645 1652 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. 1646 1653 </p> 1647 <div id="rfc.figure.u.40"></div><pre class="inline"><span id="rfc.iref.g. 80"></span> Content-Length = "Content-Length" ":" 1*DIGIT1654 <div id="rfc.figure.u.40"></div><pre class="inline"><span id="rfc.iref.g.78"></span> Content-Length = "Content-Length" ":" 1*DIGIT 1648 1655 </pre><p id="rfc.section.8.2.p.3">An example is</p> 1649 1656 <div id="rfc.figure.u.41"></div><pre class="text"> Content-Length: 3495 … … 1662 1669 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. 1663 1670 </p> 1664 <div id="rfc.figure.u.42"></div><pre class="inline"><span id="rfc.iref.g. 81"></span> Date = "Date" ":" HTTP-date1671 <div id="rfc.figure.u.42"></div><pre class="inline"><span id="rfc.iref.g.79"></span> Date = "Date" ":" HTTP-date 1665 1672 </pre><p id="rfc.section.8.3.p.3">An example is</p> 1666 1673 <div id="rfc.figure.u.43"></div><pre class="text"> Date: Tue, 15 Nov 1994 08:12:31 GMT … … 1700 1707 a single IP address. 1701 1708 </p> 1702 <div id="rfc.figure.u.44"></div><pre class="inline"><span id="rfc.iref.g.8 2"></span> Host = "Host" ":" uri-host [ ":" port ] ; <a href="#http.url" title="http URL">Section 3.2.2</a>1709 <div id="rfc.figure.u.44"></div><pre class="inline"><span id="rfc.iref.g.80"></span> Host = "Host" ":" uri-host [ ":" port ] ; <a href="#http.url" title="http URL">Section 3.2.2</a> 1703 1710 </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 1704 1711 URL). For example, a request on the origin server for <http://www.example.org/pub/WWW/> would properly include: … … 1719 1726 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>). 1720 1727 </p> 1721 <div id="rfc.figure.u.46"></div><pre class="inline"><span id="rfc.iref.g.8 3"></span><span id="rfc.iref.g.84"></span> TE = "TE" ":" #( t-codings )1728 <div id="rfc.figure.u.46"></div><pre class="inline"><span id="rfc.iref.g.81"></span><span id="rfc.iref.g.82"></span> TE = "TE" ":" #( t-codings ) 1722 1729 t-codings = "trailers" | ( transfer-extension [ accept-params ] ) 1723 1730 </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, … … 1762 1769 with chunked transfer-coding. 1763 1770 </p> 1764 <div id="rfc.figure.u.48"></div><pre class="inline"><span id="rfc.iref.g.8 5"></span> Trailer = "Trailer" ":" 1#field-name1771 <div id="rfc.figure.u.48"></div><pre class="inline"><span id="rfc.iref.g.83"></span> Trailer = "Trailer" ":" 1#field-name 1765 1772 </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 1766 1773 to know which header fields to expect in the trailer. … … 1782 1789 transfer-coding is a property of the message, not of the entity. 1783 1790 </p> 1784 <div id="rfc.figure.u.49"></div><pre class="inline"><span id="rfc.iref.g.8 6"></span> Transfer-Encoding = "Transfer-Encoding" ":" 1#transfer-coding1791 <div id="rfc.figure.u.49"></div><pre class="inline"><span id="rfc.iref.g.84"></span> Transfer-Encoding = "Transfer-Encoding" ":" 1#transfer-coding 1785 1792 </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: 1786 1793 </p> … … 1795 1802 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. 1796 1803 </p> 1797 <div id="rfc.figure.u.51"></div><pre class="inline"><span id="rfc.iref.g.8 7"></span> Upgrade = "Upgrade" ":" 1#product1804 <div id="rfc.figure.u.51"></div><pre class="inline"><span id="rfc.iref.g.85"></span> Upgrade = "Upgrade" ":" 1#product 1798 1805 </pre><p id="rfc.section.8.8.p.3">For example,</p> 1799 1806 <div id="rfc.figure.u.52"></div><pre class="text"> Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11 … … 1826 1833 of all senders along the request/response chain. 1827 1834 </p> 1828 <div id="rfc.figure.u.53"></div><pre class="inline"><span id="rfc.iref.g.8 8"></span><span id="rfc.iref.g.89"></span><span id="rfc.iref.g.90"></span><span id="rfc.iref.g.91"></span><span id="rfc.iref.g.92"></span><span id="rfc.iref.g.93"></span> Via = "Via" ":" 1#( received-protocol received-by [ comment ] )1835 <div id="rfc.figure.u.53"></div><pre class="inline"><span id="rfc.iref.g.86"></span><span id="rfc.iref.g.87"></span><span id="rfc.iref.g.88"></span><span id="rfc.iref.g.89"></span><span id="rfc.iref.g.90"></span><span id="rfc.iref.g.91"></span> Via = "Via" ":" 1#( received-protocol received-by [ comment ] ) 1829 1836 received-protocol = [ protocol-name "/" ] protocol-version 1830 1837 protocol-name = token … … 2457 2464 </li> 2458 2465 </ul> 2459 <p id="rfc.section.E.3.p.2">Other changes: </p> 2466 <p id="rfc.section.E.3.p.2">Ongoing work on ABNF conversion (<<a href="http://www3.tools.ietf.org/wg/httpbis/trac/ticket/36">http://www3.tools.ietf.org/wg/httpbis/trac/ticket/36</a>>): 2467 </p> 2460 2468 <ul> 2461 <li>Get rid of duplicate BNF rule names ("host" -> "uri-host", "trailer" -> "trailer-part"), avoid underscore character in rule 2462 names ("http_URL" -> "http-URL", "abs_path" -> "path-absolute"), add rules for terms imported from URI spec ("absoluteURI", 2463 "authority", "path-absolute", "port", "query", "relativeURI", "host) -- these will have to be updated when switching over 2464 to RFC3986 (work in progress on <<a href="http://www3.tools.ietf.org/wg/httpbis/trac/ticket/36">http://www3.tools.ietf.org/wg/httpbis/trac/ticket/36</a>>) 2465 </li> 2469 <li>Get rid of duplicate BNF rule names ("host" -> "uri-host", "trailer" -> "trailer-part").</li> 2470 <li>Avoid underscore character in rule names ("http_URL" -> "http-URL", "abs_path" -> "path-absolute").</li> 2471 <li>Add rules for terms imported from URI spec ("absoluteURI", "authority", "path-absolute", "port", "query", "relativeURI", "host) 2472 -- these will have to be updated when switching over to RFC3986. 2473 </li> 2474 <li>Synchronize core rules with RFC5234.</li> 2475 <li>Get rid of prose rules that span multiple lines.</li> 2476 <li>Get rid of unused rules LOALPHA and UPALPHA.</li> 2466 2477 </ul> 2467 2478 <h1><a id="rfc.copyright" href="#rfc.copyright">Full Copyright Statement</a></h1> … … 2524 2535 <li class="indline1"><tt>Grammar</tt> 2525 2536 <ul class="ind"> 2526 <li class="indline1"><tt>absoluteURI</tt> <a class="iref" href="#rfc.iref.g.2 6"><b>3.2.1</b></a></li>2527 <li class="indline1"><tt>ALPHA</tt> <a class="iref" href="#rfc.iref.g. 6"><b>2.2</b></a></li>2528 <li class="indline1"><tt>asctime-date</tt> <a class="iref" href="#rfc.iref.g.3 7"><b>3.3.1</b></a></li>2529 <li class="indline1"><tt>attribute</tt> <a class="iref" href="#rfc.iref.g.4 8"><b>3.4</b></a></li>2530 <li class="indline1"><tt>authority</tt> <a class="iref" href="#rfc.iref.g.2 7"><b>3.2.1</b></a></li>2537 <li class="indline1"><tt>absoluteURI</tt> <a class="iref" href="#rfc.iref.g.24"><b>3.2.1</b></a></li> 2538 <li class="indline1"><tt>ALPHA</tt> <a class="iref" href="#rfc.iref.g.4"><b>2.2</b></a></li> 2539 <li class="indline1"><tt>asctime-date</tt> <a class="iref" href="#rfc.iref.g.35"><b>3.3.1</b></a></li> 2540 <li class="indline1"><tt>attribute</tt> <a class="iref" href="#rfc.iref.g.46"><b>3.4</b></a></li> 2541 <li class="indline1"><tt>authority</tt> <a class="iref" href="#rfc.iref.g.25"><b>3.2.1</b></a></li> 2531 2542 <li class="indline1"><tt>CHAR</tt> <a class="iref" href="#rfc.iref.g.3"><b>2.2</b></a></li> 2532 <li class="indline1"><tt>chunk</tt> <a class="iref" href="#rfc.iref.g.51"><b>3.4.1</b></a></li> 2533 <li class="indline1"><tt>chunk-data</tt> <a class="iref" href="#rfc.iref.g.57"><b>3.4.1</b></a></li> 2534 <li class="indline1"><tt>chunk-ext-name</tt> <a class="iref" href="#rfc.iref.g.55"><b>3.4.1</b></a></li> 2535 <li class="indline1"><tt>chunk-ext-val</tt> <a class="iref" href="#rfc.iref.g.56"><b>3.4.1</b></a></li> 2536 <li class="indline1"><tt>chunk-extension</tt> <a class="iref" href="#rfc.iref.g.54"><b>3.4.1</b></a></li> 2537 <li class="indline1"><tt>chunk-size</tt> <a class="iref" href="#rfc.iref.g.52"><b>3.4.1</b></a></li> 2538 <li class="indline1"><tt>Chunked-Body</tt> <a class="iref" href="#rfc.iref.g.50"><b>3.4.1</b></a></li> 2539 <li class="indline1"><tt>comment</tt> <a class="iref" href="#rfc.iref.g.20"><b>2.2</b></a></li> 2540 <li class="indline1"><tt>Connection</tt> <a class="iref" href="#rfc.iref.g.78"><b>8.1</b></a></li> 2541 <li class="indline1"><tt>connection-token</tt> <a class="iref" href="#rfc.iref.g.79"><b>8.1</b></a></li> 2542 <li class="indline1"><tt>Content-Length</tt> <a class="iref" href="#rfc.iref.g.80"><b>8.2</b></a></li> 2543 <li class="indline1"><tt>CR</tt> <a class="iref" href="#rfc.iref.g.9"><b>2.2</b></a></li> 2544 <li class="indline1"><tt>CRLF</tt> <a class="iref" href="#rfc.iref.g.14"><b>2.2</b></a></li> 2545 <li class="indline1"><tt>ctext</tt> <a class="iref" href="#rfc.iref.g.21"><b>2.2</b></a></li> 2546 <li class="indline1"><tt>CTL</tt> <a class="iref" href="#rfc.iref.g.8"><b>2.2</b></a></li> 2547 <li class="indline1"><tt>Date</tt> <a class="iref" href="#rfc.iref.g.81"><b>8.3</b></a></li> 2548 <li class="indline1"><tt>date1</tt> <a class="iref" href="#rfc.iref.g.38"><b>3.3.1</b></a></li> 2549 <li class="indline1"><tt>date2</tt> <a class="iref" href="#rfc.iref.g.39"><b>3.3.1</b></a></li> 2550 <li class="indline1"><tt>date3</tt> <a class="iref" href="#rfc.iref.g.40"><b>3.3.1</b></a></li> 2551 <li class="indline1"><tt>DIGIT</tt> <a class="iref" href="#rfc.iref.g.7"><b>2.2</b></a></li> 2552 <li class="indline1"><tt>DQUOTE</tt> <a class="iref" href="#rfc.iref.g.13"><b>2.2</b></a></li> 2553 <li class="indline1"><tt>extension-code</tt> <a class="iref" href="#rfc.iref.g.76"><b>6.1.1</b></a></li> 2554 <li class="indline1"><tt>extension-method</tt> <a class="iref" href="#rfc.iref.g.71"><b>5.1.1</b></a></li> 2555 <li class="indline1"><tt>field-content</tt> <a class="iref" href="#rfc.iref.g.65"><b>4.2</b></a></li> 2556 <li class="indline1"><tt>field-name</tt> <a class="iref" href="#rfc.iref.g.63"><b>4.2</b></a></li> 2557 <li class="indline1"><tt>field-value</tt> <a class="iref" href="#rfc.iref.g.64"><b>4.2</b></a></li> 2558 <li class="indline1"><tt>general-header</tt> <a class="iref" href="#rfc.iref.g.67"><b>4.5</b></a></li> 2559 <li class="indline1"><tt>generic-message</tt> <a class="iref" href="#rfc.iref.g.60"><b>4.1</b></a></li> 2560 <li class="indline1"><tt>HEX</tt> <a class="iref" href="#rfc.iref.g.17"><b>2.2</b></a></li> 2561 <li class="indline1"><tt>Host</tt> <a class="iref" href="#rfc.iref.g.82"><b>8.4</b></a></li> 2562 <li class="indline1"><tt>HTAB</tt> <a class="iref" href="#rfc.iref.g.12"><b>2.2</b></a></li> 2563 <li class="indline1"><tt>HTTP-date</tt> <a class="iref" href="#rfc.iref.g.34"><b>3.3.1</b></a></li> 2564 <li class="indline1"><tt>HTTP-message</tt> <a class="iref" href="#rfc.iref.g.59"><b>4.1</b></a></li> 2565 <li class="indline1"><tt>http-URL</tt> <a class="iref" href="#rfc.iref.g.33"><b>3.2.2</b></a></li> 2566 <li class="indline1"><tt>HTTP-Version</tt> <a class="iref" href="#rfc.iref.g.25"><b>3.1</b></a></li> 2567 <li class="indline1"><tt>last-chunk</tt> <a class="iref" href="#rfc.iref.g.53"><b>3.4.1</b></a></li> 2568 <li class="indline1"><tt>LF</tt> <a class="iref" href="#rfc.iref.g.10"><b>2.2</b></a></li> 2569 <li class="indline1"><tt>LOALPHA</tt> <a class="iref" href="#rfc.iref.g.5"><b>2.2</b></a></li> 2570 <li class="indline1"><tt>LWS</tt> <a class="iref" href="#rfc.iref.g.15"><b>2.2</b></a></li> 2571 <li class="indline1"><tt>message-body</tt> <a class="iref" href="#rfc.iref.g.66"><b>4.3</b></a></li> 2572 <li class="indline1"><tt>message-header</tt> <a class="iref" href="#rfc.iref.g.62"><b>4.2</b></a></li> 2573 <li class="indline1"><tt>Method</tt> <a class="iref" href="#rfc.iref.g.70"><b>5.1.1</b></a></li> 2574 <li class="indline1"><tt>month</tt> <a class="iref" href="#rfc.iref.g.44"><b>3.3.1</b></a></li> 2543 <li class="indline1"><tt>chunk</tt> <a class="iref" href="#rfc.iref.g.49"><b>3.4.1</b></a></li> 2544 <li class="indline1"><tt>chunk-data</tt> <a class="iref" href="#rfc.iref.g.55"><b>3.4.1</b></a></li> 2545 <li class="indline1"><tt>chunk-ext-name</tt> <a class="iref" href="#rfc.iref.g.53"><b>3.4.1</b></a></li> 2546 <li class="indline1"><tt>chunk-ext-val</tt> <a class="iref" href="#rfc.iref.g.54"><b>3.4.1</b></a></li> 2547 <li class="indline1"><tt>chunk-extension</tt> <a class="iref" href="#rfc.iref.g.52"><b>3.4.1</b></a></li> 2548 <li class="indline1"><tt>chunk-size</tt> <a class="iref" href="#rfc.iref.g.50"><b>3.4.1</b></a></li> 2549 <li class="indline1"><tt>Chunked-Body</tt> <a class="iref" href="#rfc.iref.g.48"><b>3.4.1</b></a></li> 2550 <li class="indline1"><tt>comment</tt> <a class="iref" href="#rfc.iref.g.18"><b>2.2</b></a></li> 2551 <li class="indline1"><tt>Connection</tt> <a class="iref" href="#rfc.iref.g.76"><b>8.1</b></a></li> 2552 <li class="indline1"><tt>connection-token</tt> <a class="iref" href="#rfc.iref.g.77"><b>8.1</b></a></li> 2553 <li class="indline1"><tt>Content-Length</tt> <a class="iref" href="#rfc.iref.g.78"><b>8.2</b></a></li> 2554 <li class="indline1"><tt>CR</tt> <a class="iref" href="#rfc.iref.g.7"><b>2.2</b></a></li> 2555 <li class="indline1"><tt>CRLF</tt> <a class="iref" href="#rfc.iref.g.12"><b>2.2</b></a></li> 2556 <li class="indline1"><tt>ctext</tt> <a class="iref" href="#rfc.iref.g.19"><b>2.2</b></a></li> 2557 <li class="indline1"><tt>CTL</tt> <a class="iref" href="#rfc.iref.g.6"><b>2.2</b></a></li> 2558 <li class="indline1"><tt>Date</tt> <a class="iref" href="#rfc.iref.g.79"><b>8.3</b></a></li> 2559 <li class="indline1"><tt>date1</tt> <a class="iref" href="#rfc.iref.g.36"><b>3.3.1</b></a></li> 2560 <li class="indline1"><tt>date2</tt> <a class="iref" href="#rfc.iref.g.37"><b>3.3.1</b></a></li> 2561 <li class="indline1"><tt>date3</tt> <a class="iref" href="#rfc.iref.g.38"><b>3.3.1</b></a></li> 2562 <li class="indline1"><tt>DIGIT</tt> <a class="iref" href="#rfc.iref.g.5"><b>2.2</b></a></li> 2563 <li class="indline1"><tt>DQUOTE</tt> <a class="iref" href="#rfc.iref.g.11"><b>2.2</b></a></li> 2564 <li class="indline1"><tt>extension-code</tt> <a class="iref" href="#rfc.iref.g.74"><b>6.1.1</b></a></li> 2565 <li class="indline1"><tt>extension-method</tt> <a class="iref" href="#rfc.iref.g.69"><b>5.1.1</b></a></li> 2566 <li class="indline1"><tt>field-content</tt> <a class="iref" href="#rfc.iref.g.63"><b>4.2</b></a></li> 2567 <li class="indline1"><tt>field-name</tt> <a class="iref" href="#rfc.iref.g.61"><b>4.2</b></a></li> 2568 <li class="indline1"><tt>field-value</tt> <a class="iref" href="#rfc.iref.g.62"><b>4.2</b></a></li> 2569 <li class="indline1"><tt>general-header</tt> <a class="iref" href="#rfc.iref.g.65"><b>4.5</b></a></li> 2570 <li class="indline1"><tt>generic-message</tt> <a class="iref" href="#rfc.iref.g.58"><b>4.1</b></a></li> 2571 <li class="indline1"><tt>HEX</tt> <a class="iref" href="#rfc.iref.g.15"><b>2.2</b></a></li> 2572 <li class="indline1"><tt>Host</tt> <a class="iref" href="#rfc.iref.g.80"><b>8.4</b></a></li> 2573 <li class="indline1"><tt>HTAB</tt> <a class="iref" href="#rfc.iref.g.10"><b>2.2</b></a></li> 2574 <li class="indline1"><tt>HTTP-date</tt> <a class="iref" href="#rfc.iref.g.32"><b>3.3.1</b></a></li> 2575 <li class="indline1"><tt>HTTP-message</tt> <a class="iref" href="#rfc.iref.g.57"><b>4.1</b></a></li> 2576 <li class="indline1"><tt>http-URL</tt> <a class="iref" href="#rfc.iref.g.31"><b>3.2.2</b></a></li> 2577 <li class="indline1"><tt>HTTP-Version</tt> <a class="iref" href="#rfc.iref.g.23"><b>3.1</b></a></li> 2578 <li class="indline1"><tt>last-chunk</tt> <a class="iref" href="#rfc.iref.g.51"><b>3.4.1</b></a></li> 2579 <li class="indline1"><tt>LF</tt> <a class="iref" href="#rfc.iref.g.8"><b>2.2</b></a></li> 2580 <li class="indline1"><tt>LWS</tt> <a class="iref" href="#rfc.iref.g.13"><b>2.2</b></a></li> 2581 <li class="indline1"><tt>message-body</tt> <a class="iref" href="#rfc.iref.g.64"><b>4.3</b></a></li> 2582 <li class="indline1"><tt>message-header</tt> <a class="iref" href="#rfc.iref.g.60"><b>4.2</b></a></li> 2583 <li class="indline1"><tt>Method</tt> <a class="iref" href="#rfc.iref.g.68"><b>5.1.1</b></a></li> 2584 <li class="indline1"><tt>month</tt> <a class="iref" href="#rfc.iref.g.42"><b>3.3.1</b></a></li> 2575 2585 <li class="indline1"><tt>OCTET</tt> <a class="iref" href="#rfc.iref.g.2"><b>2.2</b></a></li> 2576 <li class="indline1"><tt>parameter</tt> <a class="iref" href="#rfc.iref.g.47"><b>3.4</b></a></li> 2577 <li class="indline1"><tt>path-absolute</tt> <a class="iref" href="#rfc.iref.g.28"><b>3.2.1</b></a></li> 2578 <li class="indline1"><tt>port</tt> <a class="iref" href="#rfc.iref.g.29"><b>3.2.1</b></a></li> 2579 <li class="indline1"><tt>protocol-name</tt> <a class="iref" href="#rfc.iref.g.90"><b>8.9</b></a></li> 2580 <li class="indline1"><tt>protocol-version</tt> <a class="iref" href="#rfc.iref.g.91"><b>8.9</b></a></li> 2581 <li class="indline1"><tt>pseudonym</tt> <a class="iref" href="#rfc.iref.g.93"><b>8.9</b></a></li> 2582 <li class="indline1"><tt>qdtext</tt> <a class="iref" href="#rfc.iref.g.23"><b>2.2</b></a></li> 2583 <li class="indline1"><tt>query</tt> <a class="iref" href="#rfc.iref.g.30"><b>3.2.1</b></a></li> 2584 <li class="indline1"><tt>quoted-pair</tt> <a class="iref" href="#rfc.iref.g.24"><b>2.2</b></a></li> 2585 <li class="indline1"><tt>quoted-string</tt> <a class="iref" href="#rfc.iref.g.22"><b>2.2</b></a></li> 2586 <li class="indline1"><tt>Reason-Phrase</tt> <a class="iref" href="#rfc.iref.g.77"><b>6.1.1</b></a></li> 2587 <li class="indline1"><tt>received-by</tt> <a class="iref" href="#rfc.iref.g.92"><b>8.9</b></a></li> 2588 <li class="indline1"><tt>received-protocol</tt> <a class="iref" href="#rfc.iref.g.89"><b>8.9</b></a></li> 2589 <li class="indline1"><tt>relativeURI</tt> <a class="iref" href="#rfc.iref.g.31"><b>3.2.1</b></a></li> 2590 <li class="indline1"><tt>Request</tt> <a class="iref" href="#rfc.iref.g.68"><b>5</b></a></li> 2591 <li class="indline1"><tt>Request-Line</tt> <a class="iref" href="#rfc.iref.g.69"><b>5.1</b></a></li> 2592 <li class="indline1"><tt>Request-URI</tt> <a class="iref" href="#rfc.iref.g.72"><b>5.1.2</b></a></li> 2593 <li class="indline1"><tt>Response</tt> <a class="iref" href="#rfc.iref.g.73"><b>6</b></a></li> 2594 <li class="indline1"><tt>rfc1123-date</tt> <a class="iref" href="#rfc.iref.g.35"><b>3.3.1</b></a></li> 2595 <li class="indline1"><tt>rfc850-date</tt> <a class="iref" href="#rfc.iref.g.36"><b>3.3.1</b></a></li> 2596 <li class="indline1"><tt>separators</tt> <a class="iref" href="#rfc.iref.g.19"><b>2.2</b></a></li> 2597 <li class="indline1"><tt>SP</tt> <a class="iref" href="#rfc.iref.g.11"><b>2.2</b></a></li> 2598 <li class="indline1"><tt>start-line</tt> <a class="iref" href="#rfc.iref.g.61"><b>4.1</b></a></li> 2599 <li class="indline1"><tt>Status-Code</tt> <a class="iref" href="#rfc.iref.g.75"><b>6.1.1</b></a></li> 2600 <li class="indline1"><tt>Status-Line</tt> <a class="iref" href="#rfc.iref.g.74"><b>6.1</b></a></li> 2601 <li class="indline1"><tt>t-codings</tt> <a class="iref" href="#rfc.iref.g.84"><b>8.5</b></a></li> 2602 <li class="indline1"><tt>TE</tt> <a class="iref" href="#rfc.iref.g.83"><b>8.5</b></a></li> 2603 <li class="indline1"><tt>TEXT</tt> <a class="iref" href="#rfc.iref.g.16"><b>2.2</b></a></li> 2604 <li class="indline1"><tt>time</tt> <a class="iref" href="#rfc.iref.g.41"><b>3.3.1</b></a></li> 2605 <li class="indline1"><tt>token</tt> <a class="iref" href="#rfc.iref.g.18"><b>2.2</b></a></li> 2606 <li class="indline1"><tt>Trailer</tt> <a class="iref" href="#rfc.iref.g.85"><b>8.6</b></a></li> 2607 <li class="indline1"><tt>trailer-part</tt> <a class="iref" href="#rfc.iref.g.58"><b>3.4.1</b></a></li> 2608 <li class="indline1"><tt>transfer-coding</tt> <a class="iref" href="#rfc.iref.g.45"><b>3.4</b></a></li> 2609 <li class="indline1"><tt>Transfer-Encoding</tt> <a class="iref" href="#rfc.iref.g.86"><b>8.7</b></a></li> 2610 <li class="indline1"><tt>transfer-extension</tt> <a class="iref" href="#rfc.iref.g.46"><b>3.4</b></a></li> 2611 <li class="indline1"><tt>UPALPHA</tt> <a class="iref" href="#rfc.iref.g.4"><b>2.2</b></a></li> 2612 <li class="indline1"><tt>Upgrade</tt> <a class="iref" href="#rfc.iref.g.87"><b>8.8</b></a></li> 2613 <li class="indline1"><tt>uri-host</tt> <a class="iref" href="#rfc.iref.g.32"><b>3.2.1</b></a></li> 2614 <li class="indline1"><tt>value</tt> <a class="iref" href="#rfc.iref.g.49"><b>3.4</b></a></li> 2615 <li class="indline1"><tt>Via</tt> <a class="iref" href="#rfc.iref.g.88"><b>8.9</b></a></li> 2616 <li class="indline1"><tt>weekday</tt> <a class="iref" href="#rfc.iref.g.43"><b>3.3.1</b></a></li> 2617 <li class="indline1"><tt>wkday</tt> <a class="iref" href="#rfc.iref.g.42"><b>3.3.1</b></a></li> 2586 <li class="indline1"><tt>parameter</tt> <a class="iref" href="#rfc.iref.g.45"><b>3.4</b></a></li> 2587 <li class="indline1"><tt>path-absolute</tt> <a class="iref" href="#rfc.iref.g.26"><b>3.2.1</b></a></li> 2588 <li class="indline1"><tt>port</tt> <a class="iref" href="#rfc.iref.g.27"><b>3.2.1</b></a></li> 2589 <li class="indline1"><tt>protocol-name</tt> <a class="iref" href="#rfc.iref.g.88"><b>8.9</b></a></li> 2590 <li class="indline1"><tt>protocol-version</tt> <a class="iref" href="#rfc.iref.g.89"><b>8.9</b></a></li> 2591 <li class="indline1"><tt>pseudonym</tt> <a class="iref" href="#rfc.iref.g.91"><b>8.9</b></a></li> 2592 <li class="indline1"><tt>qdtext</tt> <a class="iref" href="#rfc.iref.g.21"><b>2.2</b></a></li> 2593 <li class="indline1"><tt>query</tt> <a class="iref" href="#rfc.iref.g.28"><b>3.2.1</b></a></li> 2594 <li class="indline1"><tt>quoted-pair</tt> <a class="iref" href="#rfc.iref.g.22"><b>2.2</b></a></li> 2595 <li class="indline1"><tt>quoted-string</tt> <a class="iref" href="#rfc.iref.g.20"><b>2.2</b></a></li> 2596 <li class="indline1"><tt>Reason-Phrase</tt> <a class="iref" href="#rfc.iref.g.75"><b>6.1.1</b></a></li> 2597 <li class="indline1"><tt>received-by</tt> <a class="iref" href="#rfc.iref.g.90"><b>8.9</b></a></li> 2598 <li class="indline1"><tt>received-protocol</tt> <a class="iref" href="#rfc.iref.g.87"><b>8.9</b></a></li> 2599 <li class="indline1"><tt>relativeURI</tt> <a class="iref" href="#rfc.iref.g.29"><b>3.2.1</b></a></li> 2600 <li class="indline1"><tt>Request</tt> <a class="iref" href="#rfc.iref.g.66"><b>5</b></a></li> 2601 <li class="indline1"><tt>Request-Line</tt> <a class="iref" href="#rfc.iref.g.67"><b>5.1</b></a></li> 2602 <li class="indline1"><tt>Request-URI</tt> <a class="iref" href="#rfc.iref.g.70"><b>5.1.2</b></a></li> 2603 <li class="indline1"><tt>Response</tt> <a class="iref" href="#rfc.iref.g.71"><b>6</b></a></li> 2604 <li class="indline1"><tt>rfc1123-date</tt> <a class="iref" href="#rfc.iref.g.33"><b>3.3.1</b></a></li> 2605 <li class="indline1"><tt>rfc850-date</tt> <a class="iref" href="#rfc.iref.g.34"><b>3.3.1</b></a></li> 2606 <li class="indline1"><tt>separators</tt> <a class="iref" href="#rfc.iref.g.17"><b>2.2</b></a></li> 2607 <li class="indline1"><tt>SP</tt> <a class="iref" href="#rfc.iref.g.9"><b>2.2</b></a></li> 2608 <li class="indline1"><tt>start-line</tt> <a class="iref" href="#rfc.iref.g.59"><b>4.1</b></a></li> 2609 <li class="indline1"><tt>Status-Code</tt> <a class="iref" href="#rfc.iref.g.73"><b>6.1.1</b></a></li> 2610 <li class="indline1"><tt>Status-Line</tt> <a class="iref" href="#rfc.iref.g.72"><b>6.1</b></a></li> 2611 <li class="indline1"><tt>t-codings</tt> <a class="iref" href="#rfc.iref.g.82"><b>8.5</b></a></li> 2612 <li class="indline1"><tt>TE</tt> <a class="iref" href="#rfc.iref.g.81"><b>8.5</b></a></li> 2613 <li class="indline1"><tt>TEXT</tt> <a class="iref" href="#rfc.iref.g.14"><b>2.2</b></a></li> 2614 <li class="indline1"><tt>time</tt> <a class="iref" href="#rfc.iref.g.39"><b>3.3.1</b></a></li> 2615 <li class="indline1"><tt>token</tt> <a class="iref" href="#rfc.iref.g.16"><b>2.2</b></a></li> 2616 <li class="indline1"><tt>Trailer</tt> <a class="iref" href="#rfc.iref.g.83"><b>8.6</b></a></li> 2617 <li class="indline1"><tt>trailer-part</tt> <a class="iref" href="#rfc.iref.g.56"><b>3.4.1</b></a></li> 2618 <li class="indline1"><tt>transfer-coding</tt> <a class="iref" href="#rfc.iref.g.43"><b>3.4</b></a></li> 2619 <li class="indline1"><tt>Transfer-Encoding</tt> <a class="iref" href="#rfc.iref.g.84"><b>8.7</b></a></li> 2620 <li class="indline1"><tt>transfer-extension</tt> <a class="iref" href="#rfc.iref.g.44"><b>3.4</b></a></li> 2621 <li class="indline1"><tt>Upgrade</tt> <a class="iref" href="#rfc.iref.g.85"><b>8.8</b></a></li> 2622 <li class="indline1"><tt>uri-host</tt> <a class="iref" href="#rfc.iref.g.30"><b>3.2.1</b></a></li> 2623 <li class="indline1"><tt>value</tt> <a class="iref" href="#rfc.iref.g.47"><b>3.4</b></a></li> 2624 <li class="indline1"><tt>Via</tt> <a class="iref" href="#rfc.iref.g.86"><b>8.9</b></a></li> 2625 <li class="indline1"><tt>weekday</tt> <a class="iref" href="#rfc.iref.g.41"><b>3.3.1</b></a></li> 2626 <li class="indline1"><tt>wkday</tt> <a class="iref" href="#rfc.iref.g.40"><b>3.3.1</b></a></li> 2618 2627 </ul> 2619 2628 </li> -
draft-ietf-httpbis/latest/p1-messaging.xml
r185 r186 811 811 <x:anchor-alias value="OCTET"/> 812 812 <x:anchor-alias value="CHAR"/> 813 <x:anchor-alias value="UPALPHA"/>814 <x:anchor-alias value="LOALPHA"/>815 813 <x:anchor-alias value="ALPHA"/> 816 814 <x:anchor-alias value="DIGIT"/> … … 836 834 is defined by ANSI X3.4-1986 <xref target="USASCII"/>. 837 835 </t> 838 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="OCTET"/><iref primary="true" item="Grammar" subitem="CHAR"/><iref primary="true" item="Grammar" subitem="UPALPHA"/><iref primary="true" item="Grammar" subitem="LOALPHA"/><iref primary="true" item="Grammar" subitem="ALPHA"/><iref primary="true" item="Grammar" subitem="DIGIT"/><iref primary="true" item="Grammar" subitem="CTL"/><iref primary="true" item="Grammar" subitem="CR"/><iref primary="true" item="Grammar" subitem="LF"/><iref primary="true" item="Grammar" subitem="SP"/><iref primary="true" item="Grammar" subitem="HTAB"/><iref primary="true" item="Grammar" subitem="DQUOTE"/> 839 OCTET = <any 8-bit sequence of data> 840 CHAR = <any US-ASCII character (octets 0 - 127)> 841 UPALPHA = <any US-ASCII uppercase letter "A".."Z"> 842 LOALPHA = <any US-ASCII lowercase letter "a".."z"> 843 ALPHA = UPALPHA | LOALPHA 844 DIGIT = <any US-ASCII digit "0".."9"> 845 CTL = <any US-ASCII control character 846 (octets 0 - 31) and DEL (127)> 847 CR = <US-ASCII CR, carriage return (13)> 848 LF = <US-ASCII LF, linefeed (10)> 849 SP = <US-ASCII SP, space (32)> 850 HTAB = <US-ASCII HT, horizontal-tab (9)> 851 DQUOTE = <US-ASCII double-quote mark (34)> 836 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="OCTET"/><iref primary="true" item="Grammar" subitem="CHAR"/><iref primary="true" item="Grammar" subitem="ALPHA"/><iref primary="true" item="Grammar" subitem="DIGIT"/><iref primary="true" item="Grammar" subitem="CTL"/><iref primary="true" item="Grammar" subitem="CR"/><iref primary="true" item="Grammar" subitem="LF"/><iref primary="true" item="Grammar" subitem="SP"/><iref primary="true" item="Grammar" subitem="HTAB"/><iref primary="true" item="Grammar" subitem="DQUOTE"/> 837 OCTET = %x00-FF 838 ; any 8-bit sequence of data 839 CHAR = %x00-7F 840 ; any US-ASCII character 841 ALPHA = %x41-5A / %x61-7A 842 ; A-Z / a-z 843 DIGIT = %x30-39 844 ; any US-ASCII digit "0".."9" 845 CTL = %x00-1F | %x7F 846 ; (octets 0 - 31) and DEL (127) 847 CR = %x0D 848 ; US-ASCII CR, carriage return (13) 849 LF = %x0A 850 ; US-ASCII LF, linefeed (10) 851 SP = %x20 852 ; US-ASCII SP, space (32) 853 HTAB = %x09 854 ; US-ASCII HT, horizontal-tab (9) 855 DQUOTE = %x22 856 ; US-ASCII double-quote mark (34) 852 857 </artwork></figure> 853 858 <t> … … 878 883 </t> 879 884 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="TEXT"/> 880 TEXT = <any OCTET except CTLs, 881 but including LWS> 885 TEXT = <any OCTET except CTLs, but including LWS> 882 886 </artwork></figure> 883 887 <t> … … 1387 1391 field-name = token 1388 1392 field-value = *( field-content | LWS ) 1389 field-content = <the OCTETs making up the field-value 1390 and consisting of either *TEXT or combinations 1391 of token, separators, and quoted-string> 1393 field-content = <field content> 1394 ; the OCTETs making up the field-value 1395 ; and consisting of either *TEXT or combinations 1396 ; of token, separators, and quoted-string 1392 1397 </artwork></figure> 1393 1398 <t> … … 4182 4187 </t> 4183 4188 <t> 4184 O ther changes:4189 Ongoing work on ABNF conversion (<eref target="http://www3.tools.ietf.org/wg/httpbis/trac/ticket/36"/>): 4185 4190 <list style="symbols"> 4186 4191 <t> 4187 4192 Get rid of duplicate BNF rule names ("host" -> "uri-host", "trailer" -> 4188 "trailer-part"), avoid underscore character in rule names ("http_URL" -> 4189 "http-URL", "abs_path" -> "path-absolute"), add rules for terms 4190 imported from URI spec ("absoluteURI", "authority", "path-absolute", 4191 "port", "query", "relativeURI", "host) -- these will have to be updated 4192 when switching over to RFC3986 4193 (work in progress on <eref target="http://www3.tools.ietf.org/wg/httpbis/trac/ticket/36"/>) 4193 "trailer-part"). 4194 </t> 4195 <t> 4196 Avoid underscore character in rule names ("http_URL" -> 4197 "http-URL", "abs_path" -> "path-absolute"). 4198 </t> 4199 <t> 4200 Add rules for terms imported from URI spec ("absoluteURI", "authority", 4201 "path-absolute", "port", "query", "relativeURI", "host) -- these will 4202 have to be updated when switching over to RFC3986. 4203 </t> 4204 <t> 4205 Synchronize core rules with RFC5234. 4206 </t> 4207 <t> 4208 Get rid of prose rules that span multiple lines. 4209 </t> 4210 <t> 4211 Get rid of unused rules LOALPHA and UPALPHA. 4194 4212 </t> 4195 4213 </list>
Note: See TracChangeset
for help on using the changeset viewer.