Changeset 212 for draft-ietf-httpbis
- Timestamp:
- 14/02/08 12:46:46 (14 years ago)
- Location:
- draft-ietf-httpbis/latest
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/outlineALL.html
r211 r212 77 77 <li class="tocline1">3.3 <a href="p1-messaging.html#date.time.formats">Date/Time Formats</a><ul class="toc"> 78 78 <li class="tocline1">3.3.1 <a href="p1-messaging.html#full.date">Full Date</a></li> 79 <li class="tocline1">3.3.2 <a href="p1-messaging.html#time.spans">Time Spans</a></li>80 79 </ul> 81 80 </li> -
draft-ietf-httpbis/latest/p1-messaging.html
r210 r212 508 508 <li class="tocline1">3.3 <a href="#date.time.formats">Date/Time Formats</a><ul class="toc"> 509 509 <li class="tocline1">3.3.1 <a href="#full.date">Full Date</a></li> 510 <li class="tocline1">3.3.2 <a href="#time.spans">Time Spans</a></li>511 510 </ul> 512 511 </li> … … 1120 1119 are not required to use these formats for user presentation, request logging, etc. 1121 1120 </p> 1122 <h3 id="rfc.section.3.3.2"><a href="#rfc.section.3.3.2">3.3.2</a> <a id="time.spans" href="#time.spans">Time Spans</a></h3> 1123 <p id="rfc.section.3.3.2.p.1">Time spans are presented as non-negative decimal integers, representing time in seconds.</p> 1124 <div id="rfc.figure.u.22"></div><pre class="inline"><span id="rfc.iref.g.43"></span> delta-seconds = 1*DIGIT 1125 </pre><h2 id="rfc.section.3.4"><a href="#rfc.section.3.4">3.4</a> <a id="transfer.codings" href="#transfer.codings">Transfer Codings</a></h2> 1121 <h2 id="rfc.section.3.4"><a href="#rfc.section.3.4">3.4</a> <a id="transfer.codings" href="#transfer.codings">Transfer Codings</a></h2> 1126 1122 <p id="rfc.section.3.4.p.1">Transfer-coding values are used to indicate an encoding transformation that has been, can be, or may need to be applied to 1127 1123 an entity-body in order to ensure "safe transport" through the network. This differs from a content coding in that the transfer-coding 1128 1124 is a property of the message, not of the original entity. 1129 1125 </p> 1130 <div id="rfc.figure.u.2 3"></div><pre class="inline"><span id="rfc.iref.g.44"></span><span id="rfc.iref.g.45"></span> transfer-coding = "chunked" | transfer-extension1126 <div id="rfc.figure.u.22"></div><pre class="inline"><span id="rfc.iref.g.43"></span><span id="rfc.iref.g.44"></span> transfer-coding = "chunked" | transfer-extension 1131 1127 transfer-extension = token *( ";" parameter ) 1132 1128 </pre><p id="rfc.section.3.4.p.3">Parameters are in the form of attribute/value pairs.</p> 1133 <div id="rfc.figure.u.2 4"></div><pre class="inline"><span id="rfc.iref.g.46"></span><span id="rfc.iref.g.47"></span><span id="rfc.iref.g.48"></span> parameter = attribute "=" value1129 <div id="rfc.figure.u.23"></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 1134 1130 attribute = token 1135 1131 value = token | quoted-string … … 1156 1152 necessary for the recipient to verify that it has received the full message. 1157 1153 </p> 1158 <div id="rfc.figure.u.2 5"></div><pre class="inline"><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><span id="rfc.iref.g.57"></span> Chunked-Body = *chunk1154 <div id="rfc.figure.u.24"></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 1159 1155 last-chunk 1160 1156 trailer-part … … 1193 1189 </p> 1194 1190 <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> 1195 <div id="rfc.figure.u.2 6"></div><pre class="text"> length := 01191 <div id="rfc.figure.u.25"></div><pre class="text"> length := 0 1196 1192 read chunk-size, chunk-extension (if any) and CRLF 1197 1193 while (chunk-size > 0) { … … 1215 1211 space. By convention, the products are listed in order of their significance for identifying the application. 1216 1212 </p> 1217 <div id="rfc.figure.u.2 7"></div><pre class="inline"><span id="rfc.iref.g.58"></span><span id="rfc.iref.g.59"></span> product = token ["/" product-version]1213 <div id="rfc.figure.u.26"></div><pre class="inline"><span id="rfc.iref.g.57"></span><span id="rfc.iref.g.58"></span> product = token ["/" product-version] 1218 1214 product-version = token 1219 1215 </pre><p id="rfc.section.3.5.p.3">Examples:</p> 1220 <div id="rfc.figure.u.2 8"></div><pre class="text"> User-Agent: CERN-LineMode/2.15 libwww/2.17b31216 <div id="rfc.figure.u.27"></div><pre class="text"> User-Agent: CERN-LineMode/2.15 libwww/2.17b3 1221 1217 Server: Apache/0.8.4 1222 1218 </pre><p id="rfc.section.3.5.p.5">Product tokens <em class="bcp14">SHOULD</em> be short and to the point. They <em class="bcp14">MUST NOT</em> be used for advertising or other non-essential information. Although any token character <em class="bcp14">MAY</em> appear in a product-version, this token <em class="bcp14">SHOULD</em> only be used for a version identifier (i.e., successive versions of the same product <em class="bcp14">SHOULD</em> only differ in the product-version portion of the product value). … … 1225 1221 <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> 1226 1222 <p id="rfc.section.4.1.p.1">HTTP messages consist of requests from client to server and responses from server to client.</p> 1227 <div id="rfc.figure.u.2 9"></div><pre class="inline"><span id="rfc.iref.g.60"></span> HTTP-message = Request | Response ; HTTP/1.1 messages1223 <div id="rfc.figure.u.28"></div><pre class="inline"><span id="rfc.iref.g.59"></span> HTTP-message = Request | Response ; HTTP/1.1 messages 1228 1224 </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 1229 1225 fields (also known as "headers"), an empty line (i.e., a line with nothing preceding the CRLF) indicating the end of the header 1230 1226 fields, and possibly a message-body. 1231 1227 </p> 1232 <div id="rfc.figure.u. 30"></div><pre class="inline"><span id="rfc.iref.g.61"></span><span id="rfc.iref.g.62"></span> generic-message = start-line1228 <div id="rfc.figure.u.29"></div><pre class="inline"><span id="rfc.iref.g.60"></span><span id="rfc.iref.g.61"></span> generic-message = start-line 1233 1229 *(message-header CRLF) 1234 1230 CRLF … … 1248 1244 forms. 1249 1245 </p> 1250 <div id="rfc.figure.u.3 1"></div><pre class="inline"><span id="rfc.iref.g.63"></span><span id="rfc.iref.g.64"></span><span id="rfc.iref.g.65"></span><span id="rfc.iref.g.66"></span> message-header = field-name ":" [ field-value ]1246 <div id="rfc.figure.u.30"></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 ] 1251 1247 field-name = token 1252 1248 field-value = *( field-content | LWS ) … … 1273 1269 header field (<a href="#header.transfer-encoding" id="rfc.xref.header.transfer-encoding.2" title="Transfer-Encoding">Section 8.7</a>). 1274 1270 </p> 1275 <div id="rfc.figure.u.3 2"></div><pre class="inline"><span id="rfc.iref.g.67"></span> message-body = entity-body1271 <div id="rfc.figure.u.31"></div><pre class="inline"><span id="rfc.iref.g.66"></span> message-body = entity-body 1276 1272 | <entity-body encoded as per Transfer-Encoding> 1277 1273 </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 … … 1340 1336 to the entity being transferred. These header fields apply only to the message being transmitted. 1341 1337 </p> 1342 <div id="rfc.figure.u.3 3"></div><pre class="inline"><span id="rfc.iref.g.68"></span> general-header = Cache-Control ; <a href="#Part6" id="rfc.xref.Part6.6"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.cache-control" title="Cache-Control">Section 16.2</a>1338 <div id="rfc.figure.u.32"></div><pre class="inline"><span id="rfc.iref.g.67"></span> general-header = Cache-Control ; <a href="#Part6" id="rfc.xref.Part6.6"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.cache-control" title="Cache-Control">Section 16.2</a> 1343 1339 | Connection ; <a href="#header.connection" id="rfc.xref.header.connection.1" title="Connection">Section 8.1</a> 1344 1340 | Date ; <a href="#header.date" id="rfc.xref.header.date.1" title="Date">Section 8.3</a> … … 1357 1353 resource, the identifier of the resource, and the protocol version in use. 1358 1354 </p> 1359 <div id="rfc.figure.u.3 4"></div><pre class="inline"><span id="rfc.iref.g.69"></span> Request = Request-Line ; <a href="#request-line" title="Request-Line">Section 5.1</a>1355 <div id="rfc.figure.u.33"></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> 1360 1356 *(( general-header ; <a href="#general.header.fields" title="General Header Fields">Section 4.5</a> 1361 1357 | request-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#request.header.fields" title="Request Header Fields">Section 4</a> … … 1367 1363 elements are separated by SP characters. No CR or LF is allowed except in the final CRLF sequence. 1368 1364 </p> 1369 <div id="rfc.figure.u.3 5"></div><pre class="inline"><span id="rfc.iref.g.70"></span> Request-Line = Method SP Request-URI SP HTTP-Version CRLF1365 <div id="rfc.figure.u.34"></div><pre class="inline"><span id="rfc.iref.g.69"></span> Request-Line = Method SP Request-URI SP HTTP-Version CRLF 1370 1366 </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> 1371 1367 <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> 1372 <div id="rfc.figure.u.3 6"></div><pre class="inline"><span id="rfc.iref.g.71"></span><span id="rfc.iref.g.72"></span> Method = token1368 <div id="rfc.figure.u.35"></div><pre class="inline"><span id="rfc.iref.g.70"></span><span id="rfc.iref.g.71"></span> Method = token 1373 1369 </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> 1374 1370 <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. 1375 1371 </p> 1376 <div id="rfc.figure.u.3 7"></div><pre class="inline"><span id="rfc.iref.g.73"></span> Request-URI = "*"1372 <div id="rfc.figure.u.36"></div><pre class="inline"><span id="rfc.iref.g.72"></span> Request-URI = "*" 1377 1373 | absoluteURI 1378 1374 | ( path-absolute [ "?" query ] ) … … 1382 1378 apply to a resource. One example would be 1383 1379 </p> 1384 <div id="rfc.figure.u.3 8"></div><pre class="text"> OPTIONS * HTTP/1.11380 <div id="rfc.figure.u.37"></div><pre class="text"> OPTIONS * HTTP/1.1 1385 1381 </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, 1386 1382 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 … … 1388 1384 Request-Line would be: 1389 1385 </p> 1390 <div id="rfc.figure.u.3 9"></div><pre class="text"> GET http://www.example.org/pub/WWW/TheProject.html HTTP/1.11386 <div id="rfc.figure.u.38"></div><pre class="text"> GET http://www.example.org/pub/WWW/TheProject.html HTTP/1.1 1391 1387 </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. 1392 1388 </p> … … 1397 1393 server would create a TCP connection to port 80 of the host "www.example.org" and send the lines: 1398 1394 </p> 1399 <div id="rfc.figure.u. 40"></div><pre class="text"> GET /pub/WWW/TheProject.html HTTP/1.11395 <div id="rfc.figure.u.39"></div><pre class="text"> GET /pub/WWW/TheProject.html HTTP/1.1 1400 1396 Host: www.example.org 1401 1397 </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 … … 1435 1431 <h1 id="rfc.section.6"><a href="#rfc.section.6">6.</a> <a id="response" href="#response">Response</a></h1> 1436 1432 <p id="rfc.section.6.p.1">After receiving and interpreting a request message, a server responds with an HTTP response message.</p> 1437 <div id="rfc.figure.u.4 1"></div><pre class="inline"><span id="rfc.iref.g.74"></span> Response = Status-Line ; <a href="#status-line" title="Status-Line">Section 6.1</a>1433 <div id="rfc.figure.u.40"></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> 1438 1434 *(( general-header ; <a href="#general.header.fields" title="General Header Fields">Section 4.5</a> 1439 1435 | response-header ; <a href="#Part2" id="rfc.xref.Part2.9"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>, <a href="p2-semantics.html#response.header.fields" title="Response Header Fields">Section 6</a> … … 1446 1442 CRLF sequence. 1447 1443 </p> 1448 <div id="rfc.figure.u.4 2"></div><pre class="inline"><span id="rfc.iref.g.75"></span> Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF1444 <div id="rfc.figure.u.41"></div><pre class="inline"><span id="rfc.iref.g.74"></span> Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF 1449 1445 </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> 1450 1446 <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 … … 1463 1459 <li>5xx: Server Error - The server failed to fulfill an apparently valid request</li> 1464 1460 </ul> 1465 <div id="rfc.figure.u.4 3"></div><pre class="inline"><span id="rfc.iref.g.76"></span><span id="rfc.iref.g.77"></span><span id="rfc.iref.g.78"></span> Status-Code = 3DIGIT1461 <div id="rfc.figure.u.42"></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 1466 1462 Reason-Phrase = *<TEXT, excluding CR, LF> 1467 1463 </pre><h1 id="rfc.section.7"><a href="#rfc.section.7">7.</a> <a id="connections" href="#connections">Connections</a></h1> … … 1654 1650 </p> 1655 1651 <p id="rfc.section.8.1.p.2">The Connection header has the following grammar:</p> 1656 <div id="rfc.figure.u.4 4"></div><pre class="inline"><span id="rfc.iref.g.79"></span><span id="rfc.iref.g.80"></span> Connection = "Connection" ":" 1#(connection-token)1652 <div id="rfc.figure.u.43"></div><pre class="inline"><span id="rfc.iref.g.78"></span><span id="rfc.iref.g.79"></span> Connection = "Connection" ":" 1#(connection-token) 1657 1653 connection-token = token 1658 1654 </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 … … 1666 1662 of the response. For example, 1667 1663 </p> 1668 <div id="rfc.figure.u.4 5"></div><pre class="text"> Connection: close1664 <div id="rfc.figure.u.44"></div><pre class="text"> Connection: close 1669 1665 </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. 1670 1666 </p> … … 1682 1678 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. 1683 1679 </p> 1684 <div id="rfc.figure.u.4 6"></div><pre class="inline"><span id="rfc.iref.g.81"></span> Content-Length = "Content-Length" ":" 1*DIGIT1680 <div id="rfc.figure.u.45"></div><pre class="inline"><span id="rfc.iref.g.80"></span> Content-Length = "Content-Length" ":" 1*DIGIT 1685 1681 </pre><p id="rfc.section.8.2.p.3">An example is</p> 1686 <div id="rfc.figure.u.4 7"></div><pre class="text"> Content-Length: 34951682 <div id="rfc.figure.u.46"></div><pre class="text"> Content-Length: 3495 1687 1683 </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>. 1688 1684 </p> … … 1699 1695 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. 1700 1696 </p> 1701 <div id="rfc.figure.u.4 8"></div><pre class="inline"><span id="rfc.iref.g.82"></span> Date = "Date" ":" HTTP-date1697 <div id="rfc.figure.u.47"></div><pre class="inline"><span id="rfc.iref.g.81"></span> Date = "Date" ":" HTTP-date 1702 1698 </pre><p id="rfc.section.8.3.p.3">An example is</p> 1703 <div id="rfc.figure.u.4 9"></div><pre class="text"> Date: Tue, 15 Nov 1994 08:12:31 GMT1699 <div id="rfc.figure.u.48"></div><pre class="text"> Date: Tue, 15 Nov 1994 08:12:31 GMT 1704 1700 </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: 1705 1701 </p> … … 1737 1733 a single IP address. 1738 1734 </p> 1739 <div id="rfc.figure.u. 50"></div><pre class="inline"><span id="rfc.iref.g.83"></span> Host = "Host" ":" uri-host [ ":" port ] ; <a href="#http.url" title="http URL">Section 3.2.2</a>1735 <div id="rfc.figure.u.49"></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> 1740 1736 </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 1741 1737 URL). For example, a request on the origin server for <http://www.example.org/pub/WWW/> would properly include: 1742 1738 </p> 1743 <div id="rfc.figure.u.5 1"></div><pre class="text"> GET /pub/WWW/ HTTP/1.11739 <div id="rfc.figure.u.50"></div><pre class="text"> GET /pub/WWW/ HTTP/1.1 1744 1740 Host: www.example.org 1745 1741 </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 … … 1756 1752 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>). 1757 1753 </p> 1758 <div id="rfc.figure.u.5 2"></div><pre class="inline"><span id="rfc.iref.g.84"></span><span id="rfc.iref.g.85"></span> TE = "TE" ":" #( t-codings )1754 <div id="rfc.figure.u.51"></div><pre class="inline"><span id="rfc.iref.g.83"></span><span id="rfc.iref.g.84"></span> TE = "TE" ":" #( t-codings ) 1759 1755 t-codings = "trailers" | ( transfer-extension [ accept-params ] ) 1760 1756 </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 1758 </p> 1763 1759 <p id="rfc.section.8.5.p.4">Examples of its use are:</p> 1764 <div id="rfc.figure.u.5 3"></div><pre class="text"> TE: deflate1760 <div id="rfc.figure.u.52"></div><pre class="text"> TE: deflate 1765 1761 TE: 1766 1762 TE: trailers, deflate;q=0.5 … … 1799 1795 with chunked transfer-coding. 1800 1796 </p> 1801 <div id="rfc.figure.u.5 4"></div><pre class="inline"><span id="rfc.iref.g.86"></span> Trailer = "Trailer" ":" 1#field-name1797 <div id="rfc.figure.u.53"></div><pre class="inline"><span id="rfc.iref.g.85"></span> Trailer = "Trailer" ":" 1#field-name 1802 1798 </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 1803 1799 to know which header fields to expect in the trailer. … … 1819 1815 transfer-coding is a property of the message, not of the entity. 1820 1816 </p> 1821 <div id="rfc.figure.u.5 5"></div><pre class="inline"><span id="rfc.iref.g.87"></span> Transfer-Encoding = "Transfer-Encoding" ":" 1#transfer-coding1817 <div id="rfc.figure.u.54"></div><pre class="inline"><span id="rfc.iref.g.86"></span> Transfer-Encoding = "Transfer-Encoding" ":" 1#transfer-coding 1822 1818 </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: 1823 1819 </p> 1824 <div id="rfc.figure.u.5 6"></div><pre class="text"> Transfer-Encoding: chunked1820 <div id="rfc.figure.u.55"></div><pre class="text"> Transfer-Encoding: chunked 1825 1821 </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. 1826 1822 </p> … … 1832 1828 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. 1833 1829 </p> 1834 <div id="rfc.figure.u.5 7"></div><pre class="inline"><span id="rfc.iref.g.88"></span> Upgrade = "Upgrade" ":" 1#product1830 <div id="rfc.figure.u.56"></div><pre class="inline"><span id="rfc.iref.g.87"></span> Upgrade = "Upgrade" ":" 1#product 1835 1831 </pre><p id="rfc.section.8.8.p.3">For example,</p> 1836 <div id="rfc.figure.u.5 8"></div><pre class="text"> Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x111832 <div id="rfc.figure.u.57"></div><pre class="text"> Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11 1837 1833 </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 1838 1834 protocol. It does so by allowing the client to advertise its desire to use another protocol, such as a later version of HTTP … … 1863 1859 of all senders along the request/response chain. 1864 1860 </p> 1865 <div id="rfc.figure.u.5 9"></div><pre class="inline"><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><span id="rfc.iref.g.94"></span> Via = "Via" ":" 1#( received-protocol received-by [ comment ] )1861 <div id="rfc.figure.u.58"></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 ] ) 1866 1862 received-protocol = [ protocol-name "/" ] protocol-version 1867 1863 protocol-name = token … … 1886 1882 server at www.example.com. The request received by www.example.com would then have the following Via header field: 1887 1883 </p> 1888 <div id="rfc.figure.u. 60"></div><pre class="text"> Via: 1.0 fred, 1.1 p.example.net (Apache/1.1)1884 <div id="rfc.figure.u.59"></div><pre class="text"> Via: 1.0 fred, 1.1 p.example.net (Apache/1.1) 1889 1885 </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. 1890 1886 </p> … … 1892 1888 For example, 1893 1889 </p> 1894 <div id="rfc.figure.u.6 1"></div><pre class="text"> Via: 1.0 ricky, 1.1 ethel, 1.1 fred, 1.0 lucy1890 <div id="rfc.figure.u.60"></div><pre class="text"> Via: 1.0 ricky, 1.1 ethel, 1.1 fred, 1.0 lucy 1895 1891 </pre><p id="rfc.section.8.9.p.12">could be collapsed to</p> 1896 <div id="rfc.figure.u.6 2"></div><pre class="text"> Via: 1.0 ricky, 1.1 mertz, 1.0 lucy1892 <div id="rfc.figure.u.61"></div><pre class="text"> Via: 1.0 ricky, 1.1 mertz, 1.0 lucy 1897 1893 </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 1898 1894 by pseudonyms. Applications <em class="bcp14">MUST NOT</em> combine entries which have different received-protocol values. … … 2514 2510 <li>Move "Product Tokens" section (back) into Part 1, as "token" is used in the definition of the Upgrade header.</li> 2515 2511 <li>Add explicit references to BNF syntax and rules imported from other parts of the specification.</li> 2516 <li>Move definition of "delta-seconds" into Part1 as a common BNF element.</li>2517 2512 </ul> 2518 2513 <h1><a id="rfc.copyright" href="#rfc.copyright">Full Copyright Statement</a></h1> … … 2578 2573 <li class="indline1"><tt>ALPHA</tt> <a class="iref" href="#rfc.iref.g.4"><b>2.2</b></a></li> 2579 2574 <li class="indline1"><tt>asctime-date</tt> <a class="iref" href="#rfc.iref.g.35"><b>3.3.1</b></a></li> 2580 <li class="indline1"><tt>attribute</tt> <a class="iref" href="#rfc.iref.g.4 7"><b>3.4</b></a></li>2575 <li class="indline1"><tt>attribute</tt> <a class="iref" href="#rfc.iref.g.46"><b>3.4</b></a></li> 2581 2576 <li class="indline1"><tt>authority</tt> <a class="iref" href="#rfc.iref.g.25"><b>3.2.1</b></a></li> 2582 2577 <li class="indline1"><tt>CHAR</tt> <a class="iref" href="#rfc.iref.g.3"><b>2.2</b></a></li> 2583 <li class="indline1"><tt>chunk</tt> <a class="iref" href="#rfc.iref.g. 50"><b>3.4.1</b></a></li>2584 <li class="indline1"><tt>chunk-data</tt> <a class="iref" href="#rfc.iref.g.5 6"><b>3.4.1</b></a></li>2585 <li class="indline1"><tt>chunk-ext-name</tt> <a class="iref" href="#rfc.iref.g.5 4"><b>3.4.1</b></a></li>2586 <li class="indline1"><tt>chunk-ext-val</tt> <a class="iref" href="#rfc.iref.g.5 5"><b>3.4.1</b></a></li>2587 <li class="indline1"><tt>chunk-extension</tt> <a class="iref" href="#rfc.iref.g.5 3"><b>3.4.1</b></a></li>2588 <li class="indline1"><tt>chunk-size</tt> <a class="iref" href="#rfc.iref.g.5 1"><b>3.4.1</b></a></li>2589 <li class="indline1"><tt>Chunked-Body</tt> <a class="iref" href="#rfc.iref.g.4 9"><b>3.4.1</b></a></li>2578 <li class="indline1"><tt>chunk</tt> <a class="iref" href="#rfc.iref.g.49"><b>3.4.1</b></a></li> 2579 <li class="indline1"><tt>chunk-data</tt> <a class="iref" href="#rfc.iref.g.55"><b>3.4.1</b></a></li> 2580 <li class="indline1"><tt>chunk-ext-name</tt> <a class="iref" href="#rfc.iref.g.53"><b>3.4.1</b></a></li> 2581 <li class="indline1"><tt>chunk-ext-val</tt> <a class="iref" href="#rfc.iref.g.54"><b>3.4.1</b></a></li> 2582 <li class="indline1"><tt>chunk-extension</tt> <a class="iref" href="#rfc.iref.g.52"><b>3.4.1</b></a></li> 2583 <li class="indline1"><tt>chunk-size</tt> <a class="iref" href="#rfc.iref.g.50"><b>3.4.1</b></a></li> 2584 <li class="indline1"><tt>Chunked-Body</tt> <a class="iref" href="#rfc.iref.g.48"><b>3.4.1</b></a></li> 2590 2585 <li class="indline1"><tt>comment</tt> <a class="iref" href="#rfc.iref.g.18"><b>2.2</b></a></li> 2591 <li class="indline1"><tt>Connection</tt> <a class="iref" href="#rfc.iref.g.7 9"><b>8.1</b></a></li>2592 <li class="indline1"><tt>connection-token</tt> <a class="iref" href="#rfc.iref.g. 80"><b>8.1</b></a></li>2593 <li class="indline1"><tt>Content-Length</tt> <a class="iref" href="#rfc.iref.g.8 1"><b>8.2</b></a></li>2586 <li class="indline1"><tt>Connection</tt> <a class="iref" href="#rfc.iref.g.78"><b>8.1</b></a></li> 2587 <li class="indline1"><tt>connection-token</tt> <a class="iref" href="#rfc.iref.g.79"><b>8.1</b></a></li> 2588 <li class="indline1"><tt>Content-Length</tt> <a class="iref" href="#rfc.iref.g.80"><b>8.2</b></a></li> 2594 2589 <li class="indline1"><tt>CR</tt> <a class="iref" href="#rfc.iref.g.7"><b>2.2</b></a></li> 2595 2590 <li class="indline1"><tt>CRLF</tt> <a class="iref" href="#rfc.iref.g.12"><b>2.2</b></a></li> 2596 2591 <li class="indline1"><tt>ctext</tt> <a class="iref" href="#rfc.iref.g.19"><b>2.2</b></a></li> 2597 2592 <li class="indline1"><tt>CTL</tt> <a class="iref" href="#rfc.iref.g.6"><b>2.2</b></a></li> 2598 <li class="indline1"><tt>Date</tt> <a class="iref" href="#rfc.iref.g.8 2"><b>8.3</b></a></li>2593 <li class="indline1"><tt>Date</tt> <a class="iref" href="#rfc.iref.g.81"><b>8.3</b></a></li> 2599 2594 <li class="indline1"><tt>date1</tt> <a class="iref" href="#rfc.iref.g.36"><b>3.3.1</b></a></li> 2600 2595 <li class="indline1"><tt>date2</tt> <a class="iref" href="#rfc.iref.g.37"><b>3.3.1</b></a></li> 2601 2596 <li class="indline1"><tt>date3</tt> <a class="iref" href="#rfc.iref.g.38"><b>3.3.1</b></a></li> 2602 <li class="indline1"><tt>delta-seconds</tt> <a class="iref" href="#rfc.iref.g.43"><b>3.3.2</b></a></li>2603 2597 <li class="indline1"><tt>DIGIT</tt> <a class="iref" href="#rfc.iref.g.5"><b>2.2</b></a></li> 2604 2598 <li class="indline1"><tt>DQUOTE</tt> <a class="iref" href="#rfc.iref.g.11"><b>2.2</b></a></li> 2605 <li class="indline1"><tt>extension-code</tt> <a class="iref" href="#rfc.iref.g.7 7"><b>6.1.1</b></a></li>2606 <li class="indline1"><tt>extension-method</tt> <a class="iref" href="#rfc.iref.g.7 2"><b>5.1.1</b></a></li>2607 <li class="indline1"><tt>field-content</tt> <a class="iref" href="#rfc.iref.g.6 6"><b>4.2</b></a></li>2608 <li class="indline1"><tt>field-name</tt> <a class="iref" href="#rfc.iref.g.6 4"><b>4.2</b></a></li>2609 <li class="indline1"><tt>field-value</tt> <a class="iref" href="#rfc.iref.g.6 5"><b>4.2</b></a></li>2610 <li class="indline1"><tt>general-header</tt> <a class="iref" href="#rfc.iref.g.6 8"><b>4.5</b></a></li>2611 <li class="indline1"><tt>generic-message</tt> <a class="iref" href="#rfc.iref.g.6 1"><b>4.1</b></a></li>2599 <li class="indline1"><tt>extension-code</tt> <a class="iref" href="#rfc.iref.g.76"><b>6.1.1</b></a></li> 2600 <li class="indline1"><tt>extension-method</tt> <a class="iref" href="#rfc.iref.g.71"><b>5.1.1</b></a></li> 2601 <li class="indline1"><tt>field-content</tt> <a class="iref" href="#rfc.iref.g.65"><b>4.2</b></a></li> 2602 <li class="indline1"><tt>field-name</tt> <a class="iref" href="#rfc.iref.g.63"><b>4.2</b></a></li> 2603 <li class="indline1"><tt>field-value</tt> <a class="iref" href="#rfc.iref.g.64"><b>4.2</b></a></li> 2604 <li class="indline1"><tt>general-header</tt> <a class="iref" href="#rfc.iref.g.67"><b>4.5</b></a></li> 2605 <li class="indline1"><tt>generic-message</tt> <a class="iref" href="#rfc.iref.g.60"><b>4.1</b></a></li> 2612 2606 <li class="indline1"><tt>HEX</tt> <a class="iref" href="#rfc.iref.g.15"><b>2.2</b></a></li> 2613 <li class="indline1"><tt>Host</tt> <a class="iref" href="#rfc.iref.g.8 3"><b>8.4</b></a></li>2607 <li class="indline1"><tt>Host</tt> <a class="iref" href="#rfc.iref.g.82"><b>8.4</b></a></li> 2614 2608 <li class="indline1"><tt>HTAB</tt> <a class="iref" href="#rfc.iref.g.10"><b>2.2</b></a></li> 2615 2609 <li class="indline1"><tt>HTTP-date</tt> <a class="iref" href="#rfc.iref.g.32"><b>3.3.1</b></a></li> 2616 <li class="indline1"><tt>HTTP-message</tt> <a class="iref" href="#rfc.iref.g. 60"><b>4.1</b></a></li>2610 <li class="indline1"><tt>HTTP-message</tt> <a class="iref" href="#rfc.iref.g.59"><b>4.1</b></a></li> 2617 2611 <li class="indline1"><tt>http-URL</tt> <a class="iref" href="#rfc.iref.g.31"><b>3.2.2</b></a></li> 2618 2612 <li class="indline1"><tt>HTTP-Version</tt> <a class="iref" href="#rfc.iref.g.23"><b>3.1</b></a></li> 2619 <li class="indline1"><tt>last-chunk</tt> <a class="iref" href="#rfc.iref.g.5 2"><b>3.4.1</b></a></li>2613 <li class="indline1"><tt>last-chunk</tt> <a class="iref" href="#rfc.iref.g.51"><b>3.4.1</b></a></li> 2620 2614 <li class="indline1"><tt>LF</tt> <a class="iref" href="#rfc.iref.g.8"><b>2.2</b></a></li> 2621 2615 <li class="indline1"><tt>LWS</tt> <a class="iref" href="#rfc.iref.g.13"><b>2.2</b></a></li> 2622 <li class="indline1"><tt>message-body</tt> <a class="iref" href="#rfc.iref.g.6 7"><b>4.3</b></a></li>2623 <li class="indline1"><tt>message-header</tt> <a class="iref" href="#rfc.iref.g.6 3"><b>4.2</b></a></li>2624 <li class="indline1"><tt>Method</tt> <a class="iref" href="#rfc.iref.g.7 1"><b>5.1.1</b></a></li>2616 <li class="indline1"><tt>message-body</tt> <a class="iref" href="#rfc.iref.g.66"><b>4.3</b></a></li> 2617 <li class="indline1"><tt>message-header</tt> <a class="iref" href="#rfc.iref.g.62"><b>4.2</b></a></li> 2618 <li class="indline1"><tt>Method</tt> <a class="iref" href="#rfc.iref.g.70"><b>5.1.1</b></a></li> 2625 2619 <li class="indline1"><tt>month</tt> <a class="iref" href="#rfc.iref.g.42"><b>3.3.1</b></a></li> 2626 2620 <li class="indline1"><tt>OCTET</tt> <a class="iref" href="#rfc.iref.g.2"><b>2.2</b></a></li> 2627 <li class="indline1"><tt>parameter</tt> <a class="iref" href="#rfc.iref.g.4 6"><b>3.4</b></a></li>2621 <li class="indline1"><tt>parameter</tt> <a class="iref" href="#rfc.iref.g.45"><b>3.4</b></a></li> 2628 2622 <li class="indline1"><tt>path-absolute</tt> <a class="iref" href="#rfc.iref.g.26"><b>3.2.1</b></a></li> 2629 2623 <li class="indline1"><tt>port</tt> <a class="iref" href="#rfc.iref.g.27"><b>3.2.1</b></a></li> 2630 <li class="indline1"><tt>product</tt> <a class="iref" href="#rfc.iref.g.5 8"><b>3.5</b></a></li>2631 <li class="indline1"><tt>product-version</tt> <a class="iref" href="#rfc.iref.g.5 9"><b>3.5</b></a></li>2632 <li class="indline1"><tt>protocol-name</tt> <a class="iref" href="#rfc.iref.g.9 1"><b>8.9</b></a></li>2633 <li class="indline1"><tt>protocol-version</tt> <a class="iref" href="#rfc.iref.g.9 2"><b>8.9</b></a></li>2634 <li class="indline1"><tt>pseudonym</tt> <a class="iref" href="#rfc.iref.g.9 4"><b>8.9</b></a></li>2624 <li class="indline1"><tt>product</tt> <a class="iref" href="#rfc.iref.g.57"><b>3.5</b></a></li> 2625 <li class="indline1"><tt>product-version</tt> <a class="iref" href="#rfc.iref.g.58"><b>3.5</b></a></li> 2626 <li class="indline1"><tt>protocol-name</tt> <a class="iref" href="#rfc.iref.g.90"><b>8.9</b></a></li> 2627 <li class="indline1"><tt>protocol-version</tt> <a class="iref" href="#rfc.iref.g.91"><b>8.9</b></a></li> 2628 <li class="indline1"><tt>pseudonym</tt> <a class="iref" href="#rfc.iref.g.93"><b>8.9</b></a></li> 2635 2629 <li class="indline1"><tt>qdtext</tt> <a class="iref" href="#rfc.iref.g.21"><b>2.2</b></a></li> 2636 2630 <li class="indline1"><tt>query</tt> <a class="iref" href="#rfc.iref.g.28"><b>3.2.1</b></a></li> 2637 2631 <li class="indline1"><tt>quoted-pair</tt> <a class="iref" href="#rfc.iref.g.22"><b>2.2</b></a></li> 2638 2632 <li class="indline1"><tt>quoted-string</tt> <a class="iref" href="#rfc.iref.g.20"><b>2.2</b></a></li> 2639 <li class="indline1"><tt>Reason-Phrase</tt> <a class="iref" href="#rfc.iref.g.7 8"><b>6.1.1</b></a></li>2640 <li class="indline1"><tt>received-by</tt> <a class="iref" href="#rfc.iref.g.9 3"><b>8.9</b></a></li>2641 <li class="indline1"><tt>received-protocol</tt> <a class="iref" href="#rfc.iref.g. 90"><b>8.9</b></a></li>2633 <li class="indline1"><tt>Reason-Phrase</tt> <a class="iref" href="#rfc.iref.g.77"><b>6.1.1</b></a></li> 2634 <li class="indline1"><tt>received-by</tt> <a class="iref" href="#rfc.iref.g.92"><b>8.9</b></a></li> 2635 <li class="indline1"><tt>received-protocol</tt> <a class="iref" href="#rfc.iref.g.89"><b>8.9</b></a></li> 2642 2636 <li class="indline1"><tt>relativeURI</tt> <a class="iref" href="#rfc.iref.g.29"><b>3.2.1</b></a></li> 2643 <li class="indline1"><tt>Request</tt> <a class="iref" href="#rfc.iref.g.6 9"><b>5</b></a></li>2644 <li class="indline1"><tt>Request-Line</tt> <a class="iref" href="#rfc.iref.g. 70"><b>5.1</b></a></li>2645 <li class="indline1"><tt>Request-URI</tt> <a class="iref" href="#rfc.iref.g.7 3"><b>5.1.2</b></a></li>2646 <li class="indline1"><tt>Response</tt> <a class="iref" href="#rfc.iref.g.7 4"><b>6</b></a></li>2637 <li class="indline1"><tt>Request</tt> <a class="iref" href="#rfc.iref.g.68"><b>5</b></a></li> 2638 <li class="indline1"><tt>Request-Line</tt> <a class="iref" href="#rfc.iref.g.69"><b>5.1</b></a></li> 2639 <li class="indline1"><tt>Request-URI</tt> <a class="iref" href="#rfc.iref.g.72"><b>5.1.2</b></a></li> 2640 <li class="indline1"><tt>Response</tt> <a class="iref" href="#rfc.iref.g.73"><b>6</b></a></li> 2647 2641 <li class="indline1"><tt>rfc1123-date</tt> <a class="iref" href="#rfc.iref.g.33"><b>3.3.1</b></a></li> 2648 2642 <li class="indline1"><tt>rfc850-date</tt> <a class="iref" href="#rfc.iref.g.34"><b>3.3.1</b></a></li> 2649 2643 <li class="indline1"><tt>separators</tt> <a class="iref" href="#rfc.iref.g.17"><b>2.2</b></a></li> 2650 2644 <li class="indline1"><tt>SP</tt> <a class="iref" href="#rfc.iref.g.9"><b>2.2</b></a></li> 2651 <li class="indline1"><tt>start-line</tt> <a class="iref" href="#rfc.iref.g.6 2"><b>4.1</b></a></li>2652 <li class="indline1"><tt>Status-Code</tt> <a class="iref" href="#rfc.iref.g.7 6"><b>6.1.1</b></a></li>2653 <li class="indline1"><tt>Status-Line</tt> <a class="iref" href="#rfc.iref.g.7 5"><b>6.1</b></a></li>2654 <li class="indline1"><tt>t-codings</tt> <a class="iref" href="#rfc.iref.g.8 5"><b>8.5</b></a></li>2655 <li class="indline1"><tt>TE</tt> <a class="iref" href="#rfc.iref.g.8 4"><b>8.5</b></a></li>2645 <li class="indline1"><tt>start-line</tt> <a class="iref" href="#rfc.iref.g.61"><b>4.1</b></a></li> 2646 <li class="indline1"><tt>Status-Code</tt> <a class="iref" href="#rfc.iref.g.75"><b>6.1.1</b></a></li> 2647 <li class="indline1"><tt>Status-Line</tt> <a class="iref" href="#rfc.iref.g.74"><b>6.1</b></a></li> 2648 <li class="indline1"><tt>t-codings</tt> <a class="iref" href="#rfc.iref.g.84"><b>8.5</b></a></li> 2649 <li class="indline1"><tt>TE</tt> <a class="iref" href="#rfc.iref.g.83"><b>8.5</b></a></li> 2656 2650 <li class="indline1"><tt>TEXT</tt> <a class="iref" href="#rfc.iref.g.14"><b>2.2</b></a></li> 2657 2651 <li class="indline1"><tt>time</tt> <a class="iref" href="#rfc.iref.g.39"><b>3.3.1</b></a></li> 2658 2652 <li class="indline1"><tt>token</tt> <a class="iref" href="#rfc.iref.g.16"><b>2.2</b></a></li> 2659 <li class="indline1"><tt>Trailer</tt> <a class="iref" href="#rfc.iref.g.8 6"><b>8.6</b></a></li>2660 <li class="indline1"><tt>trailer-part</tt> <a class="iref" href="#rfc.iref.g.5 7"><b>3.4.1</b></a></li>2661 <li class="indline1"><tt>transfer-coding</tt> <a class="iref" href="#rfc.iref.g.4 4"><b>3.4</b></a></li>2662 <li class="indline1"><tt>Transfer-Encoding</tt> <a class="iref" href="#rfc.iref.g.8 7"><b>8.7</b></a></li>2663 <li class="indline1"><tt>transfer-extension</tt> <a class="iref" href="#rfc.iref.g.4 5"><b>3.4</b></a></li>2664 <li class="indline1"><tt>Upgrade</tt> <a class="iref" href="#rfc.iref.g.8 8"><b>8.8</b></a></li>2653 <li class="indline1"><tt>Trailer</tt> <a class="iref" href="#rfc.iref.g.85"><b>8.6</b></a></li> 2654 <li class="indline1"><tt>trailer-part</tt> <a class="iref" href="#rfc.iref.g.56"><b>3.4.1</b></a></li> 2655 <li class="indline1"><tt>transfer-coding</tt> <a class="iref" href="#rfc.iref.g.43"><b>3.4</b></a></li> 2656 <li class="indline1"><tt>Transfer-Encoding</tt> <a class="iref" href="#rfc.iref.g.86"><b>8.7</b></a></li> 2657 <li class="indline1"><tt>transfer-extension</tt> <a class="iref" href="#rfc.iref.g.44"><b>3.4</b></a></li> 2658 <li class="indline1"><tt>Upgrade</tt> <a class="iref" href="#rfc.iref.g.87"><b>8.8</b></a></li> 2665 2659 <li class="indline1"><tt>uri-host</tt> <a class="iref" href="#rfc.iref.g.30"><b>3.2.1</b></a></li> 2666 <li class="indline1"><tt>value</tt> <a class="iref" href="#rfc.iref.g.4 8"><b>3.4</b></a></li>2667 <li class="indline1"><tt>Via</tt> <a class="iref" href="#rfc.iref.g.8 9"><b>8.9</b></a></li>2660 <li class="indline1"><tt>value</tt> <a class="iref" href="#rfc.iref.g.47"><b>3.4</b></a></li> 2661 <li class="indline1"><tt>Via</tt> <a class="iref" href="#rfc.iref.g.88"><b>8.9</b></a></li> 2668 2662 <li class="indline1"><tt>weekday</tt> <a class="iref" href="#rfc.iref.g.41"><b>3.3.1</b></a></li> 2669 2663 <li class="indline1"><tt>wkday</tt> <a class="iref" href="#rfc.iref.g.40"><b>3.3.1</b></a></li> -
draft-ietf-httpbis/latest/p1-messaging.xml
r210 r212 1205 1205 </t> 1206 1206 </section> 1207 1208 <section title="Time Spans" anchor="time.spans">1209 <t>1210 Time spans are presented as non-negative decimal integers, representing time1211 in seconds.1212 </t>1213 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="delta-seconds"/>1214 delta-seconds = 1*DIGIT1215 </artwork></figure>1216 </section>1217 1218 1207 </section> 1219 1208 … … 4300 4289 Add explicit references to BNF syntax and rules imported from other parts of the specification. 4301 4290 </t> 4302 <t>4303 Move definition of "delta-seconds" into Part1 as a common BNF element.4304 </t>4305 4291 </list> 4306 4292 </t> -
draft-ietf-httpbis/latest/p2-semantics.html
r210 r212 637 637 </div> 638 638 <div id="rfc.figure.u.3"></div><pre class="inline"> absoluteURI = <absoluteURI, defined in <a href="#Part1" id="rfc.xref.Part1.8"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#general.syntax" title="General Syntax">Section 3.2.1</a>> 639 delta-seconds = <delta-seconds, defined in <a href="#Part1" id="rfc.xref.Part1.9"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#time.spans" title="Time Spans">Section 3.3.2</a>> 640 fragment = <fragment, defined in <a href="#Part1" id="rfc.xref.Part1.10"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#general.syntax" title="General Syntax">Section 3.2.1</a>> 641 Host = <Host, defined in <a href="#Part1" id="rfc.xref.Part1.11"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#header.host" title="Host">Section 8.4</a>> 642 HTTP-date = <HTTP-date, defined in <a href="#Part1" id="rfc.xref.Part1.12"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#full.date" title="Full Date">Section 3.3.1</a>> 643 product = <product, defined in <a href="#Part1" id="rfc.xref.Part1.13"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#product.tokens" title="Product Tokens">Section 3.5</a>> 644 relativeURI = <relativeURI, defined in <a href="#Part1" id="rfc.xref.Part1.14"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#general.syntax" title="General Syntax">Section 3.2.1</a>> 645 TE = <TE, defined in <a href="#Part1" id="rfc.xref.Part1.15"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#header.upgrade" title="Upgrade">Section 8.8</a>> 639 fragment = <fragment, defined in <a href="#Part1" id="rfc.xref.Part1.9"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#general.syntax" title="General Syntax">Section 3.2.1</a>> 640 Host = <Host, defined in <a href="#Part1" id="rfc.xref.Part1.10"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#header.host" title="Host">Section 8.4</a>> 641 HTTP-date = <HTTP-date, defined in <a href="#Part1" id="rfc.xref.Part1.11"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#full.date" title="Full Date">Section 3.3.1</a>> 642 product = <product, defined in <a href="#Part1" id="rfc.xref.Part1.12"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#product.tokens" title="Product Tokens">Section 3.5</a>> 643 relativeURI = <relativeURI, defined in <a href="#Part1" id="rfc.xref.Part1.13"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#general.syntax" title="General Syntax">Section 3.2.1</a>> 644 TE = <TE, defined in <a href="#Part1" id="rfc.xref.Part1.14"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#header.upgrade" title="Upgrade">Section 8.8</a>> 646 645 </pre><div id="rfc.figure.u.4"></div><pre class="inline"> Accept = <Accept, defined in <a href="#Part3" id="rfc.xref.Part3.1"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#header.accept" title="Accept">Section 6.1</a>> 647 646 Accept-Charset = … … 699 698 | Expect ; <a href="#header.expect" id="rfc.xref.header.expect.1" title="Expect">Section 10.2</a> 700 699 | From ; <a href="#header.from" id="rfc.xref.header.from.1" title="From">Section 10.3</a> 701 | Host ; <a href="#Part1" id="rfc.xref.Part1.1 6"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#header.host" title="Host">Section 8.4</a>700 | Host ; <a href="#Part1" id="rfc.xref.Part1.15"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#header.host" title="Host">Section 8.4</a> 702 701 | If-Match ; <a href="#Part4" id="rfc.xref.Part4.6"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>, <a href="p4-conditional.html#header.if-match" title="If-Match">Section 7.2</a> 703 702 | If-Modified-Since ; <a href="#Part4" id="rfc.xref.Part4.7"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>, <a href="p4-conditional.html#header.if-modified-since" title="If-Modified-Since">Section 7.3</a> … … 709 708 | Range ; <a href="#Part5" id="rfc.xref.Part5.5"><cite title="HTTP/1.1, part 5: Range Requests and Partial Responses">[Part5]</cite></a>, <a href="p5-range.html#header.range" title="Range">Section 6.4</a> 710 709 | Referer ; <a href="#header.referer" id="rfc.xref.header.referer.1" title="Referer">Section 10.6</a> 711 | TE ; <a href="#Part1" id="rfc.xref.Part1.1 7"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#header.upgrade" title="Upgrade">Section 8.8</a>710 | TE ; <a href="#Part1" id="rfc.xref.Part1.16"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#header.upgrade" title="Upgrade">Section 8.8</a> 712 711 | User-Agent ; <a href="#header.user-agent" id="rfc.xref.header.user-agent.1" title="User-Agent">Section 10.9</a> 713 712 </pre><p id="rfc.section.4.p.3">Request-header field names can be extended reliably only in combination with a change in the protocol version. However, new … … 797 796 fields are defined in <a href="#Part3" id="rfc.xref.Part3.9"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>. 798 797 </p> 799 <p id="rfc.section.7.p.2">An entity-body is only present in a message when a message-body is present, as described in <a href="p1-messaging.html#message.body" title="Message Body">Section 4.3</a> of <a href="#Part1" id="rfc.xref.Part1.1 8"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. The entity-body is obtained from the message-body by decoding any Transfer-Encoding that might have been applied to ensure798 <p id="rfc.section.7.p.2">An entity-body is only present in a message when a message-body is present, as described in <a href="p1-messaging.html#message.body" title="Message Body">Section 4.3</a> of <a href="#Part1" id="rfc.xref.Part1.17"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. The entity-body is obtained from the message-body by decoding any Transfer-Encoding that might have been applied to ensure 800 799 safe and proper transfer of the message. 801 800 </p> … … 961 960 </p> 962 961 <p id="rfc.section.8.8.p.2">TRACE allows the client to see what is being received at the other end of the request chain and use that data for testing 963 or diagnostic information. The value of the Via header field (<a href="p1-messaging.html#header.via" title="Via">Section 8.9</a> of <a href="#Part1" id="rfc.xref.Part1.1 9"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>) is of particular interest, since it acts as a trace of the request chain. Use of the Max-Forwards header field allows the962 or diagnostic information. The value of the Via header field (<a href="p1-messaging.html#header.via" title="Via">Section 8.9</a> of <a href="#Part1" id="rfc.xref.Part1.18"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>) is of particular interest, since it acts as a trace of the request chain. Use of the Max-Forwards header field allows the 964 963 client to limit the length of the request chain, which is useful for testing a chain of proxies forwarding messages in an 965 964 infinite loop. … … 994 993 <p id="rfc.section.9.1.1.p.1">The client <em class="bcp14">SHOULD</em> continue with its request. This interim response is used to inform the client that the initial part of the request has been 995 994 received and has not yet been rejected by the server. The client <em class="bcp14">SHOULD</em> continue by sending the remainder of the request or, if the request has already been completed, ignore this response. The 996 server <em class="bcp14">MUST</em> send a final response after the request has been completed. See <a href="p1-messaging.html#use.of.the.100.status" title="Use of the 100 (Continue) Status">Section 7.2.3</a> of <a href="#Part1" id="rfc.xref.Part1. 20"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a> for detailed discussion of the use and handling of this status code.995 server <em class="bcp14">MUST</em> send a final response after the request has been completed. See <a href="p1-messaging.html#use.of.the.100.status" title="Use of the 100 (Continue) Status">Section 7.2.3</a> of <a href="#Part1" id="rfc.xref.Part1.19"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a> for detailed discussion of the use and handling of this status code. 997 996 </p> 998 997 <div id="rfc.iref.24"></div> … … 1376 1375 <p id="rfc.section.9.5.6.p.1">The server does not support, or refuses to support, the protocol version that was used in the request message. The server 1377 1376 is indicating that it is unable or unwilling to complete the request using the same major version as the client, as described 1378 in <a href="p1-messaging.html#http.version" title="HTTP Version">Section 3.1</a> of <a href="#Part1" id="rfc.xref.Part1.2 1"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, other than with this error message. The response <em class="bcp14">SHOULD</em> contain an entity describing why that version is not supported and what other protocols are supported by that server.1377 in <a href="p1-messaging.html#http.version" title="HTTP Version">Section 3.1</a> of <a href="#Part1" id="rfc.xref.Part1.20"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, other than with this error message. The response <em class="bcp14">SHOULD</em> contain an entity describing why that version is not supported and what other protocols are supported by that server. 1379 1378 </p> 1380 1379 <h1 id="rfc.section.10"><a href="#rfc.section.10">10.</a> <a id="header.fields" href="#header.fields">Header Field Definitions</a></h1> … … 1423 1422 </p> 1424 1423 <p id="rfc.section.10.2.p.7">Many older HTTP/1.0 and HTTP/1.1 applications do not understand the Expect header.</p> 1425 <p id="rfc.section.10.2.p.8">See <a href="p1-messaging.html#use.of.the.100.status" title="Use of the 100 (Continue) Status">Section 7.2.3</a> of <a href="#Part1" id="rfc.xref.Part1.2 2"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a> for the use of the 100 (Continue) status.1424 <p id="rfc.section.10.2.p.8">See <a href="p1-messaging.html#use.of.the.100.status" title="Use of the 100 (Continue) Status">Section 7.2.3</a> of <a href="#Part1" id="rfc.xref.Part1.21"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a> for the use of the 100 (Continue) status. 1426 1425 </p> 1427 1426 <div id="rfc.iref.f.1"></div> … … 1505 1504 the time of the response. 1506 1505 </p> 1507 <div id="rfc.figure.u.23"></div><pre class="inline"><span id="rfc.iref.g.18"></span> Retry-After = "Retry-After" ":" ( HTTP-date | delta-seconds ) 1508 </pre><p id="rfc.section.10.7.p.3">Two examples of its use are</p> 1509 <div id="rfc.figure.u.24"></div><pre class="text"> Retry-After: Fri, 31 Dec 1999 23:59:59 GMT 1506 <div id="rfc.figure.u.23"></div><pre class="inline"><span id="rfc.iref.g.18"></span> Retry-After = "Retry-After" ":" ( HTTP-date | delta-seconds ) 1507 </pre><p id="rfc.section.10.7.p.3">Time spans are non-negative decimal integers, representing time in seconds.</p> 1508 <div id="rfc.figure.u.24"></div><pre class="inline"><span id="rfc.iref.g.19"></span> delta-seconds = 1*DIGIT 1509 </pre><p id="rfc.section.10.7.p.5">Two examples of its use are</p> 1510 <div id="rfc.figure.u.25"></div><pre class="text"> Retry-After: Fri, 31 Dec 1999 23:59:59 GMT 1510 1511 Retry-After: 120 1511 </pre><p id="rfc.section.10.7.p. 5">In the latter example, the delay is 2 minutes.</p>1512 </pre><p id="rfc.section.10.7.p.7">In the latter example, the delay is 2 minutes.</p> 1512 1513 <div id="rfc.iref.s.42"></div> 1513 1514 <div id="rfc.iref.h.9"></div> 1514 1515 <h2 id="rfc.section.10.8"><a href="#rfc.section.10.8">10.8</a> <a id="header.server" href="#header.server">Server</a></h2> 1515 1516 <p id="rfc.section.10.8.p.1">The Server response-header field contains information about the software used by the origin server to handle the request. 1516 The field can contain multiple product tokens (<a href="p1-messaging.html#product.tokens" title="Product Tokens">Section 3.5</a> of <a href="#Part1" id="rfc.xref.Part1.2 3"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>) and comments identifying the server and any significant subproducts. The product tokens are listed in order of their significance1517 The field can contain multiple product tokens (<a href="p1-messaging.html#product.tokens" title="Product Tokens">Section 3.5</a> of <a href="#Part1" id="rfc.xref.Part1.22"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>) and comments identifying the server and any significant subproducts. The product tokens are listed in order of their significance 1517 1518 for identifying the application. 1518 1519 </p> 1519 <div id="rfc.figure.u.2 5"></div><pre class="inline"><span id="rfc.iref.g.19"></span> Server = "Server" ":" 1*( product | comment )1520 <div id="rfc.figure.u.26"></div><pre class="inline"><span id="rfc.iref.g.20"></span> Server = "Server" ":" 1*( product | comment ) 1520 1521 </pre><p id="rfc.section.10.8.p.3">Example:</p> 1521 <div id="rfc.figure.u.2 6"></div><pre class="text"> Server: CERN/3.0 libwww/2.171522 </pre><p id="rfc.section.10.8.p.5">If the response is being forwarded through a proxy, the proxy application <em class="bcp14">MUST NOT</em> modify the Server response-header. Instead, it <em class="bcp14">MUST</em> include a Via field (as described in <a href="p1-messaging.html#header.via" title="Via">Section 8.9</a> of <a href="#Part1" id="rfc.xref.Part1.2 4"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>).1522 <div id="rfc.figure.u.27"></div><pre class="text"> Server: CERN/3.0 libwww/2.17 1523 </pre><p id="rfc.section.10.8.p.5">If the response is being forwarded through a proxy, the proxy application <em class="bcp14">MUST NOT</em> modify the Server response-header. Instead, it <em class="bcp14">MUST</em> include a Via field (as described in <a href="p1-messaging.html#header.via" title="Via">Section 8.9</a> of <a href="#Part1" id="rfc.xref.Part1.23"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>). 1523 1524 </p> 1524 1525 <dl class="empty"> … … 1533 1534 <p id="rfc.section.10.9.p.1">The User-Agent request-header field contains information about the user agent originating the request. This is for statistical 1534 1535 purposes, the tracing of protocol violations, and automated recognition of user agents for the sake of tailoring responses 1535 to avoid particular user agent limitations. User agents <em class="bcp14">SHOULD</em> include this field with requests. The field can contain multiple product tokens (<a href="p1-messaging.html#product.tokens" title="Product Tokens">Section 3.5</a> of <a href="#Part1" id="rfc.xref.Part1.2 5"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>) and comments identifying the agent and any subproducts which form a significant part of the user agent. By convention, the1536 to avoid particular user agent limitations. User agents <em class="bcp14">SHOULD</em> include this field with requests. The field can contain multiple product tokens (<a href="p1-messaging.html#product.tokens" title="Product Tokens">Section 3.5</a> of <a href="#Part1" id="rfc.xref.Part1.24"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>) and comments identifying the agent and any subproducts which form a significant part of the user agent. By convention, the 1536 1537 product tokens are listed in order of their significance for identifying the application. 1537 1538 </p> 1538 <div id="rfc.figure.u.2 7"></div><pre class="inline"><span id="rfc.iref.g.20"></span> User-Agent = "User-Agent" ":" 1*( product | comment )1539 <div id="rfc.figure.u.28"></div><pre class="inline"><span id="rfc.iref.g.21"></span> User-Agent = "User-Agent" ":" 1*( product | comment ) 1539 1540 </pre><p id="rfc.section.10.9.p.3">Example:</p> 1540 <div id="rfc.figure.u.2 8"></div><pre class="text"> User-Agent: CERN-LineMode/2.15 libwww/2.17b31541 <div id="rfc.figure.u.29"></div><pre class="text"> User-Agent: CERN-LineMode/2.15 libwww/2.17b3 1541 1542 </pre><h1 id="rfc.section.11"><a href="#rfc.section.11">11.</a> <a id="IANA.considerations" href="#IANA.considerations">IANA Considerations</a></h1> 1542 1543 <p id="rfc.section.11.p.1"> <span class="comment">[rfc.comment.1: TBD.]</span> … … 1714 1715 </p> 1715 1716 <p id="rfc.section.A.2.p.4">In the description of the Server header, the Via field was described as a SHOULD. The requirement was and is stated correctly 1716 in the description of the Via header in <a href="p1-messaging.html#header.via" title="Via">Section 8.9</a> of <a href="#Part1" id="rfc.xref.Part1.2 6"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. (<a href="#header.server" id="rfc.xref.header.server.3" title="Server">Section 10.8</a>)1717 in the description of the Via header in <a href="p1-messaging.html#header.via" title="Via">Section 8.9</a> of <a href="#Part1" id="rfc.xref.Part1.25"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. (<a href="#header.server" id="rfc.xref.header.server.3" title="Server">Section 10.8</a>) 1717 1718 </p> 1718 1719 <h1 id="rfc.section.B"><a href="#rfc.section.B">B.</a> Change Log (to be removed by RFC Editor before publication) … … 1762 1763 <li>Move "Product Tokens" section (back) into Part 1, as "token" is used in the definition of the Upgrade header.</li> 1763 1764 <li>Add explicit references to BNF syntax and rules imported from other parts of the specification.</li> 1764 <li> Move definition of "delta-seconds" into Part1 as a common BNF element.</li>1765 <li>Copy definition of delta-seconds from Part6 instead of referencing it.</li> 1765 1766 </ul> 1766 1767 <h1><a id="rfc.copyright" href="#rfc.copyright">Full Copyright Statement</a></h1> … … 1877 1878 <ul class="ind"> 1878 1879 <li class="indline1"><tt>Allow</tt> <a class="iref" href="#rfc.iref.g.9"><b>10.1</b></a></li> 1880 <li class="indline1"><tt>delta-seconds</tt> <a class="iref" href="#rfc.iref.g.19"><b>10.7</b></a></li> 1879 1881 <li class="indline1"><tt>Expect</tt> <a class="iref" href="#rfc.iref.g.10"><b>10.2</b></a></li> 1880 1882 <li class="indline1"><tt>expect-params</tt> <a class="iref" href="#rfc.iref.g.13"><b>10.2</b></a></li> … … 1892 1894 <li class="indline1"><tt>response-header</tt> <a class="iref" href="#rfc.iref.g.7"><b>6</b></a></li> 1893 1895 <li class="indline1"><tt>Retry-After</tt> <a class="iref" href="#rfc.iref.g.18"><b>10.7</b></a></li> 1894 <li class="indline1"><tt>Server</tt> <a class="iref" href="#rfc.iref.g. 19"><b>10.8</b></a></li>1896 <li class="indline1"><tt>Server</tt> <a class="iref" href="#rfc.iref.g.20"><b>10.8</b></a></li> 1895 1897 <li class="indline1"><tt>Status-Code</tt> <a class="iref" href="#rfc.iref.g.4"><b>5</b></a></li> 1896 <li class="indline1"><tt>User-Agent</tt> <a class="iref" href="#rfc.iref.g.2 0"><b>10.9</b></a></li>1898 <li class="indline1"><tt>User-Agent</tt> <a class="iref" href="#rfc.iref.g.21"><b>10.9</b></a></li> 1897 1899 </ul> 1898 1900 </li> … … 1946 1948 </li> 1947 1949 <li class="indline0"><a id="rfc.index.P" href="#rfc.index.P"><b>P</b></a><ul class="ind"> 1948 <li class="indline1"><em>Part1</em> <a class="iref" href="#rfc.xref.Part1.1">1</a>, <a class="iref" href="#rfc.xref.Part1.2">2</a>, <a class="iref" href="#rfc.xref.Part1.3">2</a>, <a class="iref" href="#rfc.xref.Part1.4">2</a>, <a class="iref" href="#rfc.xref.Part1.5">2</a>, <a class="iref" href="#rfc.xref.Part1.6">2</a>, <a class="iref" href="#rfc.xref.Part1.7">2</a>, <a class="iref" href="#rfc.xref.Part1.8">2</a>, <a class="iref" href="#rfc.xref.Part1.9">2</a>, <a class="iref" href="#rfc.xref.Part1.10">2</a>, <a class="iref" href="#rfc.xref.Part1.11">2</a>, <a class="iref" href="#rfc.xref.Part1.12">2</a>, <a class="iref" href="#rfc.xref.Part1.13">2</a>, <a class="iref" href="#rfc.xref.Part1.14">2</a>, <a class="iref" href="#rfc.xref.Part1.15"> 2</a>, <a class="iref" href="#rfc.xref.Part1.16">4</a>, <a class="iref" href="#rfc.xref.Part1.17">4</a>, <a class="iref" href="#rfc.xref.Part1.18">7</a>, <a class="iref" href="#rfc.xref.Part1.19">8.8</a>, <a class="iref" href="#rfc.xref.Part1.20">9.1.1</a>, <a class="iref" href="#rfc.xref.Part1.21">9.5.6</a>, <a class="iref" href="#rfc.xref.Part1.22">10.2</a>, <a class="iref" href="#rfc.xref.Part1.23">10.8</a>, <a class="iref" href="#rfc.xref.Part1.24">10.8</a>, <a class="iref" href="#rfc.xref.Part1.25">10.9</a>, <a class="iref" href="#Part1"><b>14.1</b></a>, <a class="iref" href="#rfc.xref.Part1.26">A.2</a><ul class="ind">1950 <li class="indline1"><em>Part1</em> <a class="iref" href="#rfc.xref.Part1.1">1</a>, <a class="iref" href="#rfc.xref.Part1.2">2</a>, <a class="iref" href="#rfc.xref.Part1.3">2</a>, <a class="iref" href="#rfc.xref.Part1.4">2</a>, <a class="iref" href="#rfc.xref.Part1.5">2</a>, <a class="iref" href="#rfc.xref.Part1.6">2</a>, <a class="iref" href="#rfc.xref.Part1.7">2</a>, <a class="iref" href="#rfc.xref.Part1.8">2</a>, <a class="iref" href="#rfc.xref.Part1.9">2</a>, <a class="iref" href="#rfc.xref.Part1.10">2</a>, <a class="iref" href="#rfc.xref.Part1.11">2</a>, <a class="iref" href="#rfc.xref.Part1.12">2</a>, <a class="iref" href="#rfc.xref.Part1.13">2</a>, <a class="iref" href="#rfc.xref.Part1.14">2</a>, <a class="iref" href="#rfc.xref.Part1.15">4</a>, <a class="iref" href="#rfc.xref.Part1.16">4</a>, <a class="iref" href="#rfc.xref.Part1.17">7</a>, <a class="iref" href="#rfc.xref.Part1.18">8.8</a>, <a class="iref" href="#rfc.xref.Part1.19">9.1.1</a>, <a class="iref" href="#rfc.xref.Part1.20">9.5.6</a>, <a class="iref" href="#rfc.xref.Part1.21">10.2</a>, <a class="iref" href="#rfc.xref.Part1.22">10.8</a>, <a class="iref" href="#rfc.xref.Part1.23">10.8</a>, <a class="iref" href="#rfc.xref.Part1.24">10.9</a>, <a class="iref" href="#Part1"><b>14.1</b></a>, <a class="iref" href="#rfc.xref.Part1.25">A.2</a><ul class="ind"> 1949 1951 <li class="indline1"><em>Section 2.1</em> <a class="iref" href="#rfc.xref.Part1.2">2</a></li> 1950 1952 <li class="indline1"><em>Section 2.2</em> <a class="iref" href="#rfc.xref.Part1.3">2</a>, <a class="iref" href="#rfc.xref.Part1.4">2</a>, <a class="iref" href="#rfc.xref.Part1.5">2</a>, <a class="iref" href="#rfc.xref.Part1.6">2</a>, <a class="iref" href="#rfc.xref.Part1.7">2</a></li> 1951 <li class="indline1"><em>Section 3.1</em> <a class="iref" href="#rfc.xref.Part1.21">9.5.6</a></li> 1952 <li class="indline1"><em>Section 3.2.1</em> <a class="iref" href="#rfc.xref.Part1.8">2</a>, <a class="iref" href="#rfc.xref.Part1.10">2</a>, <a class="iref" href="#rfc.xref.Part1.14">2</a></li> 1953 <li class="indline1"><em>Section 3.3.1</em> <a class="iref" href="#rfc.xref.Part1.12">2</a></li> 1954 <li class="indline1"><em>Section 3.3.2</em> <a class="iref" href="#rfc.xref.Part1.9">2</a></li> 1955 <li class="indline1"><em>Section 3.5</em> <a class="iref" href="#rfc.xref.Part1.13">2</a>, <a class="iref" href="#rfc.xref.Part1.23">10.8</a>, <a class="iref" href="#rfc.xref.Part1.25">10.9</a></li> 1956 <li class="indline1"><em>Section 4.3</em> <a class="iref" href="#rfc.xref.Part1.18">7</a></li> 1957 <li class="indline1"><em>Section 7.2.3</em> <a class="iref" href="#rfc.xref.Part1.20">9.1.1</a>, <a class="iref" href="#rfc.xref.Part1.22">10.2</a></li> 1958 <li class="indline1"><em>Section 8.4</em> <a class="iref" href="#rfc.xref.Part1.11">2</a>, <a class="iref" href="#rfc.xref.Part1.16">4</a></li> 1959 <li class="indline1"><em>Section 8.8</em> <a class="iref" href="#rfc.xref.Part1.15">2</a>, <a class="iref" href="#rfc.xref.Part1.17">4</a></li> 1960 <li class="indline1"><em>Section 8.9</em> <a class="iref" href="#rfc.xref.Part1.19">8.8</a>, <a class="iref" href="#rfc.xref.Part1.24">10.8</a>, <a class="iref" href="#rfc.xref.Part1.26">A.2</a></li> 1953 <li class="indline1"><em>Section 3.1</em> <a class="iref" href="#rfc.xref.Part1.20">9.5.6</a></li> 1954 <li class="indline1"><em>Section 3.2.1</em> <a class="iref" href="#rfc.xref.Part1.8">2</a>, <a class="iref" href="#rfc.xref.Part1.9">2</a>, <a class="iref" href="#rfc.xref.Part1.13">2</a></li> 1955 <li class="indline1"><em>Section 3.3.1</em> <a class="iref" href="#rfc.xref.Part1.11">2</a></li> 1956 <li class="indline1"><em>Section 3.5</em> <a class="iref" href="#rfc.xref.Part1.12">2</a>, <a class="iref" href="#rfc.xref.Part1.22">10.8</a>, <a class="iref" href="#rfc.xref.Part1.24">10.9</a></li> 1957 <li class="indline1"><em>Section 4.3</em> <a class="iref" href="#rfc.xref.Part1.17">7</a></li> 1958 <li class="indline1"><em>Section 7.2.3</em> <a class="iref" href="#rfc.xref.Part1.19">9.1.1</a>, <a class="iref" href="#rfc.xref.Part1.21">10.2</a></li> 1959 <li class="indline1"><em>Section 8.4</em> <a class="iref" href="#rfc.xref.Part1.10">2</a>, <a class="iref" href="#rfc.xref.Part1.15">4</a></li> 1960 <li class="indline1"><em>Section 8.8</em> <a class="iref" href="#rfc.xref.Part1.14">2</a>, <a class="iref" href="#rfc.xref.Part1.16">4</a></li> 1961 <li class="indline1"><em>Section 8.9</em> <a class="iref" href="#rfc.xref.Part1.18">8.8</a>, <a class="iref" href="#rfc.xref.Part1.23">10.8</a>, <a class="iref" href="#rfc.xref.Part1.25">A.2</a></li> 1961 1962 </ul> 1962 1963 </li> -
draft-ietf-httpbis/latest/p2-semantics.xml
r210 r212 27 27 <!ENTITY uri "<xref target='Part1' x:rel='#uri' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 28 28 <!ENTITY full-date "<xref target='Part1' x:rel='#full.date' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 29 <!ENTITY time-spans "<xref target='Part1' x:rel='#time.spans' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">30 29 <!ENTITY http-url "<xref target='Part1' x:rel='#http-url' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 31 30 <!ENTITY http-version "<xref target='Part1' x:rel='#http.version' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> … … 311 310 <figure><!--Part1--><artwork type="abnf2616"> 312 311 absoluteURI = <absoluteURI, defined in &general-syntax;> 313 delta-seconds = <delta-seconds, defined in &time-spans;>314 312 fragment = <fragment, defined in &general-syntax;> 315 313 Host = <Host, defined in &header-host;> … … 1944 1942 </t> 1945 1943 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Retry-After"/> 1946 Retry-After = "Retry-After" ":" ( HTTP-date | delta-seconds ) 1944 Retry-After = "Retry-After" ":" ( HTTP-date | delta-seconds ) 1945 </artwork></figure> 1946 <t> 1947 Time spans are non-negative decimal integers, representing time in 1948 seconds. 1949 </t> 1950 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="delta-seconds"/> 1951 delta-seconds = 1*DIGIT 1947 1952 </artwork></figure> 1948 1953 <t> … … 2695 2700 </t> 2696 2701 <t> 2697 Move definition of "delta-seconds" into Part1 as a common BNF element.2702 Copy definition of delta-seconds from Part6 instead of referencing it. 2698 2703 </t> 2699 2704 </list> -
draft-ietf-httpbis/latest/p6-cache.html
r210 r212 688 688 <p id="rfc.section.2.p.4">The ABNF rules below are defined in other parts:</p> 689 689 </div> 690 <div id="rfc.figure.u.3"></div><pre class="inline"> delta-seconds = <delta-seconds, defined in <a href="#Part1" id="rfc.xref.Part1.8"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#time.spans" title="Time Spans">Section 3.3.2</a>> 691 field-name = <field-name, defined in <a href="#Part1" id="rfc.xref.Part1.9"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#message.headers" title="Message Headers">Section 4.2</a>> 692 HTTP-date = <HTTP-date, defined in <a href="#Part1" id="rfc.xref.Part1.10"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#full.date" title="Full Date">Section 3.3.1</a>> 693 port = <port, defined in <a href="#Part1" id="rfc.xref.Part1.11"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#general.syntax" title="General Syntax">Section 3.2.1</a>> 694 pseudonym = <pseudonym, defined in <a href="#Part1" id="rfc.xref.Part1.12"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#header.via" title="Via">Section 8.9</a>> 695 uri-host = <uri-host, defined in <a href="#Part1" id="rfc.xref.Part1.13"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#general.syntax" title="General Syntax">Section 3.2.1</a>> 690 <div id="rfc.figure.u.3"></div><pre class="inline"> field-name = <field-name, defined in <a href="#Part1" id="rfc.xref.Part1.8"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#message.headers" title="Message Headers">Section 4.2</a>> 691 HTTP-date = <HTTP-date, defined in <a href="#Part1" id="rfc.xref.Part1.9"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#full.date" title="Full Date">Section 3.3.1</a>> 692 port = <port, defined in <a href="#Part1" id="rfc.xref.Part1.10"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#general.syntax" title="General Syntax">Section 3.2.1</a>> 693 pseudonym = <pseudonym, defined in <a href="#Part1" id="rfc.xref.Part1.11"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#header.via" title="Via">Section 8.9</a>> 694 uri-host = <uri-host, defined in <a href="#Part1" id="rfc.xref.Part1.12"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#general.syntax" title="General Syntax">Section 3.2.1</a>> 696 695 </pre><h1 id="rfc.section.3"><a href="#rfc.section.3">3.</a> <a id="caching.overview" href="#caching.overview">Overview</a></h1> 697 696 <h2 id="rfc.section.3.1"><a href="#rfc.section.3.1">3.1</a> <a id="cache.correctness" href="#cache.correctness">Cache Correctness</a></h2> … … 834 833 </p> 835 834 <p id="rfc.section.4.3.p.3">HTTP/1.1 requires origin servers to send a Date header, if possible, with every response, giving the time at which the response 836 was generated (see <a href="p1-messaging.html#header.date" title="Date">Section 8.3</a> of <a href="#Part1" id="rfc.xref.Part1.1 4"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>). We use the term "date_value" to denote the value of the Date header, in a form appropriate for arithmetic operations.835 was generated (see <a href="p1-messaging.html#header.date" title="Date">Section 8.3</a> of <a href="#Part1" id="rfc.xref.Part1.13"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>). We use the term "date_value" to denote the value of the Date header, in a form appropriate for arithmetic operations. 837 836 </p> 838 837 <p id="rfc.section.4.3.p.4">HTTP/1.1 uses the Age response-header to convey the estimated age of the response message when obtained from a cache. The … … 1006 1005 </ul> 1007 1006 <p id="rfc.section.7.1.p.3">All other headers defined by HTTP/1.1 are end-to-end headers.</p> 1008 <p id="rfc.section.7.1.p.4">Other hop-by-hop headers <em class="bcp14">MUST</em> be listed in a Connection header (<a href="p1-messaging.html#header.connection" title="Connection">Section 8.1</a> of <a href="#Part1" id="rfc.xref.Part1.1 5"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>).1007 <p id="rfc.section.7.1.p.4">Other hop-by-hop headers <em class="bcp14">MUST</em> be listed in a Connection header (<a href="p1-messaging.html#header.connection" title="Connection">Section 8.1</a> of <a href="#Part1" id="rfc.xref.Part1.14"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>). 1009 1008 </p> 1010 1009 <h2 id="rfc.section.7.2"><a href="#rfc.section.7.2">7.2</a> <a id="non-modifiable.headers" href="#non-modifiable.headers">Non-modifiable Headers</a></h2> … … 1041 1040 </dd> 1042 1041 </dl> 1043 <p id="rfc.section.7.2.p.7">The Content-Length field of a request or response is added or deleted according to the rules in <a href="p1-messaging.html#message.length" title="Message Length">Section 4.4</a> of <a href="#Part1" id="rfc.xref.Part1.1 6"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. A transparent proxy <em class="bcp14">MUST</em> preserve the entity-length (<a href="p3-payload.html#entity.length" title="Entity Length">Section 4.2.2</a> of <a href="#Part3" id="rfc.xref.Part3.1"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>) of the entity-body, although it <em class="bcp14">MAY</em> change the transfer-length (<a href="p1-messaging.html#message.length" title="Message Length">Section 4.4</a> of <a href="#Part1" id="rfc.xref.Part1.17"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>).1042 <p id="rfc.section.7.2.p.7">The Content-Length field of a request or response is added or deleted according to the rules in <a href="p1-messaging.html#message.length" title="Message Length">Section 4.4</a> of <a href="#Part1" id="rfc.xref.Part1.15"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. A transparent proxy <em class="bcp14">MUST</em> preserve the entity-length (<a href="p3-payload.html#entity.length" title="Entity Length">Section 4.2.2</a> of <a href="#Part3" id="rfc.xref.Part3.1"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>) of the entity-body, although it <em class="bcp14">MAY</em> change the transfer-length (<a href="p1-messaging.html#message.length" title="Message Length">Section 4.4</a> of <a href="#Part1" id="rfc.xref.Part1.16"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>). 1044 1043 </p> 1045 1044 <h2 id="rfc.section.7.3"><a href="#rfc.section.7.3">7.3</a> <a id="combining.headers" href="#combining.headers">Combining Headers</a></h2> … … 1089 1088 request can be transformed to the selecting request-headers in the second request by adding or removing linear white space 1090 1089 (LWS) at places where this is allowed by the corresponding BNF, and/or combining multiple message-header fields with the same 1091 field name following the rules about message headers in <a href="p1-messaging.html#message.headers" title="Message Headers">Section 4.2</a> of <a href="#Part1" id="rfc.xref.Part1.1 8"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>.1090 field name following the rules about message headers in <a href="p1-messaging.html#message.headers" title="Message Headers">Section 4.2</a> of <a href="#Part1" id="rfc.xref.Part1.17"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. 1092 1091 </p> 1093 1092 <p id="rfc.section.8.p.5">A Vary header field-value of "*" always fails to match and subsequent requests on that resource can only be properly interpreted … … 1207 1206 age-value = delta-seconds 1208 1207 </pre><p id="rfc.section.16.1.p.3">Age values are non-negative decimal integers, representing time in seconds.</p> 1209 <p id="rfc.section.16.1.p.4">If a cache receives a value larger than the largest positive integer it can represent, or if any of its age calculations overflows, 1208 <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.3"></span> delta-seconds = 1*DIGIT 1209 </pre><p id="rfc.section.16.1.p.5">If a cache receives a value larger than the largest positive integer it can represent, or if any of its age calculations overflows, 1210 1210 it <em class="bcp14">MUST</em> transmit an Age header with a value of 2147483648 (2^31). An HTTP/1.1 server that includes a cache <em class="bcp14">MUST</em> include an Age header field in every response generated from its own cache. Caches <em class="bcp14">SHOULD</em> use an arithmetic type of at least 31 bits of range. 1211 1211 </p> … … 1226 1226 a specific cache. 1227 1227 </p> 1228 <div id="rfc.figure.u.1 3"></div><pre class="inline"><span id="rfc.iref.g.3"></span><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span><span id="rfc.iref.g.6"></span><span id="rfc.iref.g.7"></span> Cache-Control = "Cache-Control" ":" 1#cache-directive1228 <div id="rfc.figure.u.14"></div><pre class="inline"><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> Cache-Control = "Cache-Control" ":" 1#cache-directive 1229 1229 1230 1230 cache-directive = cache-request-directive … … 1510 1510 an otherwise private response in their shared cache(s) could do so by including 1511 1511 </p> 1512 <div id="rfc.figure.u.1 4"></div><pre class="text"> Cache-Control: private, community="UCI"1512 <div id="rfc.figure.u.15"></div><pre class="text"> Cache-Control: private, community="UCI" 1513 1513 </pre><p id="rfc.section.16.2.6.p.5">A cache seeing this header field will act correctly even if the cache does not understand the community cache-extension, since 1514 1514 it will also see and understand the private directive and thus default to the safe behavior. … … 1528 1528 that time. 1529 1529 </p> 1530 <p id="rfc.section.16.3.p.3">The format is an absolute date and time as defined by HTTP-date in <a href="p1-messaging.html#full.date" title="Full Date">Section 3.3.1</a> of <a href="#Part1" id="rfc.xref.Part1.1 9"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>; it <em class="bcp14">MUST</em> be sent in rfc1123-date format.1531 </p> 1532 <div id="rfc.figure.u.1 5"></div><pre class="inline"><span id="rfc.iref.g.8"></span> Expires = "Expires" ":" HTTP-date1530 <p id="rfc.section.16.3.p.3">The format is an absolute date and time as defined by HTTP-date in <a href="p1-messaging.html#full.date" title="Full Date">Section 3.3.1</a> of <a href="#Part1" id="rfc.xref.Part1.18"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>; it <em class="bcp14">MUST</em> be sent in rfc1123-date format. 1531 </p> 1532 <div id="rfc.figure.u.16"></div><pre class="inline"><span id="rfc.iref.g.9"></span> Expires = "Expires" ":" HTTP-date 1533 1533 </pre><p id="rfc.section.16.3.p.5">An example of its use is</p> 1534 <div id="rfc.figure.u.1 6"></div><pre class="text"> Expires: Thu, 01 Dec 1994 16:00:00 GMT1534 <div id="rfc.figure.u.17"></div><pre class="text"> Expires: Thu, 01 Dec 1994 16:00:00 GMT 1535 1535 </pre><p id="rfc.section.16.3.p.7"> </p> 1536 1536 <dl class="empty"> … … 1557 1557 systems <em class="bcp14">MAY</em> require that behavior be consistent with the directives. 1558 1558 </p> 1559 <div id="rfc.figure.u.1 7"></div><pre class="inline"><span id="rfc.iref.g.9"></span><span id="rfc.iref.g.10"></span><span id="rfc.iref.g.11"></span> Pragma = "Pragma" ":" 1#pragma-directive1559 <div id="rfc.figure.u.18"></div><pre class="inline"><span id="rfc.iref.g.10"></span><span id="rfc.iref.g.11"></span><span id="rfc.iref.g.12"></span> Pragma = "Pragma" ":" 1#pragma-directive 1560 1560 pragma-directive = "no-cache" | extension-pragma 1561 1561 extension-pragma = token [ "=" ( token | quoted-string ) ] … … 1584 1584 appropriate representation. See <a href="#caching.negotiated.responses" title="Caching Negotiated Responses">Section 8</a> for use of the Vary header field by caches. 1585 1585 </p> 1586 <div id="rfc.figure.u.1 8"></div><pre class="inline"><span id="rfc.iref.g.12"></span> Vary = "Vary" ":" ( "*" | 1#field-name )1586 <div id="rfc.figure.u.19"></div><pre class="inline"><span id="rfc.iref.g.13"></span> Vary = "Vary" ":" ( "*" | 1#field-name ) 1587 1587 </pre><p id="rfc.section.16.5.p.3">An HTTP/1.1 server <em class="bcp14">SHOULD</em> include a Vary header field with any cacheable response that is subject to server-driven negotiation. Doing so allows a cache 1588 1588 to properly interpret future requests on that resource and informs the user agent about the presence of negotiation on that … … 1609 1609 </p> 1610 1610 <p id="rfc.section.16.6.p.2">Warning headers are sent with responses using:</p> 1611 <div id="rfc.figure.u. 19"></div><pre class="inline"><span id="rfc.iref.g.13"></span><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span><span id="rfc.iref.g.16"></span><span id="rfc.iref.g.17"></span><span id="rfc.iref.g.18"></span> Warning = "Warning" ":" 1#warning-value1611 <div id="rfc.figure.u.20"></div><pre class="inline"><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span><span id="rfc.iref.g.16"></span><span id="rfc.iref.g.17"></span><span id="rfc.iref.g.18"></span><span id="rfc.iref.g.19"></span> Warning = "Warning" ":" 1#warning-value 1612 1612 1613 1613 warning-value = warn-code SP warn-agent SP warn-text … … 1795 1795 <p id="rfc.section.A.1.p.2">Transfer-coding and message lengths all interact in ways that required fixing exactly when chunked encoding is used (to allow 1796 1796 for transfer encoding that may not be self delimiting); it was important to straighten out exactly how message lengths are 1797 computed. (<a href="#non-modifiable.headers" title="Non-modifiable Headers">Section 7.2</a>, see also <a href="#Part1" id="rfc.xref.Part1. 20"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="#Part3" id="rfc.xref.Part3.3"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a> and <a href="#Part5" id="rfc.xref.Part5.3"><cite title="HTTP/1.1, part 5: Range Requests and Partial Responses">[Part5]</cite></a>)1797 computed. (<a href="#non-modifiable.headers" title="Non-modifiable Headers">Section 7.2</a>, see also <a href="#Part1" id="rfc.xref.Part1.19"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="#Part3" id="rfc.xref.Part3.3"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a> and <a href="#Part5" id="rfc.xref.Part5.3"><cite title="HTTP/1.1, part 5: Range Requests and Partial Responses">[Part5]</cite></a>) 1798 1798 </p> 1799 1799 <p id="rfc.section.A.1.p.3">Proxies should be able to add Content-Length when appropriate. (<a href="#non-modifiable.headers" title="Non-modifiable Headers">Section 7.2</a>) … … 1850 1850 </li> 1851 1851 </ul> 1852 <p id="rfc.section.B.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>>): 1853 </p> 1852 <p id="rfc.section.B.3.p.2">Other changes: </p> 1854 1853 <ul> 1855 <li>Get rid of duplicate BNF rule names ("host" -> "uri-host").</li> 1854 <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>>) 1855 </li> 1856 1856 <li>Add explicit references to BNF syntax and rules imported from other parts of the specification.</li> 1857 <li>Move definition of "delta-seconds" into Part1 as a common BNF element.</li>1858 1857 </ul> 1859 1858 <h1><a id="rfc.copyright" href="#rfc.copyright">Full Copyright Statement</a></h1> … … 1932 1931 <li class="indline1"><tt>Age</tt> <a class="iref" href="#rfc.iref.g.1"><b>16.1</b></a></li> 1933 1932 <li class="indline1"><tt>age-value</tt> <a class="iref" href="#rfc.iref.g.2"><b>16.1</b></a></li> 1934 <li class="indline1"><tt>Cache-Control</tt> <a class="iref" href="#rfc.iref.g.3"><b>16.2</b></a></li> 1935 <li class="indline1"><tt>cache-directive</tt> <a class="iref" href="#rfc.iref.g.4"><b>16.2</b></a></li> 1936 <li class="indline1"><tt>cache-extension</tt> <a class="iref" href="#rfc.iref.g.7"><b>16.2</b></a></li> 1937 <li class="indline1"><tt>cache-request-directive</tt> <a class="iref" href="#rfc.iref.g.5"><b>16.2</b></a></li> 1938 <li class="indline1"><tt>cache-response-directive</tt> <a class="iref" href="#rfc.iref.g.6"><b>16.2</b></a></li> 1939 <li class="indline1"><tt>Expires</tt> <a class="iref" href="#rfc.iref.g.8"><b>16.3</b></a></li> 1940 <li class="indline1"><tt>extension-pragma</tt> <a class="iref" href="#rfc.iref.g.11"><b>16.4</b></a></li> 1941 <li class="indline1"><tt>Pragma</tt> <a class="iref" href="#rfc.iref.g.9"><b>16.4</b></a></li> 1942 <li class="indline1"><tt>pragma-directive</tt> <a class="iref" href="#rfc.iref.g.10"><b>16.4</b></a></li> 1943 <li class="indline1"><tt>Vary</tt> <a class="iref" href="#rfc.iref.g.12"><b>16.5</b></a></li> 1944 <li class="indline1"><tt>warn-agent</tt> <a class="iref" href="#rfc.iref.g.16"><b>16.6</b></a></li> 1945 <li class="indline1"><tt>warn-code</tt> <a class="iref" href="#rfc.iref.g.15"><b>16.6</b></a></li> 1946 <li class="indline1"><tt>warn-date</tt> <a class="iref" href="#rfc.iref.g.18"><b>16.6</b></a></li> 1947 <li class="indline1"><tt>warn-text</tt> <a class="iref" href="#rfc.iref.g.17"><b>16.6</b></a></li> 1948 <li class="indline1"><tt>Warning</tt> <a class="iref" href="#rfc.iref.g.13"><b>16.6</b></a></li> 1949 <li class="indline1"><tt>warning-value</tt> <a class="iref" href="#rfc.iref.g.14"><b>16.6</b></a></li> 1933 <li class="indline1"><tt>Cache-Control</tt> <a class="iref" href="#rfc.iref.g.4"><b>16.2</b></a></li> 1934 <li class="indline1"><tt>cache-directive</tt> <a class="iref" href="#rfc.iref.g.5"><b>16.2</b></a></li> 1935 <li class="indline1"><tt>cache-extension</tt> <a class="iref" href="#rfc.iref.g.8"><b>16.2</b></a></li> 1936 <li class="indline1"><tt>cache-request-directive</tt> <a class="iref" href="#rfc.iref.g.6"><b>16.2</b></a></li> 1937 <li class="indline1"><tt>cache-response-directive</tt> <a class="iref" href="#rfc.iref.g.7"><b>16.2</b></a></li> 1938 <li class="indline1"><tt>delta-seconds</tt> <a class="iref" href="#rfc.iref.g.3"><b>16.1</b></a></li> 1939 <li class="indline1"><tt>Expires</tt> <a class="iref" href="#rfc.iref.g.9"><b>16.3</b></a></li> 1940 <li class="indline1"><tt>extension-pragma</tt> <a class="iref" href="#rfc.iref.g.12"><b>16.4</b></a></li> 1941 <li class="indline1"><tt>Pragma</tt> <a class="iref" href="#rfc.iref.g.10"><b>16.4</b></a></li> 1942 <li class="indline1"><tt>pragma-directive</tt> <a class="iref" href="#rfc.iref.g.11"><b>16.4</b></a></li> 1943 <li class="indline1"><tt>Vary</tt> <a class="iref" href="#rfc.iref.g.13"><b>16.5</b></a></li> 1944 <li class="indline1"><tt>warn-agent</tt> <a class="iref" href="#rfc.iref.g.17"><b>16.6</b></a></li> 1945 <li class="indline1"><tt>warn-code</tt> <a class="iref" href="#rfc.iref.g.16"><b>16.6</b></a></li> 1946 <li class="indline1"><tt>warn-date</tt> <a class="iref" href="#rfc.iref.g.19"><b>16.6</b></a></li> 1947 <li class="indline1"><tt>warn-text</tt> <a class="iref" href="#rfc.iref.g.18"><b>16.6</b></a></li> 1948 <li class="indline1"><tt>Warning</tt> <a class="iref" href="#rfc.iref.g.14"><b>16.6</b></a></li> 1949 <li class="indline1"><tt>warning-value</tt> <a class="iref" href="#rfc.iref.g.15"><b>16.6</b></a></li> 1950 1950 </ul> 1951 1951 </li> … … 2020 2020 </li> 2021 2021 <li class="indline0"><a id="rfc.index.P" href="#rfc.index.P"><b>P</b></a><ul class="ind"> 2022 <li class="indline1"><em>Part1</em> <a class="iref" href="#rfc.xref.Part1.1">2</a>, <a class="iref" href="#rfc.xref.Part1.2">2</a>, <a class="iref" href="#rfc.xref.Part1.3">2</a>, <a class="iref" href="#rfc.xref.Part1.4">2</a>, <a class="iref" href="#rfc.xref.Part1.5">2</a>, <a class="iref" href="#rfc.xref.Part1.6">2</a>, <a class="iref" href="#rfc.xref.Part1.7">2</a>, <a class="iref" href="#rfc.xref.Part1.8">2</a>, <a class="iref" href="#rfc.xref.Part1.9">2</a>, <a class="iref" href="#rfc.xref.Part1.10">2</a>, <a class="iref" href="#rfc.xref.Part1.11">2</a>, <a class="iref" href="#rfc.xref.Part1.12">2</a>, <a class="iref" href="#rfc.xref.Part1.13"> 2</a>, <a class="iref" href="#rfc.xref.Part1.14">4.3</a>, <a class="iref" href="#rfc.xref.Part1.15">7.1</a>, <a class="iref" href="#rfc.xref.Part1.16">7.2</a>, <a class="iref" href="#rfc.xref.Part1.17">7.2</a>, <a class="iref" href="#rfc.xref.Part1.18">8</a>, <a class="iref" href="#rfc.xref.Part1.19">16.3</a>, <a class="iref" href="#Part1"><b>20.1</b></a>, <a class="iref" href="#rfc.xref.Part1.20">A.1</a><ul class="ind">2022 <li class="indline1"><em>Part1</em> <a class="iref" href="#rfc.xref.Part1.1">2</a>, <a class="iref" href="#rfc.xref.Part1.2">2</a>, <a class="iref" href="#rfc.xref.Part1.3">2</a>, <a class="iref" href="#rfc.xref.Part1.4">2</a>, <a class="iref" href="#rfc.xref.Part1.5">2</a>, <a class="iref" href="#rfc.xref.Part1.6">2</a>, <a class="iref" href="#rfc.xref.Part1.7">2</a>, <a class="iref" href="#rfc.xref.Part1.8">2</a>, <a class="iref" href="#rfc.xref.Part1.9">2</a>, <a class="iref" href="#rfc.xref.Part1.10">2</a>, <a class="iref" href="#rfc.xref.Part1.11">2</a>, <a class="iref" href="#rfc.xref.Part1.12">2</a>, <a class="iref" href="#rfc.xref.Part1.13">4.3</a>, <a class="iref" href="#rfc.xref.Part1.14">7.1</a>, <a class="iref" href="#rfc.xref.Part1.15">7.2</a>, <a class="iref" href="#rfc.xref.Part1.16">7.2</a>, <a class="iref" href="#rfc.xref.Part1.17">8</a>, <a class="iref" href="#rfc.xref.Part1.18">16.3</a>, <a class="iref" href="#Part1"><b>20.1</b></a>, <a class="iref" href="#rfc.xref.Part1.19">A.1</a><ul class="ind"> 2023 2023 <li class="indline1"><em>Section 2.1</em> <a class="iref" href="#rfc.xref.Part1.1">2</a></li> 2024 2024 <li class="indline1"><em>Section 2.2</em> <a class="iref" href="#rfc.xref.Part1.2">2</a>, <a class="iref" href="#rfc.xref.Part1.3">2</a>, <a class="iref" href="#rfc.xref.Part1.4">2</a>, <a class="iref" href="#rfc.xref.Part1.5">2</a>, <a class="iref" href="#rfc.xref.Part1.6">2</a>, <a class="iref" href="#rfc.xref.Part1.7">2</a></li> 2025 <li class="indline1"><em>Section 3.2.1</em> <a class="iref" href="#rfc.xref.Part1.11">2</a>, <a class="iref" href="#rfc.xref.Part1.13">2</a></li> 2026 <li class="indline1"><em>Section 3.3.1</em> <a class="iref" href="#rfc.xref.Part1.10">2</a>, <a class="iref" href="#rfc.xref.Part1.19">16.3</a></li> 2027 <li class="indline1"><em>Section 3.3.2</em> <a class="iref" href="#rfc.xref.Part1.8">2</a></li> 2028 <li class="indline1"><em>Section 4.2</em> <a class="iref" href="#rfc.xref.Part1.9">2</a>, <a class="iref" href="#rfc.xref.Part1.18">8</a></li> 2029 <li class="indline1"><em>Section 4.4</em> <a class="iref" href="#rfc.xref.Part1.16">7.2</a>, <a class="iref" href="#rfc.xref.Part1.17">7.2</a></li> 2030 <li class="indline1"><em>Section 8.1</em> <a class="iref" href="#rfc.xref.Part1.15">7.1</a></li> 2031 <li class="indline1"><em>Section 8.3</em> <a class="iref" href="#rfc.xref.Part1.14">4.3</a></li> 2032 <li class="indline1"><em>Section 8.9</em> <a class="iref" href="#rfc.xref.Part1.12">2</a></li> 2025 <li class="indline1"><em>Section 3.2.1</em> <a class="iref" href="#rfc.xref.Part1.10">2</a>, <a class="iref" href="#rfc.xref.Part1.12">2</a></li> 2026 <li class="indline1"><em>Section 3.3.1</em> <a class="iref" href="#rfc.xref.Part1.9">2</a>, <a class="iref" href="#rfc.xref.Part1.18">16.3</a></li> 2027 <li class="indline1"><em>Section 4.2</em> <a class="iref" href="#rfc.xref.Part1.8">2</a>, <a class="iref" href="#rfc.xref.Part1.17">8</a></li> 2028 <li class="indline1"><em>Section 4.4</em> <a class="iref" href="#rfc.xref.Part1.15">7.2</a>, <a class="iref" href="#rfc.xref.Part1.16">7.2</a></li> 2029 <li class="indline1"><em>Section 8.1</em> <a class="iref" href="#rfc.xref.Part1.14">7.1</a></li> 2030 <li class="indline1"><em>Section 8.3</em> <a class="iref" href="#rfc.xref.Part1.13">4.3</a></li> 2031 <li class="indline1"><em>Section 8.9</em> <a class="iref" href="#rfc.xref.Part1.11">2</a></li> 2033 2032 </ul> 2034 2033 </li> -
draft-ietf-httpbis/latest/p6-cache.xml
r210 r212 18 18 <!ENTITY basic-rules "<xref target='Part1' x:rel='#basic.rules' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 19 19 <!ENTITY general-syntax "<xref target='Part1' x:rel='#general.syntax' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 20 <!ENTITY time-spans "<xref target='Part1' x:rel='#time.spans' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">21 20 <!ENTITY messaging "<xref target='Part1' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 22 21 <!ENTITY conditional "<xref target='Part4' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> … … 449 448 </t> 450 449 <figure><!--Part1--><artwork type="abnf2616"> 451 delta-seconds = <delta-seconds, defined in &time-spans;>452 450 field-name = <field-name, defined in &message-headers;> 453 451 HTTP-date = <HTTP-date, defined in &full-date;> … … 1510 1508 seconds. 1511 1509 </t> 1510 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="delta-seconds"/> 1511 delta-seconds = 1*DIGIT 1512 </artwork></figure> 1512 1513 <t> 1513 1514 If a cache receives a value larger than the largest positive … … 2890 2891 </t> 2891 2892 <t> 2892 O ngoing work on ABNF conversion (<eref target="http://www3.tools.ietf.org/wg/httpbis/trac/ticket/36"/>):2893 Other changes: 2893 2894 <list style="symbols"> 2894 2895 <t> 2895 Get rid of duplicate BNF rule names ("host" -> "uri-host"). 2896 Get rid of duplicate BNF rule names ("host" -> "uri-host") 2897 (work in progress on <eref target="http://www3.tools.ietf.org/wg/httpbis/trac/ticket/36"/>) 2896 2898 </t> 2897 2899 <t> 2898 2900 Add explicit references to BNF syntax and rules imported from other parts of the specification. 2899 2901 </t> 2900 <t>2901 Move definition of "delta-seconds" into Part1 as a common BNF element.2902 </t>2903 2902 </list> 2904 2903 </t>
Note: See TracChangeset
for help on using the changeset viewer.