Changeset 185
- Timestamp:
- 02/02/08 13:40:24 (14 years ago)
- Location:
- draft-ietf-httpbis/latest
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p1-messaging.html
r182 r185 1017 1017 a scheme name followed by a colon. For definitive information on URL syntax and semantics, see "Uniform Resource Identifiers 1018 1018 (URI): Generic Syntax and Semantics," <a href="#RFC2396" id="rfc.xref.RFC2396.1"><cite title="Uniform Resource Identifiers (URI): Generic Syntax">[RFC2396]</cite></a> (which replaces <a href="#RFC1738" id="rfc.xref.RFC1738.3"><cite title="Uniform Resource Locators (URL)">[RFC1738]</cite></a> and <a href="#RFC1808" id="rfc.xref.RFC1808.2"><cite title="Relative Uniform Resource Locators">[RFC1808]</cite></a>). This specification adopts the definitions of "URI-reference", "absoluteURI", "relativeURI", "port", "host", "abs_path", 1019 "query", and "authority" from that specification. 1020 </p> 1021 <p id="rfc.section.3.2.1.p.2">HTTP does not place any a priori limit on the length of a URI. Servers <em class="bcp14">MUST</em> be able to handle the URI of any resource they serve, and <em class="bcp14">SHOULD</em> be able to handle URIs of unbounded length if they provide GET-based forms that could generate such URIs. A server <em class="bcp14">SHOULD</em> return 414 (Request-URI Too Long) status if a URI is longer than the server can handle (see <a href="p2-semantics.html#status.414" title="414 Request-URI Too Long">Section 9.4.15</a> of <a href="#Part2" id="rfc.xref.Part2.1"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>). 1022 </p> 1023 <p id="rfc.section.3.2.1.p.3"> </p> 1019 "query", and "authority" from that specification: 1020 </p> 1021 <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.26"></span><span id="rfc.iref.g.27"></span><span id="rfc.iref.g.28"></span><span id="rfc.iref.g.29"></span><span id="rfc.iref.g.30"></span><span id="rfc.iref.g.31"></span><span id="rfc.iref.g.32"></span> 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 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 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>> 1024 port = <port, defined in <a href="#RFC2396" id="rfc.xref.RFC2396.5"><cite title="Uniform Resource Identifiers (URI): Generic Syntax">[RFC2396]</cite></a>, <a href="http://tools.ietf.org/html/rfc2396#section-3.2.2">Section 3.2.2</a>> 1025 query = <query, defined in <a href="#RFC2396" id="rfc.xref.RFC2396.6"><cite title="Uniform Resource Identifiers (URI): Generic Syntax">[RFC2396]</cite></a>, <a href="http://tools.ietf.org/html/rfc2396#section-3.4">Section 3.4</a>> 1026 relativeURI = <relativeURI, defined in <a href="#RFC2396" id="rfc.xref.RFC2396.7"><cite title="Uniform Resource Identifiers (URI): Generic Syntax">[RFC2396]</cite></a>, <a href="http://tools.ietf.org/html/rfc2396#section-5">Section 5</a>> 1027 uri-host = <host, defined in <a href="#RFC2396" id="rfc.xref.RFC2396.8"><cite title="Uniform Resource Identifiers (URI): Generic Syntax">[RFC2396]</cite></a>, <a href="http://tools.ietf.org/html/rfc2396#section-3.2.2">Section 3.2.2</a>> 1028 </pre><p id="rfc.section.3.2.1.p.3">HTTP does not place any a priori limit on the length of a URI. Servers <em class="bcp14">MUST</em> be able to handle the URI of any resource they serve, and <em class="bcp14">SHOULD</em> be able to handle URIs of unbounded length if they provide GET-based forms that could generate such URIs. A server <em class="bcp14">SHOULD</em> return 414 (Request-URI Too Long) status if a URI is longer than the server can handle (see <a href="p2-semantics.html#status.414" title="414 Request-URI Too Long">Section 9.4.15</a> of <a href="#Part2" id="rfc.xref.Part2.1"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>). 1029 </p> 1030 <p id="rfc.section.3.2.1.p.4"> </p> 1024 1031 <dl class="empty"> 1025 1032 <dd> <b>Note:</b> Servers ought to be cautious about depending on URI lengths above 255 bytes, because some older client or proxy implementations … … 1031 1038 and semantics for http URLs. 1032 1039 </p> 1033 <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.26"></span> http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]] 1040 <div id="rfc.figure.u.15"></div><pre class="inline"><span id="rfc.iref.g.33"></span> http-URL = "http:" "//" uri-host [ ":" port ] 1041 [ path-absolute [ "?" query ]] 1034 1042 </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 1035 listening for TCP connections on that port of that host, and the Request-URI for the resource is abs_path (<a href="#request-uri" title="Request-URI">Section 5.1.2</a>). The use of IP addresses in URLs <em class="bcp14">SHOULD</em> be avoided whenever possible (see <a href="#RFC1900" id="rfc.xref.RFC1900.1"><cite title="Renumbering Needs Work">[RFC1900]</cite></a>). If the abs_pathis not present in the URL, it <em class="bcp14">MUST</em> be given as "/" when used as a Request-URI for a resource (<a href="#request-uri" title="Request-URI">Section 5.1.2</a>). If a proxy receives a host name which is not a fully qualified domain name, it <em class="bcp14">MAY</em> add its domain to the host name it received. If a proxy receives a fully qualified domain name, the proxy <em class="bcp14">MUST NOT</em> change the host name.1043 listening for TCP connections on that port of that host, and the Request-URI for the resource is path-absolute (<a href="#request-uri" title="Request-URI">Section 5.1.2</a>). The use of IP addresses in URLs <em class="bcp14">SHOULD</em> be avoided whenever possible (see <a href="#RFC1900" id="rfc.xref.RFC1900.1"><cite title="Renumbering Needs Work">[RFC1900]</cite></a>). If the path-absolute is not present in the URL, it <em class="bcp14">MUST</em> be given as "/" when used as a Request-URI for a resource (<a href="#request-uri" title="Request-URI">Section 5.1.2</a>). If a proxy receives a host name which is not a fully qualified domain name, it <em class="bcp14">MAY</em> add its domain to the host name it received. If a proxy receives a fully qualified domain name, the proxy <em class="bcp14">MUST NOT</em> change the host name. 1036 1044 </p> 1037 1045 <h3 id="rfc.section.3.2.3"><a href="#rfc.section.3.2.3">3.2.3</a> <a id="uri.comparison" href="#uri.comparison">URI Comparison</a></h3> … … 1044 1052 <li>Comparisons of scheme names <em class="bcp14">MUST</em> be case-insensitive; 1045 1053 </li> 1046 <li>An empty abs_path is equivalent to an abs_pathof "/".</li>1054 <li>An empty path-absolute is equivalent to an path-absolute of "/".</li> 1047 1055 </ul> 1048 <p id="rfc.section.3.2.3.p.2">Characters other than those in the "reserved" set (see <a href="#RFC2396" id="rfc.xref.RFC2396. 2"><cite title="Uniform Resource Identifiers (URI): Generic Syntax">[RFC2396]</cite></a>) are equivalent to their ""%" HEX HEX" encoding.1056 <p id="rfc.section.3.2.3.p.2">Characters other than those in the "reserved" set (see <a href="#RFC2396" id="rfc.xref.RFC2396.9"><cite title="Uniform Resource Identifiers (URI): Generic Syntax">[RFC2396]</cite></a>) are equivalent to their ""%" HEX HEX" encoding. 1049 1057 </p> 1050 1058 <p id="rfc.section.3.2.3.p.3">For example, the following three URIs are equivalent:</p> 1051 <div id="rfc.figure.u.1 5"></div><pre class="text"> http://example.com:80/~smith/home.html1059 <div id="rfc.figure.u.16"></div><pre class="text"> http://example.com:80/~smith/home.html 1052 1060 http://EXAMPLE.com/%7Esmith/home.html 1053 1061 http://EXAMPLE.com:/%7esmith/home.html … … 1055 1063 <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> 1056 1064 <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> 1057 <div id="rfc.figure.u.1 6"></div><pre class="text"> Sun, 06 Nov 1994 08:49:37 GMT ; RFC 822, updated by RFC 11231065 <div id="rfc.figure.u.17"></div><pre class="text"> Sun, 06 Nov 1994 08:49:37 GMT ; RFC 822, updated by RFC 1123 1058 1066 Sunday, 06-Nov-94 08:49:37 GMT ; obsolete RFC 850 format 1059 1067 Sun Nov 6 08:49:37 1994 ; ANSI C's asctime() format … … 1070 1078 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. 1071 1079 </p> 1072 <div id="rfc.figure.u.1 7"></div><pre class="inline"><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><span id="rfc.iref.g.37"></span> HTTP-date = rfc1123-date | rfc850-date | asctime-date1080 <div id="rfc.figure.u.18"></div><pre class="inline"><span id="rfc.iref.g.34"></span><span id="rfc.iref.g.35"></span><span id="rfc.iref.g.36"></span><span id="rfc.iref.g.37"></span><span id="rfc.iref.g.38"></span><span id="rfc.iref.g.39"></span><span id="rfc.iref.g.40"></span><span id="rfc.iref.g.41"></span><span id="rfc.iref.g.42"></span><span id="rfc.iref.g.43"></span><span id="rfc.iref.g.44"></span> HTTP-date = rfc1123-date | rfc850-date | asctime-date 1073 1081 rfc1123-date = wkday "," SP date1 SP time SP "GMT" 1074 1082 rfc850-date = weekday "," SP date2 SP time SP "GMT" … … 1097 1105 is a property of the message, not of the original entity. 1098 1106 </p> 1099 <div id="rfc.figure.u.1 8"></div><pre class="inline"><span id="rfc.iref.g.38"></span><span id="rfc.iref.g.39"></span> transfer-coding = "chunked" | transfer-extension1107 <div id="rfc.figure.u.19"></div><pre class="inline"><span id="rfc.iref.g.45"></span><span id="rfc.iref.g.46"></span> transfer-coding = "chunked" | transfer-extension 1100 1108 transfer-extension = token *( ";" parameter ) 1101 1109 </pre><p id="rfc.section.3.4.p.3">Parameters are in the form of attribute/value pairs.</p> 1102 <div id="rfc.figure.u. 19"></div><pre class="inline"><span id="rfc.iref.g.40"></span><span id="rfc.iref.g.41"></span><span id="rfc.iref.g.42"></span> parameter = attribute "=" value1110 <div id="rfc.figure.u.20"></div><pre class="inline"><span id="rfc.iref.g.47"></span><span id="rfc.iref.g.48"></span><span id="rfc.iref.g.49"></span> parameter = attribute "=" value 1103 1111 attribute = token 1104 1112 value = token | quoted-string … … 1125 1133 necessary for the recipient to verify that it has received the full message. 1126 1134 </p> 1127 <div id="rfc.figure.u.2 0"></div><pre class="inline"><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><span id="rfc.iref.g.51"></span> Chunked-Body = *chunk1135 <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 = *chunk 1128 1136 last-chunk 1129 trailer 1137 trailer-part 1130 1138 CRLF 1131 1139 … … 1139 1147 chunk-ext-val = token | quoted-string 1140 1148 chunk-data = 1*OCTET ; a sequence of chunk-size octets 1141 trailer 1149 trailer-part = *(entity-header CRLF) 1142 1150 </pre><p id="rfc.section.3.4.1.p.3">The chunk-size field is a string of hex digits indicating the size of the chunk-data in octets. The chunked encoding is ended 1143 1151 by any chunk whose size is zero, followed by the trailer, which is terminated by an empty line. … … 1162 1170 </p> 1163 1171 <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> 1164 <div id="rfc.figure.u.2 1"></div><pre class="text"> length := 01172 <div id="rfc.figure.u.22"></div><pre class="text"> length := 0 1165 1173 read chunk-size, chunk-extension (if any) and CRLF 1166 1174 while (chunk-size > 0) { … … 1182 1190 <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> 1183 1191 <p id="rfc.section.4.1.p.1">HTTP messages consist of requests from client to server and responses from server to client.</p> 1184 <div id="rfc.figure.u.2 2"></div><pre class="inline"><span id="rfc.iref.g.52"></span> HTTP-message = Request | Response ; HTTP/1.1 messages1192 <div id="rfc.figure.u.23"></div><pre class="inline"><span id="rfc.iref.g.59"></span> HTTP-message = Request | Response ; HTTP/1.1 messages 1185 1193 </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 1186 1194 fields (also known as "headers"), an empty line (i.e., a line with nothing preceding the CRLF) indicating the end of the header 1187 1195 fields, and possibly a message-body. 1188 1196 </p> 1189 <div id="rfc.figure.u.2 3"></div><pre class="inline"><span id="rfc.iref.g.53"></span><span id="rfc.iref.g.54"></span> generic-message = start-line1197 <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-line 1190 1198 *(message-header CRLF) 1191 1199 CRLF … … 1205 1213 forms. 1206 1214 </p> 1207 <div id="rfc.figure.u.2 4"></div><pre class="inline"><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> message-header = field-name ":" [ field-value ]1215 <div id="rfc.figure.u.25"></div><pre class="inline"><span id="rfc.iref.g.62"></span><span id="rfc.iref.g.63"></span><span id="rfc.iref.g.64"></span><span id="rfc.iref.g.65"></span> message-header = field-name ":" [ field-value ] 1208 1216 field-name = token 1209 1217 field-value = *( field-content | LWS ) … … 1229 1237 header field (<a href="#header.transfer-encoding" id="rfc.xref.header.transfer-encoding.2" title="Transfer-Encoding">Section 8.7</a>). 1230 1238 </p> 1231 <div id="rfc.figure.u.2 5"></div><pre class="inline"><span id="rfc.iref.g.59"></span> message-body = entity-body1239 <div id="rfc.figure.u.26"></div><pre class="inline"><span id="rfc.iref.g.66"></span> message-body = entity-body 1232 1240 | <entity-body encoded as per Transfer-Encoding> 1233 1241 </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 … … 1296 1304 to the entity being transferred. These header fields apply only to the message being transmitted. 1297 1305 </p> 1298 <div id="rfc.figure.u.2 6"></div><pre class="inline"><span id="rfc.iref.g.60"></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>1306 <div id="rfc.figure.u.27"></div><pre class="inline"><span id="rfc.iref.g.67"></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> 1299 1307 | Connection ; <a href="#header.connection" id="rfc.xref.header.connection.1" title="Connection">Section 8.1</a> 1300 1308 | Date ; <a href="#header.date" id="rfc.xref.header.date.1" title="Date">Section 8.3</a> … … 1313 1321 resource, the identifier of the resource, and the protocol version in use. 1314 1322 </p> 1315 <div id="rfc.figure.u.2 7"></div><pre class="inline"><span id="rfc.iref.g.61"></span> Request = Request-Line ; <a href="#request-line" title="Request-Line">Section 5.1</a>1323 <div id="rfc.figure.u.28"></div><pre class="inline"><span id="rfc.iref.g.68"></span> Request = Request-Line ; <a href="#request-line" title="Request-Line">Section 5.1</a> 1316 1324 *(( general-header ; <a href="#general.header.fields" title="General Header Fields">Section 4.5</a> 1317 1325 | 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> … … 1323 1331 elements are separated by SP characters. No CR or LF is allowed except in the final CRLF sequence. 1324 1332 </p> 1325 <div id="rfc.figure.u.2 8"></div><pre class="inline"><span id="rfc.iref.g.62"></span> Request-Line = Method SP Request-URI SP HTTP-Version CRLF1333 <div id="rfc.figure.u.29"></div><pre class="inline"><span id="rfc.iref.g.69"></span> Request-Line = Method SP Request-URI SP HTTP-Version CRLF 1326 1334 </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> 1327 1335 <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> 1328 <div id="rfc.figure.u. 29"></div><pre class="inline"><span id="rfc.iref.g.63"></span><span id="rfc.iref.g.64"></span> Method = token1336 <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 = token 1329 1337 </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> 1330 1338 <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. 1331 1339 </p> 1332 <div id="rfc.figure.u.3 0"></div><pre class="inline"><span id="rfc.iref.g.65"></span> Request-URI = "*"1340 <div id="rfc.figure.u.31"></div><pre class="inline"><span id="rfc.iref.g.72"></span> Request-URI = "*" 1333 1341 | absoluteURI 1334 | ( abs_path[ "?" query ] )1342 | ( path-absolute [ "?" query ] ) 1335 1343 | authority 1336 1344 </pre><p id="rfc.section.5.1.2.p.3">The four options for Request-URI are dependent on the nature of the request. The asterisk "*" means that the request does … … 1338 1346 apply to a resource. One example would be 1339 1347 </p> 1340 <div id="rfc.figure.u.3 1"></div><pre class="text"> OPTIONS * HTTP/1.11348 <div id="rfc.figure.u.32"></div><pre class="text"> OPTIONS * HTTP/1.1 1341 1349 </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, 1342 1350 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 … … 1344 1352 Request-Line would be: 1345 1353 </p> 1346 <div id="rfc.figure.u.3 2"></div><pre class="text"> GET http://www.example.org/pub/WWW/TheProject.html HTTP/1.11354 <div id="rfc.figure.u.33"></div><pre class="text"> GET http://www.example.org/pub/WWW/TheProject.html HTTP/1.1 1347 1355 </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. 1348 1356 </p> … … 1350 1358 </p> 1351 1359 <p id="rfc.section.5.1.2.p.9">The most common form of Request-URI is that used to identify a resource on an origin server or gateway. In this case the absolute 1352 path of the URI <em class="bcp14">MUST</em> be transmitted (see <a href="#general.syntax" title="General Syntax">Section 3.2.1</a>, abs_path) as the Request-URI, and the network location of the URI (authority) <em class="bcp14">MUST</em> be transmitted in a Host header field. For example, a client wishing to retrieve the resource above directly from the origin1360 path of the URI <em class="bcp14">MUST</em> be transmitted (see <a href="#general.syntax" title="General Syntax">Section 3.2.1</a>, path-absolute) as the Request-URI, and the network location of the URI (authority) <em class="bcp14">MUST</em> be transmitted in a Host header field. For example, a client wishing to retrieve the resource above directly from the origin 1353 1361 server would create a TCP connection to port 80 of the host "www.example.org" and send the lines: 1354 1362 </p> 1355 <div id="rfc.figure.u.3 3"></div><pre class="text"> GET /pub/WWW/TheProject.html HTTP/1.11363 <div id="rfc.figure.u.34"></div><pre class="text"> GET /pub/WWW/TheProject.html HTTP/1.1 1356 1364 Host: www.example.org 1357 1365 </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 1358 1366 URI, it <em class="bcp14">MUST</em> be given as "/" (the server root). 1359 1367 </p> 1360 <p id="rfc.section.5.1.2.p.12">The Request-URI is transmitted in the format specified in <a href="#general.syntax" title="General Syntax">Section 3.2.1</a>. If the Request-URI is encoded using the "% HEX HEX" encoding <a href="#RFC2396" id="rfc.xref.RFC2396. 3"><cite title="Uniform Resource Identifiers (URI): Generic Syntax">[RFC2396]</cite></a>, the origin server <em class="bcp14">MUST</em> decode the Request-URI in order to properly interpret the request. Servers <em class="bcp14">SHOULD</em> respond to invalid Request-URIs with an appropriate status code.1361 </p> 1362 <p id="rfc.section.5.1.2.p.13">A transparent proxy <em class="bcp14">MUST NOT</em> rewrite the " abs_path" part of the received Request-URI when forwarding it to the next inbound server, except as noted above1363 to replace a null abs_pathwith "/".1368 <p id="rfc.section.5.1.2.p.12">The Request-URI is transmitted in the format specified in <a href="#general.syntax" title="General Syntax">Section 3.2.1</a>. If the Request-URI is encoded using the "% HEX HEX" encoding <a href="#RFC2396" id="rfc.xref.RFC2396.10"><cite title="Uniform Resource Identifiers (URI): Generic Syntax">[RFC2396]</cite></a>, the origin server <em class="bcp14">MUST</em> decode the Request-URI in order to properly interpret the request. Servers <em class="bcp14">SHOULD</em> respond to invalid Request-URIs with an appropriate status code. 1369 </p> 1370 <p id="rfc.section.5.1.2.p.13">A transparent proxy <em class="bcp14">MUST NOT</em> rewrite the "path-absolute" part of the received Request-URI when forwarding it to the next inbound server, except as noted 1371 above to replace a null path-absolute with "/". 1364 1372 </p> 1365 1373 <p id="rfc.section.5.1.2.p.14"> </p> … … 1391 1399 <h1 id="rfc.section.6"><a href="#rfc.section.6">6.</a> <a id="response" href="#response">Response</a></h1> 1392 1400 <p id="rfc.section.6.p.1">After receiving and interpreting a request message, a server responds with an HTTP response message.</p> 1393 <div id="rfc.figure.u.3 4"></div><pre class="inline"><span id="rfc.iref.g.66"></span> Response = Status-Line ; <a href="#status-line" title="Status-Line">Section 6.1</a>1401 <div id="rfc.figure.u.35"></div><pre class="inline"><span id="rfc.iref.g.73"></span> Response = Status-Line ; <a href="#status-line" title="Status-Line">Section 6.1</a> 1394 1402 *(( general-header ; <a href="#general.header.fields" title="General Header Fields">Section 4.5</a> 1395 1403 | 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> … … 1402 1410 CRLF sequence. 1403 1411 </p> 1404 <div id="rfc.figure.u.3 5"></div><pre class="inline"><span id="rfc.iref.g.67"></span> Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF1412 <div id="rfc.figure.u.36"></div><pre class="inline"><span id="rfc.iref.g.74"></span> Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF 1405 1413 </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> 1406 1414 <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 … … 1418 1426 <li>5xx: Server Error - The server failed to fulfill an apparently valid request</li> 1419 1427 </ul> 1420 <div id="rfc.figure.u.3 6"></div><pre class="inline"><span id="rfc.iref.g.68"></span><span id="rfc.iref.g.69"></span><span id="rfc.iref.g.70"></span> Status-Code = 3DIGIT1428 <div id="rfc.figure.u.37"></div><pre class="inline"><span id="rfc.iref.g.75"></span><span id="rfc.iref.g.76"></span><span id="rfc.iref.g.77"></span> Status-Code = 3DIGIT 1421 1429 Reason-Phrase = *<TEXT, excluding CR, LF> 1422 1430 </pre><h1 id="rfc.section.7"><a href="#rfc.section.7">7.</a> <a id="connections" href="#connections">Connections</a></h1> … … 1609 1617 </p> 1610 1618 <p id="rfc.section.8.1.p.2">The Connection header has the following grammar:</p> 1611 <div id="rfc.figure.u.3 7"></div><pre class="inline"><span id="rfc.iref.g.71"></span><span id="rfc.iref.g.72"></span> Connection = "Connection" ":" 1#(connection-token)1619 <div id="rfc.figure.u.38"></div><pre class="inline"><span id="rfc.iref.g.78"></span><span id="rfc.iref.g.79"></span> Connection = "Connection" ":" 1#(connection-token) 1612 1620 connection-token = token 1613 1621 </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 … … 1621 1629 of the response. For example, 1622 1630 </p> 1623 <div id="rfc.figure.u.3 8"></div><pre class="text"> Connection: close1631 <div id="rfc.figure.u.39"></div><pre class="text"> Connection: close 1624 1632 </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. 1625 1633 </p> … … 1637 1645 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. 1638 1646 </p> 1639 <div id="rfc.figure.u. 39"></div><pre class="inline"><span id="rfc.iref.g.73"></span> Content-Length = "Content-Length" ":" 1*DIGIT1647 <div id="rfc.figure.u.40"></div><pre class="inline"><span id="rfc.iref.g.80"></span> Content-Length = "Content-Length" ":" 1*DIGIT 1640 1648 </pre><p id="rfc.section.8.2.p.3">An example is</p> 1641 <div id="rfc.figure.u.4 0"></div><pre class="text"> Content-Length: 34951649 <div id="rfc.figure.u.41"></div><pre class="text"> Content-Length: 3495 1642 1650 </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>. 1643 1651 </p> … … 1654 1662 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. 1655 1663 </p> 1656 <div id="rfc.figure.u.4 1"></div><pre class="inline"><span id="rfc.iref.g.74"></span> Date = "Date" ":" HTTP-date1664 <div id="rfc.figure.u.42"></div><pre class="inline"><span id="rfc.iref.g.81"></span> Date = "Date" ":" HTTP-date 1657 1665 </pre><p id="rfc.section.8.3.p.3">An example is</p> 1658 <div id="rfc.figure.u.4 2"></div><pre class="text"> Date: Tue, 15 Nov 1994 08:12:31 GMT1666 <div id="rfc.figure.u.43"></div><pre class="text"> Date: Tue, 15 Nov 1994 08:12:31 GMT 1659 1667 </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: 1660 1668 </p> … … 1692 1700 a single IP address. 1693 1701 </p> 1694 <div id="rfc.figure.u.4 3"></div><pre class="inline"><span id="rfc.iref.g.75"></span> Host = "Host" ":"host [ ":" port ] ; <a href="#http.url" title="http URL">Section 3.2.2</a>1702 <div id="rfc.figure.u.44"></div><pre class="inline"><span id="rfc.iref.g.82"></span> Host = "Host" ":" uri-host [ ":" port ] ; <a href="#http.url" title="http URL">Section 3.2.2</a> 1695 1703 </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 1696 1704 URL). For example, a request on the origin server for <http://www.example.org/pub/WWW/> would properly include: 1697 1705 </p> 1698 <div id="rfc.figure.u.4 4"></div><pre class="text"> GET /pub/WWW/ HTTP/1.11706 <div id="rfc.figure.u.45"></div><pre class="text"> GET /pub/WWW/ HTTP/1.1 1699 1707 Host: www.example.org 1700 1708 </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 … … 1711 1719 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>). 1712 1720 </p> 1713 <div id="rfc.figure.u.4 5"></div><pre class="inline"><span id="rfc.iref.g.76"></span><span id="rfc.iref.g.77"></span> TE = "TE" ":" #( t-codings )1721 <div id="rfc.figure.u.46"></div><pre class="inline"><span id="rfc.iref.g.83"></span><span id="rfc.iref.g.84"></span> TE = "TE" ":" #( t-codings ) 1714 1722 t-codings = "trailers" | ( transfer-extension [ accept-params ] ) 1715 1723 </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, … … 1717 1725 </p> 1718 1726 <p id="rfc.section.8.5.p.4">Examples of its use are:</p> 1719 <div id="rfc.figure.u.4 6"></div><pre class="text"> TE: deflate1727 <div id="rfc.figure.u.47"></div><pre class="text"> TE: deflate 1720 1728 TE: 1721 1729 TE: trailers, deflate;q=0.5 … … 1754 1762 with chunked transfer-coding. 1755 1763 </p> 1756 <div id="rfc.figure.u.4 7"></div><pre class="inline"><span id="rfc.iref.g.78"></span> Trailer = "Trailer" ":" 1#field-name1764 <div id="rfc.figure.u.48"></div><pre class="inline"><span id="rfc.iref.g.85"></span> Trailer = "Trailer" ":" 1#field-name 1757 1765 </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 1758 1766 to know which header fields to expect in the trailer. … … 1774 1782 transfer-coding is a property of the message, not of the entity. 1775 1783 </p> 1776 <div id="rfc.figure.u.4 8"></div><pre class="inline"><span id="rfc.iref.g.79"></span> Transfer-Encoding = "Transfer-Encoding" ":" 1#transfer-coding1784 <div id="rfc.figure.u.49"></div><pre class="inline"><span id="rfc.iref.g.86"></span> Transfer-Encoding = "Transfer-Encoding" ":" 1#transfer-coding 1777 1785 </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: 1778 1786 </p> 1779 <div id="rfc.figure.u. 49"></div><pre class="text"> Transfer-Encoding: chunked1787 <div id="rfc.figure.u.50"></div><pre class="text"> Transfer-Encoding: chunked 1780 1788 </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. 1781 1789 </p> … … 1787 1795 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. 1788 1796 </p> 1789 <div id="rfc.figure.u.5 0"></div><pre class="inline"><span id="rfc.iref.g.80"></span> Upgrade = "Upgrade" ":" 1#product1797 <div id="rfc.figure.u.51"></div><pre class="inline"><span id="rfc.iref.g.87"></span> Upgrade = "Upgrade" ":" 1#product 1790 1798 </pre><p id="rfc.section.8.8.p.3">For example,</p> 1791 <div id="rfc.figure.u.5 1"></div><pre class="text"> Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x111799 <div id="rfc.figure.u.52"></div><pre class="text"> Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11 1792 1800 </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 1793 1801 protocol. It does so by allowing the client to advertise its desire to use another protocol, such as a later version of HTTP … … 1818 1826 of all senders along the request/response chain. 1819 1827 </p> 1820 <div id="rfc.figure.u.5 2"></div><pre class="inline"><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><span id="rfc.iref.g.85"></span><span id="rfc.iref.g.86"></span> Via = "Via" ":" 1#( received-protocol received-by [ comment ] )1828 <div id="rfc.figure.u.53"></div><pre class="inline"><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><span id="rfc.iref.g.92"></span><span id="rfc.iref.g.93"></span> Via = "Via" ":" 1#( received-protocol received-by [ comment ] ) 1821 1829 received-protocol = [ protocol-name "/" ] protocol-version 1822 1830 protocol-name = token 1823 1831 protocol-version = token 1824 received-by = ( host [ ":" port ] ) | pseudonym1832 received-by = ( uri-host [ ":" port ] ) | pseudonym 1825 1833 pseudonym = token 1826 1834 </pre><p id="rfc.section.8.9.p.3">The received-protocol indicates the protocol version of the message received by the server or client along each segment of … … 1841 1849 server at www.example.com. The request received by www.example.com would then have the following Via header field: 1842 1850 </p> 1843 <div id="rfc.figure.u.5 3"></div><pre class="text"> Via: 1.0 fred, 1.1 p.example.net (Apache/1.1)1851 <div id="rfc.figure.u.54"></div><pre class="text"> Via: 1.0 fred, 1.1 p.example.net (Apache/1.1) 1844 1852 </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. 1845 1853 </p> … … 1847 1855 For example, 1848 1856 </p> 1849 <div id="rfc.figure.u.5 4"></div><pre class="text"> Via: 1.0 ricky, 1.1 ethel, 1.1 fred, 1.0 lucy1857 <div id="rfc.figure.u.55"></div><pre class="text"> Via: 1.0 ricky, 1.1 ethel, 1.1 fred, 1.0 lucy 1850 1858 </pre><p id="rfc.section.8.9.p.12">could be collapsed to</p> 1851 <div id="rfc.figure.u.5 5"></div><pre class="text"> Via: 1.0 ricky, 1.1 mertz, 1.0 lucy1859 <div id="rfc.figure.u.56"></div><pre class="text"> Via: 1.0 ricky, 1.1 mertz, 1.0 lucy 1852 1860 </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 1853 1861 by pseudonyms. Applications <em class="bcp14">MUST NOT</em> combine entries which have different received-protocol values. … … 2381 2389 <p id="rfc.section.D.4.p.3">Clarification that the chunk length does not include the count of the octets in the chunk header and trailer. (<a href="#chunked.transfer.encoding" title="Chunked Transfer Coding">Section 3.4.1</a>) 2382 2390 </p> 2383 <p id="rfc.section.D.4.p.4">Fix BNF to add query, as the abs_path production in <a href="http://tools.ietf.org/html/rfc2396#section-3">Section 3</a> of <a href="#RFC2396" id="rfc.xref.RFC2396. 4"><cite title="Uniform Resource Identifiers (URI): Generic Syntax">[RFC2396]</cite></a> doesn't define it. (<a href="#request-uri" title="Request-URI">Section 5.1.2</a>)2391 <p id="rfc.section.D.4.p.4">Fix BNF to add query, as the abs_path production in <a href="http://tools.ietf.org/html/rfc2396#section-3">Section 3</a> of <a href="#RFC2396" id="rfc.xref.RFC2396.11"><cite title="Uniform Resource Identifiers (URI): Generic Syntax">[RFC2396]</cite></a> doesn't define it. (<a href="#request-uri" title="Request-URI">Section 5.1.2</a>) 2384 2392 </p> 2385 2393 <p id="rfc.section.D.4.p.5">Clarify exactly when close connection options must be sent. (<a href="#header.connection" id="rfc.xref.header.connection.7" title="Connection">Section 8.1</a>) … … 2447 2455 </li> 2448 2456 <li> <<a href="http://www3.tools.ietf.org/wg/httpbis/trac/ticket/82">http://www3.tools.ietf.org/wg/httpbis/trac/ticket/82</a>>: "rel_path not used" 2457 </li> 2458 </ul> 2459 <p id="rfc.section.E.3.p.2">Other changes: </p> 2460 <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>>) 2449 2465 </li> 2450 2466 </ul> … … 2508 2524 <li class="indline1"><tt>Grammar</tt> 2509 2525 <ul class="ind"> 2526 <li class="indline1"><tt>absoluteURI</tt> <a class="iref" href="#rfc.iref.g.26"><b>3.2.1</b></a></li> 2510 2527 <li class="indline1"><tt>ALPHA</tt> <a class="iref" href="#rfc.iref.g.6"><b>2.2</b></a></li> 2511 <li class="indline1"><tt>asctime-date</tt> <a class="iref" href="#rfc.iref.g.30"><b>3.3.1</b></a></li> 2512 <li class="indline1"><tt>attribute</tt> <a class="iref" href="#rfc.iref.g.41"><b>3.4</b></a></li> 2528 <li class="indline1"><tt>asctime-date</tt> <a class="iref" href="#rfc.iref.g.37"><b>3.3.1</b></a></li> 2529 <li class="indline1"><tt>attribute</tt> <a class="iref" href="#rfc.iref.g.48"><b>3.4</b></a></li> 2530 <li class="indline1"><tt>authority</tt> <a class="iref" href="#rfc.iref.g.27"><b>3.2.1</b></a></li> 2513 2531 <li class="indline1"><tt>CHAR</tt> <a class="iref" href="#rfc.iref.g.3"><b>2.2</b></a></li> 2514 <li class="indline1"><tt>chunk</tt> <a class="iref" href="#rfc.iref.g. 44"><b>3.4.1</b></a></li>2515 <li class="indline1"><tt>chunk-data</tt> <a class="iref" href="#rfc.iref.g.5 0"><b>3.4.1</b></a></li>2516 <li class="indline1"><tt>chunk-ext-name</tt> <a class="iref" href="#rfc.iref.g. 48"><b>3.4.1</b></a></li>2517 <li class="indline1"><tt>chunk-ext-val</tt> <a class="iref" href="#rfc.iref.g. 49"><b>3.4.1</b></a></li>2518 <li class="indline1"><tt>chunk-extension</tt> <a class="iref" href="#rfc.iref.g. 47"><b>3.4.1</b></a></li>2519 <li class="indline1"><tt>chunk-size</tt> <a class="iref" href="#rfc.iref.g. 45"><b>3.4.1</b></a></li>2520 <li class="indline1"><tt>Chunked-Body</tt> <a class="iref" href="#rfc.iref.g. 43"><b>3.4.1</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> 2521 2539 <li class="indline1"><tt>comment</tt> <a class="iref" href="#rfc.iref.g.20"><b>2.2</b></a></li> 2522 <li class="indline1"><tt>Connection</tt> <a class="iref" href="#rfc.iref.g.7 1"><b>8.1</b></a></li>2523 <li class="indline1"><tt>connection-token</tt> <a class="iref" href="#rfc.iref.g.7 2"><b>8.1</b></a></li>2524 <li class="indline1"><tt>Content-Length</tt> <a class="iref" href="#rfc.iref.g. 73"><b>8.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> 2525 2543 <li class="indline1"><tt>CR</tt> <a class="iref" href="#rfc.iref.g.9"><b>2.2</b></a></li> 2526 2544 <li class="indline1"><tt>CRLF</tt> <a class="iref" href="#rfc.iref.g.14"><b>2.2</b></a></li> 2527 2545 <li class="indline1"><tt>ctext</tt> <a class="iref" href="#rfc.iref.g.21"><b>2.2</b></a></li> 2528 2546 <li class="indline1"><tt>CTL</tt> <a class="iref" href="#rfc.iref.g.8"><b>2.2</b></a></li> 2529 <li class="indline1"><tt>Date</tt> <a class="iref" href="#rfc.iref.g. 74"><b>8.3</b></a></li>2530 <li class="indline1"><tt>date1</tt> <a class="iref" href="#rfc.iref.g.3 1"><b>3.3.1</b></a></li>2531 <li class="indline1"><tt>date2</tt> <a class="iref" href="#rfc.iref.g.3 2"><b>3.3.1</b></a></li>2532 <li class="indline1"><tt>date3</tt> <a class="iref" href="#rfc.iref.g. 33"><b>3.3.1</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> 2533 2551 <li class="indline1"><tt>DIGIT</tt> <a class="iref" href="#rfc.iref.g.7"><b>2.2</b></a></li> 2534 2552 <li class="indline1"><tt>DQUOTE</tt> <a class="iref" href="#rfc.iref.g.13"><b>2.2</b></a></li> 2535 <li class="indline1"><tt>extension-code</tt> <a class="iref" href="#rfc.iref.g. 69"><b>6.1.1</b></a></li>2536 <li class="indline1"><tt>extension-method</tt> <a class="iref" href="#rfc.iref.g. 64"><b>5.1.1</b></a></li>2537 <li class="indline1"><tt>field-content</tt> <a class="iref" href="#rfc.iref.g. 58"><b>4.2</b></a></li>2538 <li class="indline1"><tt>field-name</tt> <a class="iref" href="#rfc.iref.g. 56"><b>4.2</b></a></li>2539 <li class="indline1"><tt>field-value</tt> <a class="iref" href="#rfc.iref.g. 57"><b>4.2</b></a></li>2540 <li class="indline1"><tt>general-header</tt> <a class="iref" href="#rfc.iref.g.6 0"><b>4.5</b></a></li>2541 <li class="indline1"><tt>generic-message</tt> <a class="iref" href="#rfc.iref.g. 53"><b>4.1</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> 2542 2560 <li class="indline1"><tt>HEX</tt> <a class="iref" href="#rfc.iref.g.17"><b>2.2</b></a></li> 2543 <li class="indline1"><tt>Host</tt> <a class="iref" href="#rfc.iref.g. 75"><b>8.4</b></a></li>2561 <li class="indline1"><tt>Host</tt> <a class="iref" href="#rfc.iref.g.82"><b>8.4</b></a></li> 2544 2562 <li class="indline1"><tt>HTAB</tt> <a class="iref" href="#rfc.iref.g.12"><b>2.2</b></a></li> 2545 <li class="indline1"><tt>HTTP-date</tt> <a class="iref" href="#rfc.iref.g.27"><b>3.3.1</b></a></li> 2546 <li class="indline1"><tt>HTTP-message</tt> <a class="iref" href="#rfc.iref.g.52"><b>4.1</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> 2547 2566 <li class="indline1"><tt>HTTP-Version</tt> <a class="iref" href="#rfc.iref.g.25"><b>3.1</b></a></li> 2548 <li class="indline1"><tt>http_URL</tt> <a class="iref" href="#rfc.iref.g.26"><b>3.2.2</b></a></li> 2549 <li class="indline1"><tt>last-chunk</tt> <a class="iref" href="#rfc.iref.g.46"><b>3.4.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> 2550 2568 <li class="indline1"><tt>LF</tt> <a class="iref" href="#rfc.iref.g.10"><b>2.2</b></a></li> 2551 2569 <li class="indline1"><tt>LOALPHA</tt> <a class="iref" href="#rfc.iref.g.5"><b>2.2</b></a></li> 2552 2570 <li class="indline1"><tt>LWS</tt> <a class="iref" href="#rfc.iref.g.15"><b>2.2</b></a></li> 2553 <li class="indline1"><tt>message-body</tt> <a class="iref" href="#rfc.iref.g. 59"><b>4.3</b></a></li>2554 <li class="indline1"><tt>message-header</tt> <a class="iref" href="#rfc.iref.g. 55"><b>4.2</b></a></li>2555 <li class="indline1"><tt>Method</tt> <a class="iref" href="#rfc.iref.g. 63"><b>5.1.1</b></a></li>2556 <li class="indline1"><tt>month</tt> <a class="iref" href="#rfc.iref.g. 37"><b>3.3.1</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> 2557 2575 <li class="indline1"><tt>OCTET</tt> <a class="iref" href="#rfc.iref.g.2"><b>2.2</b></a></li> 2558 <li class="indline1"><tt>parameter</tt> <a class="iref" href="#rfc.iref.g.40"><b>3.4</b></a></li> 2559 <li class="indline1"><tt>protocol-name</tt> <a class="iref" href="#rfc.iref.g.83"><b>8.9</b></a></li> 2560 <li class="indline1"><tt>protocol-version</tt> <a class="iref" href="#rfc.iref.g.84"><b>8.9</b></a></li> 2561 <li class="indline1"><tt>pseudonym</tt> <a class="iref" href="#rfc.iref.g.86"><b>8.9</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> 2562 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> 2563 2584 <li class="indline1"><tt>quoted-pair</tt> <a class="iref" href="#rfc.iref.g.24"><b>2.2</b></a></li> 2564 2585 <li class="indline1"><tt>quoted-string</tt> <a class="iref" href="#rfc.iref.g.22"><b>2.2</b></a></li> 2565 <li class="indline1"><tt>Reason-Phrase</tt> <a class="iref" href="#rfc.iref.g.70"><b>6.1.1</b></a></li> 2566 <li class="indline1"><tt>received-by</tt> <a class="iref" href="#rfc.iref.g.85"><b>8.9</b></a></li> 2567 <li class="indline1"><tt>received-protocol</tt> <a class="iref" href="#rfc.iref.g.82"><b>8.9</b></a></li> 2568 <li class="indline1"><tt>Request</tt> <a class="iref" href="#rfc.iref.g.61"><b>5</b></a></li> 2569 <li class="indline1"><tt>Request-Line</tt> <a class="iref" href="#rfc.iref.g.62"><b>5.1</b></a></li> 2570 <li class="indline1"><tt>Request-URI</tt> <a class="iref" href="#rfc.iref.g.65"><b>5.1.2</b></a></li> 2571 <li class="indline1"><tt>Response</tt> <a class="iref" href="#rfc.iref.g.66"><b>6</b></a></li> 2572 <li class="indline1"><tt>rfc1123-date</tt> <a class="iref" href="#rfc.iref.g.28"><b>3.3.1</b></a></li> 2573 <li class="indline1"><tt>rfc850-date</tt> <a class="iref" href="#rfc.iref.g.29"><b>3.3.1</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> 2574 2596 <li class="indline1"><tt>separators</tt> <a class="iref" href="#rfc.iref.g.19"><b>2.2</b></a></li> 2575 2597 <li class="indline1"><tt>SP</tt> <a class="iref" href="#rfc.iref.g.11"><b>2.2</b></a></li> 2576 <li class="indline1"><tt>start-line</tt> <a class="iref" href="#rfc.iref.g. 54"><b>4.1</b></a></li>2577 <li class="indline1"><tt>Status-Code</tt> <a class="iref" href="#rfc.iref.g. 68"><b>6.1.1</b></a></li>2578 <li class="indline1"><tt>Status-Line</tt> <a class="iref" href="#rfc.iref.g. 67"><b>6.1</b></a></li>2579 <li class="indline1"><tt>t-codings</tt> <a class="iref" href="#rfc.iref.g. 77"><b>8.5</b></a></li>2580 <li class="indline1"><tt>TE</tt> <a class="iref" href="#rfc.iref.g. 76"><b>8.5</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> 2581 2603 <li class="indline1"><tt>TEXT</tt> <a class="iref" href="#rfc.iref.g.16"><b>2.2</b></a></li> 2582 <li class="indline1"><tt>time</tt> <a class="iref" href="#rfc.iref.g. 34"><b>3.3.1</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> 2583 2605 <li class="indline1"><tt>token</tt> <a class="iref" href="#rfc.iref.g.18"><b>2.2</b></a></li> 2584 <li class="indline1"><tt> trailer</tt> <a class="iref" href="#rfc.iref.g.51"><b>3.4.1</b></a></li>2585 <li class="indline1"><tt> Trailer</tt> <a class="iref" href="#rfc.iref.g.78"><b>8.6</b></a></li>2586 <li class="indline1"><tt>transfer-coding</tt> <a class="iref" href="#rfc.iref.g. 38"><b>3.4</b></a></li>2587 <li class="indline1"><tt>Transfer-Encoding</tt> <a class="iref" href="#rfc.iref.g. 79"><b>8.7</b></a></li>2588 <li class="indline1"><tt>transfer-extension</tt> <a class="iref" href="#rfc.iref.g. 39"><b>3.4</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> 2589 2611 <li class="indline1"><tt>UPALPHA</tt> <a class="iref" href="#rfc.iref.g.4"><b>2.2</b></a></li> 2590 <li class="indline1"><tt>Upgrade</tt> <a class="iref" href="#rfc.iref.g.80"><b>8.8</b></a></li> 2591 <li class="indline1"><tt>value</tt> <a class="iref" href="#rfc.iref.g.42"><b>3.4</b></a></li> 2592 <li class="indline1"><tt>Via</tt> <a class="iref" href="#rfc.iref.g.81"><b>8.9</b></a></li> 2593 <li class="indline1"><tt>weekday</tt> <a class="iref" href="#rfc.iref.g.36"><b>3.3.1</b></a></li> 2594 <li class="indline1"><tt>wkday</tt> <a class="iref" href="#rfc.iref.g.35"><b>3.3.1</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> 2595 2618 </ul> 2596 2619 </li> … … 2698 2721 <li class="indline1"><em>RFC2145</em> <a class="iref" href="#rfc.xref.RFC2145.1">3.1</a>, <a class="iref" href="#rfc.xref.RFC2145.2">3.1</a>, <a class="iref" href="#RFC2145"><b>12.2</b></a>, <a class="iref" href="#rfc.xref.RFC2145.3">D.3</a></li> 2699 2722 <li class="indline1"><em>RFC2324</em> <a class="iref" href="#rfc.xref.RFC2324.1">1.1</a>, <a class="iref" href="#RFC2324"><b>12.2</b></a></li> 2700 <li class="indline1"><em>RFC2396</em> <a class="iref" href="#rfc.xref.RFC2396.1">3.2.1</a>, <a class="iref" href="#rfc.xref.RFC2396.2">3.2.3</a>, <a class="iref" href="#rfc.xref.RFC2396.3">5.1.2</a>, <a class="iref" href="#RFC2396"><b>12.1</b></a>, <a class="iref" href="#rfc.xref.RFC2396.4">D.4</a><ul class="ind"> 2701 <li class="indline1"><em>Section 3</em> <a class="iref" href="#rfc.xref.RFC2396.4">D.4</a></li> 2723 <li class="indline1"><em>RFC2396</em> <a class="iref" href="#rfc.xref.RFC2396.1">3.2.1</a>, <a class="iref" href="#rfc.xref.RFC2396.2">3.2.1</a>, <a class="iref" href="#rfc.xref.RFC2396.3">3.2.1</a>, <a class="iref" href="#rfc.xref.RFC2396.4">3.2.1</a>, <a class="iref" href="#rfc.xref.RFC2396.5">3.2.1</a>, <a class="iref" href="#rfc.xref.RFC2396.6">3.2.1</a>, <a class="iref" href="#rfc.xref.RFC2396.7">3.2.1</a>, <a class="iref" href="#rfc.xref.RFC2396.8">3.2.1</a>, <a class="iref" href="#rfc.xref.RFC2396.9">3.2.3</a>, <a class="iref" href="#rfc.xref.RFC2396.10">5.1.2</a>, <a class="iref" href="#RFC2396"><b>12.1</b></a>, <a class="iref" href="#rfc.xref.RFC2396.11">D.4</a><ul class="ind"> 2724 <li class="indline1"><em>Section 3.2.2</em> <a class="iref" href="#rfc.xref.RFC2396.5">3.2.1</a>, <a class="iref" href="#rfc.xref.RFC2396.8">3.2.1</a></li> 2725 <li class="indline1"><em>Section 3.2</em> <a class="iref" href="#rfc.xref.RFC2396.3">3.2.1</a></li> 2726 <li class="indline1"><em>Section 3.4</em> <a class="iref" href="#rfc.xref.RFC2396.6">3.2.1</a></li> 2727 <li class="indline1"><em>Section 3</em> <a class="iref" href="#rfc.xref.RFC2396.2">3.2.1</a>, <a class="iref" href="#rfc.xref.RFC2396.4">3.2.1</a>, <a class="iref" href="#rfc.xref.RFC2396.11">D.4</a></li> 2728 <li class="indline1"><em>Section 5</em> <a class="iref" href="#rfc.xref.RFC2396.7">3.2.1</a></li> 2702 2729 </ul> 2703 2730 </li> -
draft-ietf-httpbis/latest/p1-messaging.xml
r182 r185 1027 1027 and <xref target="RFC1808"/>). This specification adopts the 1028 1028 definitions of "URI-reference", "absoluteURI", "relativeURI", "port", 1029 "host", "abs_path", "query", and "authority" from that specification. 1030 </t> 1029 "host", "abs_path", "query", and "authority" from that specification: 1030 </t> 1031 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="absoluteURI"/><iref primary="true" item="Grammar" subitem="authority"/><iref primary="true" item="Grammar" subitem="path-absolute"/><iref primary="true" item="Grammar" subitem="port"/><iref primary="true" item="Grammar" subitem="query"/><iref primary="true" item="Grammar" subitem="relativeURI"/><iref primary="true" item="Grammar" subitem="uri-host"/> 1032 absoluteURI = <absoluteURI, defined in <xref target="RFC2396" x:fmt="," x:sec="3"/>> 1033 authority = <authority, defined in <xref target="RFC2396" x:fmt="," x:sec="3.2"/>> 1034 path-absolute = <abs_path, defined in <xref target="RFC2396" x:fmt="," x:sec="3"/>> 1035 port = <port, defined in <xref target="RFC2396" x:fmt="," x:sec="3.2.2"/>> 1036 query = <query, defined in <xref target="RFC2396" x:fmt="," x:sec="3.4"/>> 1037 relativeURI = <relativeURI, defined in <xref target="RFC2396" x:fmt="," x:sec="5"/>> 1038 uri-host = <host, defined in <xref target="RFC2396" x:fmt="," x:sec="3.2.2"/>> 1039 </artwork></figure> 1031 1040 <t> 1032 1041 HTTP does not place any a priori limit on the length of … … 1054 1063 semantics for http URLs. 1055 1064 </t> 1056 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="http_URL"/> 1057 http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]] 1065 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="http-URL"/> 1066 http-URL = "http:" "//" uri-host [ ":" port ] 1067 [ path-absolute [ "?" query ]] 1058 1068 </artwork></figure> 1059 1069 <t> … … 1061 1071 are that the identified resource is located at the server listening 1062 1072 for TCP connections on that port of that host, and the Request-URI 1063 for the resource is abs_path(<xref target="request-uri"/>). The use of IP addresses1073 for the resource is path-absolute (<xref target="request-uri"/>). The use of IP addresses 1064 1074 in URLs &SHOULD; be avoided whenever possible (see <xref target="RFC1900"/>). If 1065 the abs_pathis not present in the URL, it &MUST; be given as "/" when1075 the path-absolute is not present in the URL, it &MUST; be given as "/" when 1066 1076 used as a Request-URI for a resource (<xref target="request-uri"/>). If a proxy 1067 1068 1077 receives a host name which is not a fully qualified domain name, it 1069 1078 &MAY; add its domain to the host name it received. If a proxy receives … … 1083 1092 <t>Comparisons of host names &MUST; be case-insensitive;</t> 1084 1093 <t>Comparisons of scheme names &MUST; be case-insensitive;</t> 1085 <t>An empty abs_path is equivalent to an abs_pathof "/".</t>1094 <t>An empty path-absolute is equivalent to an path-absolute of "/".</t> 1086 1095 </list> 1087 1096 </t> … … 1237 1246 received the full message. 1238 1247 </t> 1239 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Chunked-Body"/><iref primary="true" item="Grammar" subitem="chunk"/><iref primary="true" item="Grammar" subitem="chunk-size"/><iref primary="true" item="Grammar" subitem="last-chunk"/><iref primary="true" item="Grammar" subitem="chunk-extension"/><iref primary="true" item="Grammar" subitem="chunk-ext-name"/><iref primary="true" item="Grammar" subitem="chunk-ext-val"/><iref primary="true" item="Grammar" subitem="chunk-data"/><iref primary="true" item="Grammar" subitem="trailer "/>1248 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Chunked-Body"/><iref primary="true" item="Grammar" subitem="chunk"/><iref primary="true" item="Grammar" subitem="chunk-size"/><iref primary="true" item="Grammar" subitem="last-chunk"/><iref primary="true" item="Grammar" subitem="chunk-extension"/><iref primary="true" item="Grammar" subitem="chunk-ext-name"/><iref primary="true" item="Grammar" subitem="chunk-ext-val"/><iref primary="true" item="Grammar" subitem="chunk-data"/><iref primary="true" item="Grammar" subitem="trailer-part"/> 1240 1249 Chunked-Body = *chunk 1241 1250 last-chunk 1242 trailer 1251 trailer-part 1243 1252 CRLF 1244 1253 … … 1252 1261 chunk-ext-val = token | quoted-string 1253 1262 chunk-data = 1*OCTET ; a sequence of chunk-size octets 1254 trailer 1263 trailer-part = *(entity-header CRLF) 1255 1264 </artwork></figure> 1256 1265 <t> … … 1617 1626 Request-URI = "*" 1618 1627 | absoluteURI 1619 | ( abs_path[ "?" query ] )1628 | ( path-absolute [ "?" query ] ) 1620 1629 | authority 1621 1630 </artwork></figure> … … 1655 1664 The most common form of Request-URI is that used to identify a 1656 1665 resource on an origin server or gateway. In this case the absolute 1657 path of the URI &MUST; be transmitted (see <xref target="general.syntax"/>, abs_path) as1666 path of the URI &MUST; be transmitted (see <xref target="general.syntax"/>, path-absolute) as 1658 1667 the Request-URI, and the network location of the URI (authority) &MUST; 1659 1668 be transmitted in a Host header field. For example, a client wishing … … 1679 1688 </t> 1680 1689 <t> 1681 A transparent proxy &MUST-NOT; rewrite the " abs_path" part of the1690 A transparent proxy &MUST-NOT; rewrite the "path-absolute" part of the 1682 1691 received Request-URI when forwarding it to the next inbound server, 1683 except as noted above to replace a null abs_pathwith "/".1692 except as noted above to replace a null path-absolute with "/". 1684 1693 </t> 1685 1694 <t> … … 2400 2409 </t> 2401 2410 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Host"/> 2402 Host = "Host" ":" host [ ":" port ] ; <xref target="http.url"/>2411 Host = "Host" ":" uri-host [ ":" port ] ; <xref target="http.url"/> 2403 2412 </artwork></figure> 2404 2413 <t> … … 2648 2657 protocol-name = token 2649 2658 protocol-version = token 2650 received-by = ( host [ ":" port ] ) | pseudonym2659 received-by = ( uri-host [ ":" port ] ) | pseudonym 2651 2660 pseudonym = token 2652 2661 </artwork></figure> … … 4172 4181 </list> 4173 4182 </t> 4183 <t> 4184 Other changes: 4185 <list style="symbols"> 4186 <t> 4187 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"/>) 4194 </t> 4195 </list> 4196 </t> 4174 4197 </section> 4175 4198 -
draft-ietf-httpbis/latest/p6-cache.html
r183 r185 1597 1597 1598 1598 warn-code = 3DIGIT 1599 warn-agent = ( host [ ":" port ] ) | pseudonym1599 warn-agent = ( uri-host [ ":" port ] ) | pseudonym 1600 1600 ; the name or pseudonym of the server adding 1601 1601 ; the Warning header, for use in debugging … … 1829 1829 <ul> 1830 1830 <li> <<a href="http://www3.tools.ietf.org/wg/httpbis/trac/ticket/82">http://www3.tools.ietf.org/wg/httpbis/trac/ticket/82</a>>: "rel_path not used" 1831 </li> 1832 </ul> 1833 <p id="rfc.section.B.3.p.2">Other changes: </p> 1834 <ul> 1835 <li>Get rid of duplicate BNF rule names ("host" -> "uri-host") (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>>) 1831 1836 </li> 1832 1837 </ul> -
draft-ietf-httpbis/latest/p6-cache.xml
r183 r185 2207 2207 2208 2208 warn-code = 3DIGIT 2209 warn-agent = ( host [ ":" port ] ) | pseudonym2209 warn-agent = ( uri-host [ ":" port ] ) | pseudonym 2210 2210 ; the name or pseudonym of the server adding 2211 2211 ; the Warning header, for use in debugging … … 2855 2855 </list> 2856 2856 </t> 2857 <t> 2858 Other changes: 2859 <list style="symbols"> 2860 <t> 2861 Get rid of duplicate BNF rule names ("host" -> "uri-host") 2862 (work in progress on <eref target="http://www3.tools.ietf.org/wg/httpbis/trac/ticket/36"/>) 2863 </t> 2864 </list> 2865 </t> 2857 2866 </section> 2858 2867
Note: See TracChangeset
for help on using the changeset viewer.