Changeset 334 for draft-ietf-httpbis
- Timestamp:
- 05/11/08 14:50:10 (14 years ago)
- Location:
- draft-ietf-httpbis/latest
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p1-messaging.html
r331 r334 476 476 <tr> 477 477 <td class="header left"></td> 478 <td class="header right">November 1, 2008</td>478 <td class="header right">November 5, 2008</td> 479 479 </tr> 480 480 </table> … … 906 906 <dd>Quotation marks surround literal text. Unless stated otherwise, the text is case-insensitive.</dd> 907 907 </dl> 908 <p id="rfc.section.2.1.p.4">rule1 |rule2 </p>909 <dl class="empty"> 910 <dd>Elements separated by a bar ("|") are alternatives, e.g., "yes |no" will accept yes or no.</dd>908 <p id="rfc.section.2.1.p.4">rule1 / rule2 </p> 909 <dl class="empty"> 910 <dd>Elements separated by a forward slash ("/") are alternatives, e.g., "yes / no" will accept yes or no.</dd> 911 911 </dl> 912 912 <p id="rfc.section.2.1.p.5">(rule1 rule2) </p> 913 913 <dl class="empty"> 914 <dd>Elements enclosed in parentheses are treated as a single element. Thus, "(elem (foo |bar) elem)" allows the token sequences914 <dd>Elements enclosed in parentheses are treated as a single element. Thus, "(elem (foo / bar) elem)" allows the token sequences 915 915 "elem foo elem" and "elem bar elem". 916 916 </dd> … … 973 973 <a href="#core.rules" class="smpl">CHAR</a> = %x01-7F 974 974 ; any US-ASCII character, excluding NUL 975 <a href="#core.rules" class="smpl">ALPHA</a> = %x41-5A |%x61-7A976 ; A-Z |a-z975 <a href="#core.rules" class="smpl">ALPHA</a> = %x41-5A / %x61-7A 976 ; A-Z / a-z 977 977 <a href="#core.rules" class="smpl">DIGIT</a> = %x30-39 978 978 ; any US-ASCII digit "0".."9" 979 <a href="#core.rules" class="smpl">CTL</a> = %x00-1F |%x7F979 <a href="#core.rules" class="smpl">CTL</a> = %x00-1F / %x7F 980 980 ; (octets 0 - 31) and DEL (127) 981 981 <a href="#core.rules" class="smpl">CR</a> = %x0D … … 1000 1000 </p> 1001 1001 </div> 1002 <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g.13"></span> <a href="#rule.LWS" class="smpl">LWS</a> = [<a href="#rule.CRLF" class="smpl">CRLF</a>] 1*( <a href="#core.rules" class="smpl">SP</a> |<a href="#core.rules" class="smpl">HTAB</a> )1002 <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g.13"></span> <a href="#rule.LWS" class="smpl">LWS</a> = [<a href="#rule.CRLF" class="smpl">CRLF</a>] 1*( <a href="#core.rules" class="smpl">SP</a> / <a href="#core.rules" class="smpl">HTAB</a> ) 1003 1003 </pre><div id="rule.TEXT"> 1004 1004 <p id="rfc.section.2.2.p.7"> The TEXT rule is only used for descriptive field contents and values that are not intended to be interpreted by the message … … 1006 1006 </p> 1007 1007 </div> 1008 <div id="rfc.figure.u.9"></div><pre class="inline"><span id="rfc.iref.g.14"></span> <a href="#rule.TEXT" class="smpl">TEXT</a> = %x20-7E | %x80-FF |<a href="#rule.LWS" class="smpl">LWS</a>1008 <div id="rfc.figure.u.9"></div><pre class="inline"><span id="rfc.iref.g.14"></span> <a href="#rule.TEXT" class="smpl">TEXT</a> = %x20-7E / %x80-FF / <a href="#rule.LWS" class="smpl">LWS</a> 1009 1009 ; any <a href="#core.rules" class="smpl">OCTET</a> except <a href="#core.rules" class="smpl">CTL</a>s, but including <a href="#rule.LWS" class="smpl">LWS</a> 1010 1010 </pre><p id="rfc.section.2.2.p.9">A CRLF is allowed in the definition of TEXT only as part of a header field continuation. It is expected that the folding LWS … … 1014 1014 <p id="rfc.section.2.2.p.10"> Hexadecimal numeric characters are used in several protocol elements.</p> 1015 1015 </div> 1016 <div id="rfc.figure.u.10"></div><pre class="inline"><span id="rfc.iref.g.15"></span> <a href="#rule.HEXDIG" class="smpl">HEXDIG</a> = "A" | "B" | "C" | "D" | "E" |"F"1017 | "a" | "b" | "c" | "d" | "e" | "f" |<a href="#core.rules" class="smpl">DIGIT</a>1016 <div id="rfc.figure.u.10"></div><pre class="inline"><span id="rfc.iref.g.15"></span> <a href="#rule.HEXDIG" class="smpl">HEXDIG</a> = "A" / "B" / "C" / "D" / "E" / "F" 1017 / "a" / "b" / "c" / "d" / "e" / "f" / <a href="#core.rules" class="smpl">DIGIT</a> 1018 1018 </pre><div id="rule.token.separators"> 1019 1019 <p id="rfc.section.2.2.p.12"> Many HTTP/1.1 header field values consist of words separated by LWS or special characters. These special characters <em class="bcp14">MUST</em> be in a quoted string to be used within a parameter value (as defined in <a href="#transfer.codings" title="Transfer Codings">Section 3.4</a>). 1020 1020 </p> 1021 1021 </div> 1022 <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.16"></span><span id="rfc.iref.g.17"></span><span id="rfc.iref.g.18"></span> <a href="#rule.token.separators" class="smpl">separators</a> = "(" | ")" | "<" | ">" |"@"1023 | "," | ";" | ":" | "\" |<a href="#core.rules" class="smpl">DQUOTE</a>1024 | "/" | "[" | "]" | "?" |"="1025 | "{" | "}" | <a href="#core.rules" class="smpl">SP</a> |<a href="#core.rules" class="smpl">HTAB</a>1022 <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.16"></span><span id="rfc.iref.g.17"></span><span id="rfc.iref.g.18"></span> <a href="#rule.token.separators" class="smpl">separators</a> = "(" / ")" / "<" / ">" / "@" 1023 / "," / ";" / ":" / "\" / <a href="#core.rules" class="smpl">DQUOTE</a> 1024 / "/" / "[" / "]" / "?" / "=" 1025 / "{" / "}" / <a href="#core.rules" class="smpl">SP</a> / <a href="#core.rules" class="smpl">HTAB</a> 1026 1026 1027 <a href="#rule.token.separators" class="smpl">tchar</a> = "!" | "#" | "$" | "%" | "&" | "'" |"*"1028 | "+" | "-" | "." | "^" | "_" | "`" | "|" |"~"1029 | <a href="#core.rules" class="smpl">DIGIT</a> |<a href="#core.rules" class="smpl">ALPHA</a>1027 <a href="#rule.token.separators" class="smpl">tchar</a> = "!" / "#" / "$" / "%" / "&" / "'" / "*" 1028 / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~" 1029 / <a href="#core.rules" class="smpl">DIGIT</a> / <a href="#core.rules" class="smpl">ALPHA</a> 1030 1030 ; any <a href="#core.rules" class="smpl">CHAR</a> except <a href="#core.rules" class="smpl">CTL</a>s or <a href="#rule.token.separators" class="smpl">separators</a> 1031 1031 … … 1037 1037 </p> 1038 1038 </div> 1039 <div id="rfc.figure.u.12"></div><pre class="inline"><span id="rfc.iref.g.19"></span><span id="rfc.iref.g.20"></span> <a href="#rule.comment" class="smpl">comment</a> = "(" *( <a href="#rule.comment" class="smpl">ctext</a> | <a href="#rule.quoted-pair" class="smpl">quoted-pair</a> |<a href="#rule.comment" class="smpl">comment</a> ) ")"1039 <div id="rfc.figure.u.12"></div><pre class="inline"><span id="rfc.iref.g.19"></span><span id="rfc.iref.g.20"></span> <a href="#rule.comment" class="smpl">comment</a> = "(" *( <a href="#rule.comment" class="smpl">ctext</a> / <a href="#rule.quoted-pair" class="smpl">quoted-pair</a> / <a href="#rule.comment" class="smpl">comment</a> ) ")" 1040 1040 <a href="#rule.comment" class="smpl">ctext</a> = <any <a href="#rule.TEXT" class="smpl">TEXT</a> excluding "(" and ")"> 1041 1041 </pre><div id="rule.quoted-string"> 1042 1042 <p id="rfc.section.2.2.p.16"> A string of text is parsed as a single word if it is quoted using double-quote marks.</p> 1043 1043 </div> 1044 <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.21"></span><span id="rfc.iref.g.22"></span> <a href="#rule.quoted-string" class="smpl">quoted-string</a> = ( <a href="#core.rules" class="smpl">DQUOTE</a> *(<a href="#rule.quoted-string" class="smpl">qdtext</a> |<a href="#rule.quoted-pair" class="smpl">quoted-pair</a> ) <a href="#core.rules" class="smpl">DQUOTE</a> )1044 <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.21"></span><span id="rfc.iref.g.22"></span> <a href="#rule.quoted-string" class="smpl">quoted-string</a> = ( <a href="#core.rules" class="smpl">DQUOTE</a> *(<a href="#rule.quoted-string" class="smpl">qdtext</a> / <a href="#rule.quoted-pair" class="smpl">quoted-pair</a> ) <a href="#core.rules" class="smpl">DQUOTE</a> ) 1045 1045 <a href="#rule.quoted-string" class="smpl">qdtext</a> = <any <a href="#rule.TEXT" class="smpl">TEXT</a> excluding <a href="#core.rules" class="smpl">DQUOTE</a> and "\"> 1046 1046 </pre><div id="rule.quoted-pair"> … … 1048 1048 </p> 1049 1049 </div> 1050 <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.23"></span><span id="rfc.iref.g.24"></span> <a href="#rule.quoted-pair" class="smpl">quoted-text</a> = %x01-09 |1051 %x0B-0C |1050 <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.23"></span><span id="rfc.iref.g.24"></span> <a href="#rule.quoted-pair" class="smpl">quoted-text</a> = %x01-09 / 1051 %x0B-0C / 1052 1052 %x0E-FF ; Characters excluding NUL, <a href="#core.rules" class="smpl">CR</a> and <a href="#core.rules" class="smpl">LF</a> 1053 1053 <a href="#rule.quoted-pair" class="smpl">quoted-pair</a> = "\" <a href="#rule.quoted-pair" class="smpl">quoted-text</a> … … 1170 1170 time zone, and <em class="bcp14">MUST</em> be assumed when reading the asctime format. HTTP-date is case sensitive and <em class="bcp14">MUST NOT</em> include additional LWS beyond that specifically included as SP in the grammar. 1171 1171 </p> 1172 <div id="rfc.figure.u.23"></div><pre class="inline"><span id="rfc.iref.g.35"></span><span id="rfc.iref.g.36"></span><span id="rfc.iref.g.37"></span><span id="rfc.iref.g.38"></span><span id="rfc.iref.g.39"></span><span id="rfc.iref.g.40"></span><span id="rfc.iref.g.41"></span><span id="rfc.iref.g.42"></span><span id="rfc.iref.g.43"></span><span id="rfc.iref.g.44"></span><span id="rfc.iref.g.45"></span><span id="rfc.iref.g.46"></span> <a href="#full.date" class="smpl">HTTP-date</a> = <a href="#full.date" class="smpl">rfc1123-date</a> |<a href="#full.date" class="smpl">obsolete-date</a>1173 <a href="#full.date" class="smpl">obsolete-date</a> = <a href="#full.date" class="smpl">rfc850-date</a> |<a href="#full.date" class="smpl">asctime-date</a>1172 <div id="rfc.figure.u.23"></div><pre class="inline"><span id="rfc.iref.g.35"></span><span id="rfc.iref.g.36"></span><span id="rfc.iref.g.37"></span><span id="rfc.iref.g.38"></span><span id="rfc.iref.g.39"></span><span id="rfc.iref.g.40"></span><span id="rfc.iref.g.41"></span><span id="rfc.iref.g.42"></span><span id="rfc.iref.g.43"></span><span id="rfc.iref.g.44"></span><span id="rfc.iref.g.45"></span><span id="rfc.iref.g.46"></span> <a href="#full.date" class="smpl">HTTP-date</a> = <a href="#full.date" class="smpl">rfc1123-date</a> / <a href="#full.date" class="smpl">obsolete-date</a> 1173 <a href="#full.date" class="smpl">obsolete-date</a> = <a href="#full.date" class="smpl">rfc850-date</a> / <a href="#full.date" class="smpl">asctime-date</a> 1174 1174 <a href="#full.date" class="smpl">rfc1123-date</a> = <a href="#full.date" class="smpl">wkday</a> "," <a href="#core.rules" class="smpl">SP</a> date1 <a href="#core.rules" class="smpl">SP</a> time <a href="#core.rules" class="smpl">SP</a> GMT 1175 1175 <a href="#full.date" class="smpl">rfc850-date</a> = <a href="#full.date" class="smpl">weekday</a> "," <a href="#core.rules" class="smpl">SP</a> date2 <a href="#core.rules" class="smpl">SP</a> time <a href="#core.rules" class="smpl">SP</a> GMT … … 1179 1179 <a href="#full.date" class="smpl">date2</a> = 2<a href="#core.rules" class="smpl">DIGIT</a> "-" <a href="#full.date" class="smpl">month</a> "-" 2<a href="#core.rules" class="smpl">DIGIT</a> 1180 1180 ; day-month-year (e.g., 02-Jun-82) 1181 <a href="#full.date" class="smpl">date3</a> = <a href="#full.date" class="smpl">month</a> <a href="#core.rules" class="smpl">SP</a> ( 2<a href="#core.rules" class="smpl">DIGIT</a> |( <a href="#core.rules" class="smpl">SP</a> 1<a href="#core.rules" class="smpl">DIGIT</a> ))1181 <a href="#full.date" class="smpl">date3</a> = <a href="#full.date" class="smpl">month</a> <a href="#core.rules" class="smpl">SP</a> ( 2<a href="#core.rules" class="smpl">DIGIT</a> / ( <a href="#core.rules" class="smpl">SP</a> 1<a href="#core.rules" class="smpl">DIGIT</a> )) 1182 1182 ; month day (e.g., Jun 2) 1183 1183 <a href="#full.date" class="smpl">time</a> = 2<a href="#core.rules" class="smpl">DIGIT</a> ":" 2<a href="#core.rules" class="smpl">DIGIT</a> ":" 2<a href="#core.rules" class="smpl">DIGIT</a> 1184 1184 ; 00:00:00 - 23:59:59 1185 <a href="#full.date" class="smpl">wkday</a> = s-Mon | s-Tue |s-Wed1186 | s-Thu | s-Fri | s-Sat |s-Sun1187 <a href="#full.date" class="smpl">weekday</a> = l-Mon | l-Tue |l-Wed1188 | l-Thu | l-Fri | l-Sat |l-Sun1189 <a href="#full.date" class="smpl">month</a> = s-Jan | s-Feb | s-Mar |s-Apr1190 | s-May | s-Jun | s-Jul |s-Aug1191 | s-Sep | s-Oct | s-Nov |s-Dec1185 <a href="#full.date" class="smpl">wkday</a> = s-Mon / s-Tue / s-Wed 1186 / s-Thu / s-Fri / s-Sat / s-Sun 1187 <a href="#full.date" class="smpl">weekday</a> = l-Mon / l-Tue / l-Wed 1188 / l-Thu / l-Fri / l-Sat / l-Sun 1189 <a href="#full.date" class="smpl">month</a> = s-Jan / s-Feb / s-Mar / s-Apr 1190 / s-May / s-Jun / s-Jul / s-Aug 1191 / s-Sep / s-Oct / s-Nov / s-Dec 1192 1192 1193 1193 GMT = %x47.4D.54 ; "GMT", case-sensitive … … 1229 1229 is a property of the message, not of the original entity. 1230 1230 </p> 1231 <div id="rfc.figure.u.24"></div><pre class="inline"><span id="rfc.iref.g.47"></span><span id="rfc.iref.g.48"></span> <a href="#transfer.codings" class="smpl">transfer-coding</a> = "chunked" |<a href="#transfer.codings" class="smpl">transfer-extension</a>1231 <div id="rfc.figure.u.24"></div><pre class="inline"><span id="rfc.iref.g.47"></span><span id="rfc.iref.g.48"></span> <a href="#transfer.codings" class="smpl">transfer-coding</a> = "chunked" / <a href="#transfer.codings" class="smpl">transfer-extension</a> 1232 1232 <a href="#transfer.codings" class="smpl">transfer-extension</a> = <a href="#rule.token.separators" class="smpl">token</a> *( ";" <a href="#transfer.codings" class="smpl">parameter</a> ) 1233 1233 </pre><div id="rule.parameter"> … … 1236 1236 <div id="rfc.figure.u.25"></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> <a href="#transfer.codings" class="smpl">parameter</a> = <a href="#rule.parameter" class="smpl">attribute</a> "=" <a href="#rule.parameter" class="smpl">value</a> 1237 1237 <a href="#rule.parameter" class="smpl">attribute</a> = <a href="#rule.token.separators" class="smpl">token</a> 1238 <a href="#rule.parameter" class="smpl">value</a> = <a href="#rule.token.separators" class="smpl">token</a> |<a href="#rule.quoted-string" class="smpl">quoted-string</a>1238 <a href="#rule.parameter" class="smpl">value</a> = <a href="#rule.token.separators" class="smpl">token</a> / <a href="#rule.quoted-string" class="smpl">quoted-string</a> 1239 1239 </pre><p id="rfc.section.3.4.p.5">All transfer-coding values are case-insensitive. HTTP/1.1 uses transfer-coding values in the TE header field (<a href="#header.te" id="rfc.xref.header.te.1" title="TE">Section 8.5</a>) and in the Transfer-Encoding header field (<a href="#header.transfer-encoding" id="rfc.xref.header.transfer-encoding.1" title="Transfer-Encoding">Section 8.7</a>). 1240 1240 </p> … … 1271 1271 <a href="#chunked.transfer.encoding" class="smpl">chunk-extension</a>= *( ";" <a href="#chunked.transfer.encoding" class="smpl">chunk-ext-name</a> [ "=" <a href="#chunked.transfer.encoding" class="smpl">chunk-ext-val</a> ] ) 1272 1272 <a href="#chunked.transfer.encoding" class="smpl">chunk-ext-name</a> = <a href="#rule.token.separators" class="smpl">token</a> 1273 <a href="#chunked.transfer.encoding" class="smpl">chunk-ext-val</a> = <a href="#rule.token.separators" class="smpl">token</a> |<a href="#rule.quoted-string" class="smpl">quoted-string</a>1273 <a href="#chunked.transfer.encoding" class="smpl">chunk-ext-val</a> = <a href="#rule.token.separators" class="smpl">token</a> / <a href="#rule.quoted-string" class="smpl">quoted-string</a> 1274 1274 <a href="#chunked.transfer.encoding" class="smpl">chunk-data</a> = 1*<a href="#core.rules" class="smpl">OCTET</a> ; a sequence of chunk-size octets 1275 1275 <a href="#chunked.transfer.encoding" class="smpl">trailer-part</a> = *(<a href="#abnf.dependencies" class="smpl">entity-header</a> <a href="#rule.CRLF" class="smpl">CRLF</a>) … … 1328 1328 <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> 1329 1329 <p id="rfc.section.4.1.p.1">HTTP messages consist of requests from client to server and responses from server to client.</p> 1330 <div id="rfc.figure.u.30"></div><pre class="inline"><span id="rfc.iref.g.63"></span> <a href="#message.types" class="smpl">HTTP-message</a> = <a href="#request" class="smpl">Request</a> |<a href="#response" class="smpl">Response</a> ; HTTP/1.1 messages1330 <div id="rfc.figure.u.30"></div><pre class="inline"><span id="rfc.iref.g.63"></span> <a href="#message.types" class="smpl">HTTP-message</a> = <a href="#request" class="smpl">Request</a> / <a href="#response" class="smpl">Response</a> ; HTTP/1.1 messages 1331 1331 </pre><p id="rfc.section.4.1.p.3">Request (<a href="#request" title="Request">Section 5</a>) and Response (<a href="#response" title="Response">Section 6</a>) messages use the generic message format of <a href="#RFC5322" id="rfc.xref.RFC5322.2"><cite title="Internet Message Format">[RFC5322]</cite></a> for transferring entities (the payload of the message). Both types of message consist of a start-line, zero or more header 1332 1332 fields (also known as "headers"), an empty line (i.e., a line with nothing preceding the CRLF) indicating the end of the header … … 1337 1337 <a href="#rule.CRLF" class="smpl">CRLF</a> 1338 1338 [ <a href="#message.body" class="smpl">message-body</a> ] 1339 <a href="#message.types" class="smpl">start-line</a> = <a href="#request-line" class="smpl">Request-Line</a> |<a href="#status-line" class="smpl">Status-Line</a>1339 <a href="#message.types" class="smpl">start-line</a> = <a href="#request-line" class="smpl">Request-Line</a> / <a href="#status-line" class="smpl">Status-Line</a> 1340 1340 </pre><p id="rfc.section.4.1.p.5">In the interest of robustness, servers <em class="bcp14">SHOULD</em> ignore any empty line(s) received where a Request-Line is expected. In other words, if the server is reading the protocol 1341 1341 stream at the beginning of a message and receives a CRLF first, it should ignore the CRLF. … … 1353 1353 <div id="rfc.figure.u.32"></div><pre class="inline"><span id="rfc.iref.g.66"></span><span id="rfc.iref.g.67"></span><span id="rfc.iref.g.68"></span><span id="rfc.iref.g.69"></span> <a href="#message.headers" class="smpl">message-header</a> = <a href="#message.headers" class="smpl">field-name</a> ":" [ <a href="#message.headers" class="smpl">field-value</a> ] 1354 1354 <a href="#message.headers" class="smpl">field-name</a> = <a href="#rule.token.separators" class="smpl">token</a> 1355 <a href="#message.headers" class="smpl">field-value</a> = *( <a href="#message.headers" class="smpl">field-content</a> |<a href="#rule.LWS" class="smpl">LWS</a> )1355 <a href="#message.headers" class="smpl">field-value</a> = *( <a href="#message.headers" class="smpl">field-content</a> / <a href="#rule.LWS" class="smpl">LWS</a> ) 1356 1356 <a href="#message.headers" class="smpl">field-content</a> = <field content> 1357 1357 ; the <a href="#core.rules" class="smpl">OCTET</a>s making up the field-value … … 1383 1383 </p> 1384 1384 <div id="rfc.figure.u.33"></div><pre class="inline"><span id="rfc.iref.g.70"></span> <a href="#message.body" class="smpl">message-body</a> = <a href="#abnf.dependencies" class="smpl">entity-body</a> 1385 |<entity-body encoded as per <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a>>1385 / <entity-body encoded as per <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a>> 1386 1386 </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 1387 1387 is a property of the message, not of the entity, and thus <em class="bcp14">MAY</em> be added or removed by any application along the request/response chain. (However, <a href="#transfer.codings" title="Transfer Codings">Section 3.4</a> places restrictions on when certain transfer-codings may be used.) … … 1451 1451 </p> 1452 1452 <div id="rfc.figure.u.34"></div><pre class="inline"><span id="rfc.iref.g.71"></span> <a href="#general.header.fields" class="smpl">general-header</a> = <a href="#abnf.dependencies" class="smpl">Cache-Control</a> ; <a href="#Part6" id="rfc.xref.Part6.6"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.cache-control" title="Cache-Control">Section 16.2</a> 1453 |<a href="#header.connection" class="smpl">Connection</a> ; <a href="#header.connection" id="rfc.xref.header.connection.1" title="Connection">Section 8.1</a>1454 |<a href="#header.date" class="smpl">Date</a> ; <a href="#header.date" id="rfc.xref.header.date.1" title="Date">Section 8.3</a>1455 |<a href="#abnf.dependencies" class="smpl">Pragma</a> ; <a href="#Part6" id="rfc.xref.Part6.7"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.pragma" title="Pragma">Section 16.4</a>1456 |<a href="#header.trailer" class="smpl">Trailer</a> ; <a href="#header.trailer" id="rfc.xref.header.trailer.2" title="Trailer">Section 8.6</a>1457 |<a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a> ; <a href="#header.transfer-encoding" id="rfc.xref.header.transfer-encoding.4" title="Transfer-Encoding">Section 8.7</a>1458 |<a href="#header.upgrade" class="smpl">Upgrade</a> ; <a href="#header.upgrade" id="rfc.xref.header.upgrade.1" title="Upgrade">Section 8.8</a>1459 |<a href="#header.via" class="smpl">Via</a> ; <a href="#header.via" id="rfc.xref.header.via.1" title="Via">Section 8.9</a>1460 |<a href="#abnf.dependencies" class="smpl">Warning</a> ; <a href="#Part6" id="rfc.xref.Part6.8"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.warning" title="Warning">Section 16.6</a>1453 / <a href="#header.connection" class="smpl">Connection</a> ; <a href="#header.connection" id="rfc.xref.header.connection.1" title="Connection">Section 8.1</a> 1454 / <a href="#header.date" class="smpl">Date</a> ; <a href="#header.date" id="rfc.xref.header.date.1" title="Date">Section 8.3</a> 1455 / <a href="#abnf.dependencies" class="smpl">Pragma</a> ; <a href="#Part6" id="rfc.xref.Part6.7"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.pragma" title="Pragma">Section 16.4</a> 1456 / <a href="#header.trailer" class="smpl">Trailer</a> ; <a href="#header.trailer" id="rfc.xref.header.trailer.2" title="Trailer">Section 8.6</a> 1457 / <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a> ; <a href="#header.transfer-encoding" id="rfc.xref.header.transfer-encoding.4" title="Transfer-Encoding">Section 8.7</a> 1458 / <a href="#header.upgrade" class="smpl">Upgrade</a> ; <a href="#header.upgrade" id="rfc.xref.header.upgrade.1" title="Upgrade">Section 8.8</a> 1459 / <a href="#header.via" class="smpl">Via</a> ; <a href="#header.via" id="rfc.xref.header.via.1" title="Via">Section 8.9</a> 1460 / <a href="#abnf.dependencies" class="smpl">Warning</a> ; <a href="#Part6" id="rfc.xref.Part6.8"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.warning" title="Warning">Section 16.6</a> 1461 1461 </pre><p id="rfc.section.4.5.p.3">General-header field names can be extended reliably only in combination with a change in the protocol version. However, new 1462 1462 or experimental header fields may be given the semantics of general header fields if all parties in the communication recognize … … 1469 1469 <div id="rfc.figure.u.35"></div><pre class="inline"><span id="rfc.iref.g.72"></span> <a href="#request" class="smpl">Request</a> = <a href="#request-line" class="smpl">Request-Line</a> ; <a href="#request-line" title="Request-Line">Section 5.1</a> 1470 1470 *(( <a href="#general.header.fields" class="smpl">general-header</a> ; <a href="#general.header.fields" title="General Header Fields">Section 4.5</a> 1471 |<a href="#abnf.dependencies" class="smpl">request-header</a> ; <a href="#Part2" id="rfc.xref.Part2.7"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>, <a href="p2-semantics.html#request.header.fields" title="Request Header Fields">Section 4</a>1472 |<a href="#abnf.dependencies" class="smpl">entity-header</a> ) <a href="#rule.CRLF" class="smpl">CRLF</a>) ; <a href="#Part3" id="rfc.xref.Part3.12"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#entity.header.fields" title="Entity Header Fields">Section 4.1</a>1471 / <a href="#abnf.dependencies" class="smpl">request-header</a> ; <a href="#Part2" id="rfc.xref.Part2.7"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>, <a href="p2-semantics.html#request.header.fields" title="Request Header Fields">Section 4</a> 1472 / <a href="#abnf.dependencies" class="smpl">entity-header</a> ) <a href="#rule.CRLF" class="smpl">CRLF</a>) ; <a href="#Part3" id="rfc.xref.Part3.12"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#entity.header.fields" title="Entity Header Fields">Section 4.1</a> 1473 1473 <a href="#rule.CRLF" class="smpl">CRLF</a> 1474 1474 [ <a href="#message.body" class="smpl">message-body</a> ] ; <a href="#message.body" title="Message Body">Section 4.3</a> … … 1485 1485 </p> 1486 1486 <div id="rfc.figure.u.38"></div><pre class="inline"><span id="rfc.iref.g.76"></span> <a href="#request-uri" class="smpl">Request-URI</a> = "*" 1487 |<a href="#general.syntax" class="smpl">absoluteURI</a>1488 |( <a href="#general.syntax" class="smpl">path-absolute</a> [ "?" <a href="#general.syntax" class="smpl">query</a> ] )1489 |<a href="#general.syntax" class="smpl">authority</a>1487 / <a href="#general.syntax" class="smpl">absoluteURI</a> 1488 / ( <a href="#general.syntax" class="smpl">path-absolute</a> [ "?" <a href="#general.syntax" class="smpl">query</a> ] ) 1489 / <a href="#general.syntax" class="smpl">authority</a> 1490 1490 </pre><p id="rfc.section.5.1.2.p.3">The four options for Request-URI are dependent on the nature of the request. The asterisk "*" means that the request does 1491 1491 not apply to a particular resource, but to the server itself, and is only allowed when the method used does not necessarily … … 1547 1547 <div id="rfc.figure.u.42"></div><pre class="inline"><span id="rfc.iref.g.77"></span> <a href="#response" class="smpl">Response</a> = <a href="#status-line" class="smpl">Status-Line</a> ; <a href="#status-line" title="Status-Line">Section 6.1</a> 1548 1548 *(( <a href="#general.header.fields" class="smpl">general-header</a> ; <a href="#general.header.fields" title="General Header Fields">Section 4.5</a> 1549 |<a href="#abnf.dependencies" class="smpl">response-header</a> ; <a href="#Part2" id="rfc.xref.Part2.9"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>, <a href="p2-semantics.html#response.header.fields" title="Response Header Fields">Section 6</a>1550 |<a href="#abnf.dependencies" class="smpl">entity-header</a> ) <a href="#rule.CRLF" class="smpl">CRLF</a>) ; <a href="#Part3" id="rfc.xref.Part3.13"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#entity.header.fields" title="Entity Header Fields">Section 4.1</a>1549 / <a href="#abnf.dependencies" class="smpl">response-header</a> ; <a href="#Part2" id="rfc.xref.Part2.9"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>, <a href="p2-semantics.html#response.header.fields" title="Response Header Fields">Section 6</a> 1550 / <a href="#abnf.dependencies" class="smpl">entity-header</a> ) <a href="#rule.CRLF" class="smpl">CRLF</a>) ; <a href="#Part3" id="rfc.xref.Part3.13"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#entity.header.fields" title="Entity Header Fields">Section 4.1</a> 1551 1551 <a href="#rule.CRLF" class="smpl">CRLF</a> 1552 1552 [ <a href="#message.body" class="smpl">message-body</a> ] ; <a href="#message.body" title="Message Body">Section 4.3</a> … … 1867 1867 </p> 1868 1868 <div id="rfc.figure.u.53"></div><pre class="inline"><span id="rfc.iref.g.87"></span><span id="rfc.iref.g.88"></span> <a href="#header.te" class="smpl">TE</a> = "TE" ":" #( <a href="#header.te" class="smpl">t-codings</a> ) 1869 <a href="#header.te" class="smpl">t-codings</a> = "trailers" |( <a href="#transfer.codings" class="smpl">transfer-extension</a> [ <a href="#abnf.dependencies" class="smpl">accept-params</a> ] )1869 <a href="#header.te" class="smpl">t-codings</a> = "trailers" / ( <a href="#transfer.codings" class="smpl">transfer-extension</a> [ <a href="#abnf.dependencies" class="smpl">accept-params</a> ] ) 1870 1870 </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, 1871 1871 as defined in <a href="#chunked.transfer.encoding" title="Chunked Transfer Coding">Section 3.4.1</a>. This keyword is reserved for use with transfer-coding values even though it does not itself represent a transfer-coding. … … 1977 1977 <a href="#header.via" class="smpl">protocol-name</a> = <a href="#rule.token.separators" class="smpl">token</a> 1978 1978 <a href="#header.via" class="smpl">protocol-version</a> = <a href="#rule.token.separators" class="smpl">token</a> 1979 <a href="#header.via" class="smpl">received-by</a> = ( <a href="#general.syntax" class="smpl">uri-host</a> [ ":" <a href="#general.syntax" class="smpl">port</a> ] ) |<a href="#header.via" class="smpl">pseudonym</a>1979 <a href="#header.via" class="smpl">received-by</a> = ( <a href="#general.syntax" class="smpl">uri-host</a> [ ":" <a href="#general.syntax" class="smpl">port</a> ] ) / <a href="#header.via" class="smpl">pseudonym</a> 1980 1980 <a href="#header.via" class="smpl">pseudonym</a> = <a href="#rule.token.separators" class="smpl">token</a> 1981 1981 </pre><p id="rfc.section.8.9.p.3">The received-protocol indicates the protocol version of the message received by the server or client along each segment of … … 2783 2783 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/132">http://tools.ietf.org/wg/httpbis/trac/ticket/132</a>>: "RFC 2822 is updated by RFC 5322" 2784 2784 </li> 2785 </ul> 2786 <p id="rfc.section.D.6.p.2">Ongoing work on ABNF conversion (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>>): 2787 </p> 2788 <ul> 2789 <li>Use "/" instead of "|" for alternatives.</li> 2785 2790 </ul> 2786 2791 <h1><a id="rfc.copyright" href="#rfc.copyright">Full Copyright Statement</a></h1> -
draft-ietf-httpbis/latest/p1-messaging.xml
r331 r334 700 700 </t> 701 701 <t> 702 rule1 |rule2702 rule1 / rule2 703 703 <list> 704 704 <t> 705 Elements separated by a bar ("|") are alternatives, e.g., "yes |705 Elements separated by a forward slash ("/") are alternatives, e.g., "yes / 706 706 no" will accept yes or no. 707 707 </t> … … 713 713 <t> 714 714 Elements enclosed in parentheses are treated as a single element. 715 Thus, "(elem (foo |bar) elem)" allows the token sequences "elem715 Thus, "(elem (foo / bar) elem)" allows the token sequences "elem 716 716 foo elem" and "elem bar elem". 717 717 </t> … … 829 829 <x:ref>CHAR</x:ref> = %x01-7F 830 830 ; any US-ASCII character, excluding NUL 831 <x:ref>ALPHA</x:ref> = %x41-5A |%x61-7A832 ; A-Z |a-z831 <x:ref>ALPHA</x:ref> = %x41-5A / %x61-7A 832 ; A-Z / a-z 833 833 <x:ref>DIGIT</x:ref> = %x30-39 834 834 ; any US-ASCII digit "0".."9" 835 <x:ref>CTL</x:ref> = %x00-1F |%x7F835 <x:ref>CTL</x:ref> = %x00-1F / %x7F 836 836 ; (octets 0 - 31) and DEL (127) 837 837 <x:ref>CR</x:ref> = %x0D … … 865 865 </t> 866 866 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="LWS"/> 867 <x:ref>LWS</x:ref> = [<x:ref>CRLF</x:ref>] 1*( <x:ref>SP</x:ref> |<x:ref>HTAB</x:ref> )867 <x:ref>LWS</x:ref> = [<x:ref>CRLF</x:ref>] 1*( <x:ref>SP</x:ref> / <x:ref>HTAB</x:ref> ) 868 868 </artwork></figure> 869 869 <t anchor="rule.TEXT"> … … 876 876 </t> 877 877 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="TEXT"/> 878 <x:ref>TEXT</x:ref> = %x20-7E | %x80-FF |<x:ref>LWS</x:ref>878 <x:ref>TEXT</x:ref> = %x20-7E / %x80-FF / <x:ref>LWS</x:ref> 879 879 ; any <x:ref>OCTET</x:ref> except <x:ref>CTL</x:ref>s, but including <x:ref>LWS</x:ref> 880 880 </artwork></figure> … … 889 889 </t> 890 890 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="HEXDIG"/> 891 <x:ref>HEXDIG</x:ref> = "A" | "B" | "C" | "D" | "E" |"F"892 | "a" | "b" | "c" | "d" | "e" | "f" |<x:ref>DIGIT</x:ref>891 <x:ref>HEXDIG</x:ref> = "A" / "B" / "C" / "D" / "E" / "F" 892 / "a" / "b" / "c" / "d" / "e" / "f" / <x:ref>DIGIT</x:ref> 893 893 </artwork></figure> 894 894 <t anchor="rule.token.separators"> … … 902 902 </t> 903 903 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="token"/><iref primary="true" item="Grammar" subitem="tchar"/><iref primary="true" item="Grammar" subitem="separators"/> 904 <x:ref>separators</x:ref> = "(" | ")" | "<" | ">" |"@"905 | "," | ";" | ":" | "\" |<x:ref>DQUOTE</x:ref>906 | "/" | "[" | "]" | "?" |"="907 | "{" | "}" | <x:ref>SP</x:ref> |<x:ref>HTAB</x:ref>904 <x:ref>separators</x:ref> = "(" / ")" / "<" / ">" / "@" 905 / "," / ";" / ":" / "\" / <x:ref>DQUOTE</x:ref> 906 / "/" / "[" / "]" / "?" / "=" 907 / "{" / "}" / <x:ref>SP</x:ref> / <x:ref>HTAB</x:ref> 908 908 909 <x:ref>tchar</x:ref> = "!" | "#" | "$" | "%" | "&" | "'" |"*"910 | "+" | "-" | "." | "^" | "_" | "`" | "|" |"~"911 | <x:ref>DIGIT</x:ref> |<x:ref>ALPHA</x:ref>909 <x:ref>tchar</x:ref> = "!" / "#" / "$" / "%" / "&" / "'" / "*" 910 / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~" 911 / <x:ref>DIGIT</x:ref> / <x:ref>ALPHA</x:ref> 912 912 ; any <x:ref>CHAR</x:ref> except <x:ref>CTL</x:ref>s or <x:ref>separators</x:ref> 913 913 … … 924 924 </t> 925 925 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="comment"/><iref primary="true" item="Grammar" subitem="ctext"/> 926 <x:ref>comment</x:ref> = "(" *( <x:ref>ctext</x:ref> | <x:ref>quoted-pair</x:ref> |<x:ref>comment</x:ref> ) ")"926 <x:ref>comment</x:ref> = "(" *( <x:ref>ctext</x:ref> / <x:ref>quoted-pair</x:ref> / <x:ref>comment</x:ref> ) ")" 927 927 <x:ref>ctext</x:ref> = <any <x:ref>TEXT</x:ref> excluding "(" and ")"> 928 928 </artwork></figure> … … 934 934 </t> 935 935 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="quoted-string"/><iref primary="true" item="Grammar" subitem="qdtext"/> 936 <x:ref>quoted-string</x:ref> = ( <x:ref>DQUOTE</x:ref> *(<x:ref>qdtext</x:ref> |<x:ref>quoted-pair</x:ref> ) <x:ref>DQUOTE</x:ref> )936 <x:ref>quoted-string</x:ref> = ( <x:ref>DQUOTE</x:ref> *(<x:ref>qdtext</x:ref> / <x:ref>quoted-pair</x:ref> ) <x:ref>DQUOTE</x:ref> ) 937 937 <x:ref>qdtext</x:ref> = <any <x:ref>TEXT</x:ref> excluding <x:ref>DQUOTE</x:ref> and "\"> 938 938 </artwork></figure> … … 944 944 </t> 945 945 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="quoted-text"/><iref primary="true" item="Grammar" subitem="quoted-pair"/> 946 <x:ref>quoted-text</x:ref> = %x01-09 |947 %x0B-0C |946 <x:ref>quoted-text</x:ref> = %x01-09 / 947 %x0B-0C / 948 948 %x0E-FF ; Characters excluding NUL, <x:ref>CR</x:ref> and <x:ref>LF</x:ref> 949 949 <x:ref>quoted-pair</x:ref> = "\" <x:ref>quoted-text</x:ref> … … 1228 1228 </t> 1229 1229 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="HTTP-date"/><iref primary="true" item="Grammar" subitem="rfc1123-date"/><iref primary="true" item="Grammar" subitem="obsolete-date"/><iref primary="true" item="Grammar" subitem="rfc850-date"/><iref primary="true" item="Grammar" subitem="asctime-date"/><iref primary="true" item="Grammar" subitem="date1"/><iref primary="true" item="Grammar" subitem="date2"/><iref primary="true" item="Grammar" subitem="date3"/><iref primary="true" item="Grammar" subitem="time"/><iref primary="true" item="Grammar" subitem="wkday"/><iref primary="true" item="Grammar" subitem="weekday"/><iref primary="true" item="Grammar" subitem="month"/> 1230 <x:ref>HTTP-date</x:ref> = <x:ref>rfc1123-date</x:ref> |<x:ref>obsolete-date</x:ref>1231 <x:ref>obsolete-date</x:ref> = <x:ref>rfc850-date</x:ref> |<x:ref>asctime-date</x:ref>1230 <x:ref>HTTP-date</x:ref> = <x:ref>rfc1123-date</x:ref> / <x:ref>obsolete-date</x:ref> 1231 <x:ref>obsolete-date</x:ref> = <x:ref>rfc850-date</x:ref> / <x:ref>asctime-date</x:ref> 1232 1232 <x:ref>rfc1123-date</x:ref> = <x:ref>wkday</x:ref> "," <x:ref>SP</x:ref> date1 <x:ref>SP</x:ref> time <x:ref>SP</x:ref> GMT 1233 1233 <x:ref>rfc850-date</x:ref> = <x:ref>weekday</x:ref> "," <x:ref>SP</x:ref> date2 <x:ref>SP</x:ref> time <x:ref>SP</x:ref> GMT … … 1237 1237 <x:ref>date2</x:ref> = 2<x:ref>DIGIT</x:ref> "-" <x:ref>month</x:ref> "-" 2<x:ref>DIGIT</x:ref> 1238 1238 ; day-month-year (e.g., 02-Jun-82) 1239 <x:ref>date3</x:ref> = <x:ref>month</x:ref> <x:ref>SP</x:ref> ( 2<x:ref>DIGIT</x:ref> |( <x:ref>SP</x:ref> 1<x:ref>DIGIT</x:ref> ))1239 <x:ref>date3</x:ref> = <x:ref>month</x:ref> <x:ref>SP</x:ref> ( 2<x:ref>DIGIT</x:ref> / ( <x:ref>SP</x:ref> 1<x:ref>DIGIT</x:ref> )) 1240 1240 ; month day (e.g., Jun 2) 1241 1241 <x:ref>time</x:ref> = 2<x:ref>DIGIT</x:ref> ":" 2<x:ref>DIGIT</x:ref> ":" 2<x:ref>DIGIT</x:ref> 1242 1242 ; 00:00:00 - 23:59:59 1243 <x:ref>wkday</x:ref> = s-Mon | s-Tue |s-Wed1244 | s-Thu | s-Fri | s-Sat |s-Sun1245 <x:ref>weekday</x:ref> = l-Mon | l-Tue |l-Wed1246 | l-Thu | l-Fri | l-Sat |l-Sun1247 <x:ref>month</x:ref> = s-Jan | s-Feb | s-Mar |s-Apr1248 | s-May | s-Jun | s-Jul |s-Aug1249 | s-Sep | s-Oct | s-Nov |s-Dec1243 <x:ref>wkday</x:ref> = s-Mon / s-Tue / s-Wed 1244 / s-Thu / s-Fri / s-Sat / s-Sun 1245 <x:ref>weekday</x:ref> = l-Mon / l-Tue / l-Wed 1246 / l-Thu / l-Fri / l-Sat / l-Sun 1247 <x:ref>month</x:ref> = s-Jan / s-Feb / s-Mar / s-Apr 1248 / s-May / s-Jun / s-Jul / s-Aug 1249 / s-Sep / s-Oct / s-Nov / s-Dec 1250 1250 1251 1251 GMT = <x:abnf-char-sequence>"GMT"</x:abnf-char-sequence> ; "GMT", case-sensitive … … 1301 1301 </t> 1302 1302 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="transfer-coding"/><iref primary="true" item="Grammar" subitem="transfer-extension"/> 1303 <x:ref>transfer-coding</x:ref> = "chunked" |<x:ref>transfer-extension</x:ref>1303 <x:ref>transfer-coding</x:ref> = "chunked" / <x:ref>transfer-extension</x:ref> 1304 1304 <x:ref>transfer-extension</x:ref> = <x:ref>token</x:ref> *( ";" <x:ref>parameter</x:ref> ) 1305 1305 </artwork></figure> … … 1313 1313 <x:ref>parameter</x:ref> = <x:ref>attribute</x:ref> "=" <x:ref>value</x:ref> 1314 1314 <x:ref>attribute</x:ref> = <x:ref>token</x:ref> 1315 <x:ref>value</x:ref> = <x:ref>token</x:ref> |<x:ref>quoted-string</x:ref>1315 <x:ref>value</x:ref> = <x:ref>token</x:ref> / <x:ref>quoted-string</x:ref> 1316 1316 </artwork></figure> 1317 1317 <t> … … 1386 1386 <x:ref>chunk-extension</x:ref>= *( ";" <x:ref>chunk-ext-name</x:ref> [ "=" <x:ref>chunk-ext-val</x:ref> ] ) 1387 1387 <x:ref>chunk-ext-name</x:ref> = <x:ref>token</x:ref> 1388 <x:ref>chunk-ext-val</x:ref> = <x:ref>token</x:ref> |<x:ref>quoted-string</x:ref>1388 <x:ref>chunk-ext-val</x:ref> = <x:ref>token</x:ref> / <x:ref>quoted-string</x:ref> 1389 1389 <x:ref>chunk-data</x:ref> = 1*<x:ref>OCTET</x:ref> ; a sequence of chunk-size octets 1390 1390 <x:ref>trailer-part</x:ref> = *(<x:ref>entity-header</x:ref> <x:ref>CRLF</x:ref>) … … 1499 1499 </t> 1500 1500 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="HTTP-message"/> 1501 <x:ref>HTTP-message</x:ref> = <x:ref>Request</x:ref> |<x:ref>Response</x:ref> ; HTTP/1.1 messages1501 <x:ref>HTTP-message</x:ref> = <x:ref>Request</x:ref> / <x:ref>Response</x:ref> ; HTTP/1.1 messages 1502 1502 </artwork></figure> 1503 1503 <t> … … 1514 1514 <x:ref>CRLF</x:ref> 1515 1515 [ <x:ref>message-body</x:ref> ] 1516 <x:ref>start-line</x:ref> = <x:ref>Request-Line</x:ref> |<x:ref>Status-Line</x:ref>1516 <x:ref>start-line</x:ref> = <x:ref>Request-Line</x:ref> / <x:ref>Status-Line</x:ref> 1517 1517 </artwork></figure> 1518 1518 <t> … … 1552 1552 <x:ref>message-header</x:ref> = <x:ref>field-name</x:ref> ":" [ <x:ref>field-value</x:ref> ] 1553 1553 <x:ref>field-name</x:ref> = <x:ref>token</x:ref> 1554 <x:ref>field-value</x:ref> = *( <x:ref>field-content</x:ref> |<x:ref>LWS</x:ref> )1554 <x:ref>field-value</x:ref> = *( <x:ref>field-content</x:ref> / <x:ref>LWS</x:ref> ) 1555 1555 <x:ref>field-content</x:ref> = <field content> 1556 1556 ; the <x:ref>OCTET</x:ref>s making up the field-value … … 1609 1609 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="message-body"/> 1610 1610 <x:ref>message-body</x:ref> = <x:ref>entity-body</x:ref> 1611 |<entity-body encoded as per <x:ref>Transfer-Encoding</x:ref>>1611 / <entity-body encoded as per <x:ref>Transfer-Encoding</x:ref>> 1612 1612 </artwork></figure> 1613 1613 <t> … … 1742 1742 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="general-header"/> 1743 1743 <x:ref>general-header</x:ref> = <x:ref>Cache-Control</x:ref> ; &header-cache-control; 1744 |<x:ref>Connection</x:ref> ; <xref target="header.connection"/>1745 |<x:ref>Date</x:ref> ; <xref target="header.date"/>1746 |<x:ref>Pragma</x:ref> ; &header-pragma;1747 |<x:ref>Trailer</x:ref> ; <xref target="header.trailer"/>1748 |<x:ref>Transfer-Encoding</x:ref> ; <xref target="header.transfer-encoding"/>1749 |<x:ref>Upgrade</x:ref> ; <xref target="header.upgrade"/>1750 |<x:ref>Via</x:ref> ; <xref target="header.via"/>1751 |<x:ref>Warning</x:ref> ; &header-warning;1744 / <x:ref>Connection</x:ref> ; <xref target="header.connection"/> 1745 / <x:ref>Date</x:ref> ; <xref target="header.date"/> 1746 / <x:ref>Pragma</x:ref> ; &header-pragma; 1747 / <x:ref>Trailer</x:ref> ; <xref target="header.trailer"/> 1748 / <x:ref>Transfer-Encoding</x:ref> ; <xref target="header.transfer-encoding"/> 1749 / <x:ref>Upgrade</x:ref> ; <xref target="header.upgrade"/> 1750 / <x:ref>Via</x:ref> ; <xref target="header.via"/> 1751 / <x:ref>Warning</x:ref> ; &header-warning; 1752 1752 </artwork></figure> 1753 1753 <t> … … 1773 1773 <x:ref>Request</x:ref> = <x:ref>Request-Line</x:ref> ; <xref target="request-line"/> 1774 1774 *(( <x:ref>general-header</x:ref> ; <xref target="general.header.fields"/> 1775 |<x:ref>request-header</x:ref> ; &request-header-fields;1776 |<x:ref>entity-header</x:ref> ) <x:ref>CRLF</x:ref>) ; &entity-header-fields;1775 / <x:ref>request-header</x:ref> ; &request-header-fields; 1776 / <x:ref>entity-header</x:ref> ) <x:ref>CRLF</x:ref>) ; &entity-header-fields; 1777 1777 <x:ref>CRLF</x:ref> 1778 1778 [ <x:ref>message-body</x:ref> ] ; <xref target="message.body"/> … … 1810 1810 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Request-URI"/> 1811 1811 <x:ref>Request-URI</x:ref> = "*" 1812 |<x:ref>absoluteURI</x:ref>1813 |( <x:ref>path-absolute</x:ref> [ "?" <x:ref>query</x:ref> ] )1814 |<x:ref>authority</x:ref>1812 / <x:ref>absoluteURI</x:ref> 1813 / ( <x:ref>path-absolute</x:ref> [ "?" <x:ref>query</x:ref> ] ) 1814 / <x:ref>authority</x:ref> 1815 1815 </artwork></figure> 1816 1816 <t> … … 1939 1939 <x:ref>Response</x:ref> = <x:ref>Status-Line</x:ref> ; <xref target="status-line"/> 1940 1940 *(( <x:ref>general-header</x:ref> ; <xref target="general.header.fields"/> 1941 |<x:ref>response-header</x:ref> ; &response-header-fields;1942 |<x:ref>entity-header</x:ref> ) <x:ref>CRLF</x:ref>) ; &entity-header-fields;1941 / <x:ref>response-header</x:ref> ; &response-header-fields; 1942 / <x:ref>entity-header</x:ref> ) <x:ref>CRLF</x:ref>) ; &entity-header-fields; 1943 1943 <x:ref>CRLF</x:ref> 1944 1944 [ <x:ref>message-body</x:ref> ] ; <xref target="message.body"/> … … 2652 2652 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="TE"/><iref primary="true" item="Grammar" subitem="t-codings"/> 2653 2653 <x:ref>TE</x:ref> = "TE" ":" #( <x:ref>t-codings</x:ref> ) 2654 <x:ref>t-codings</x:ref> = "trailers" |( <x:ref>transfer-extension</x:ref> [ <x:ref>accept-params</x:ref> ] )2654 <x:ref>t-codings</x:ref> = "trailers" / ( <x:ref>transfer-extension</x:ref> [ <x:ref>accept-params</x:ref> ] ) 2655 2655 </artwork></figure> 2656 2656 <t> … … 2866 2866 <x:ref>protocol-name</x:ref> = <x:ref>token</x:ref> 2867 2867 <x:ref>protocol-version</x:ref> = <x:ref>token</x:ref> 2868 <x:ref>received-by</x:ref> = ( <x:ref>uri-host</x:ref> [ ":" <x:ref>port</x:ref> ] ) |<x:ref>pseudonym</x:ref>2868 <x:ref>received-by</x:ref> = ( <x:ref>uri-host</x:ref> [ ":" <x:ref>port</x:ref> ] ) / <x:ref>pseudonym</x:ref> 2869 2869 <x:ref>pseudonym</x:ref> = <x:ref>token</x:ref> 2870 2870 </artwork></figure> … … 4708 4708 </list> 4709 4709 </t> 4710 <t> 4711 Ongoing work on ABNF conversion (<eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/36"/>): 4712 <list style="symbols"> 4713 <t> 4714 Use "/" instead of "|" for alternatives. 4715 </t> 4716 </list> 4717 </t> 4710 4718 </section> 4711 4719 -
draft-ietf-httpbis/latest/p2-semantics.html
r333 r334 717 717 <p id="rfc.section.3.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> 718 718 <div id="rfc.figure.u.9"></div><pre class="inline"><span id="rfc.iref.g.1"></span><span id="rfc.iref.g.2"></span> <a href="#method" class="smpl">Method</a> = %x4F.50.54.49.4F.4E.53 ; "OPTIONS", <a href="#OPTIONS" id="rfc.xref.OPTIONS.1" title="OPTIONS">Section 8.2</a> 719 |%x47.45.54 ; "GET", <a href="#GET" id="rfc.xref.GET.1" title="GET">Section 8.3</a>720 |%x48.45.41.44 ; "HEAD", <a href="#HEAD" id="rfc.xref.HEAD.1" title="HEAD">Section 8.4</a>721 |%x50.4F.53.54 ; "POST", <a href="#POST" id="rfc.xref.POST.1" title="POST">Section 8.5</a>722 |%x50.55.54 ; "PUT", <a href="#PUT" id="rfc.xref.PUT.1" title="PUT">Section 8.6</a>723 |%x44.45.4C.45.54.45 ; "DELETE", <a href="#DELETE" id="rfc.xref.DELETE.1" title="DELETE">Section 8.7</a>724 |%x54.52.41.43.45 ; "TRACE", <a href="#TRACE" id="rfc.xref.TRACE.1" title="TRACE">Section 8.8</a>725 |%x43.4F.4E.4E.45.43.54 ; "CONNECT", <a href="#CONNECT" id="rfc.xref.CONNECT.1" title="CONNECT">Section 8.9</a>726 |<a href="#method" class="smpl">extension-method</a>719 / %x47.45.54 ; "GET", <a href="#GET" id="rfc.xref.GET.1" title="GET">Section 8.3</a> 720 / %x48.45.41.44 ; "HEAD", <a href="#HEAD" id="rfc.xref.HEAD.1" title="HEAD">Section 8.4</a> 721 / %x50.4F.53.54 ; "POST", <a href="#POST" id="rfc.xref.POST.1" title="POST">Section 8.5</a> 722 / %x50.55.54 ; "PUT", <a href="#PUT" id="rfc.xref.PUT.1" title="PUT">Section 8.6</a> 723 / %x44.45.4C.45.54.45 ; "DELETE", <a href="#DELETE" id="rfc.xref.DELETE.1" title="DELETE">Section 8.7</a> 724 / %x54.52.41.43.45 ; "TRACE", <a href="#TRACE" id="rfc.xref.TRACE.1" title="TRACE">Section 8.8</a> 725 / %x43.4F.4E.4E.45.43.54 ; "CONNECT", <a href="#CONNECT" id="rfc.xref.CONNECT.1" title="CONNECT">Section 8.9</a> 726 / <a href="#method" class="smpl">extension-method</a> 727 727 <a href="#method" class="smpl">extension-method</a> = <a href="#notation" class="smpl">token</a> 728 728 </pre><p id="rfc.section.3.p.3">The list of methods allowed by a resource can be specified in an Allow header field (<a href="#header.allow" id="rfc.xref.header.allow.1" title="Allow">Section 10.1</a>). The return code of the response always notifies the client whether a method is currently allowed on a resource, since the … … 753 753 </p> 754 754 <div id="rfc.figure.u.10"></div><pre class="inline"><span id="rfc.iref.g.3"></span> <a href="#request.header.fields" class="smpl">request-header</a> = <a href="#abnf.dependencies" class="smpl">Accept</a> ; <a href="#Part3" id="rfc.xref.Part3.5"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#header.accept" title="Accept">Section 6.1</a> 755 |<a href="#abnf.dependencies" class="smpl">Accept-Charset</a> ; <a href="#Part3" id="rfc.xref.Part3.6"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#header.accept-charset" title="Accept-Charset">Section 6.2</a>756 |<a href="#abnf.dependencies" class="smpl">Accept-Encoding</a> ; <a href="#Part3" id="rfc.xref.Part3.7"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#header.accept-encoding" title="Accept-Encoding">Section 6.3</a>757 |<a href="#abnf.dependencies" class="smpl">Accept-Language</a> ; <a href="#Part3" id="rfc.xref.Part3.8"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#header.accept-language" title="Accept-Language">Section 6.4</a>758 |<a href="#abnf.dependencies" class="smpl">Authorization</a> ; <a href="#Part7" id="rfc.xref.Part7.5"><cite title="HTTP/1.1, part 7: Authentication">[Part7]</cite></a>, <a href="p7-auth.html#header.authorization" title="Authorization">Section 4.1</a>759 |<a href="#header.expect" class="smpl">Expect</a> ; <a href="#header.expect" id="rfc.xref.header.expect.1" title="Expect">Section 10.2</a>760 |<a href="#header.from" class="smpl">From</a> ; <a href="#header.from" id="rfc.xref.header.from.1" title="From">Section 10.3</a>761 |<a href="#abnf.dependencies" class="smpl">Host</a> ; <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>762 |<a href="#abnf.dependencies" class="smpl">If-Match</a> ; <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>763 |<a href="#abnf.dependencies" class="smpl">If-Modified-Since</a> ; <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>764 |<a href="#abnf.dependencies" class="smpl">If-None-Match</a> ; <a href="#Part4" id="rfc.xref.Part4.8"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>, <a href="p4-conditional.html#header.if-none-match" title="If-None-Match">Section 7.4</a>765 |<a href="#abnf.dependencies" class="smpl">If-Range</a> ; <a href="#Part5" id="rfc.xref.Part5.4"><cite title="HTTP/1.1, part 5: Range Requests and Partial Responses">[Part5]</cite></a>, <a href="p5-range.html#header.if-range" title="If-Range">Section 6.3</a>766 |<a href="#abnf.dependencies" class="smpl">If-Unmodified-Since</a> ; <a href="#Part4" id="rfc.xref.Part4.9"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>, <a href="p4-conditional.html#header.if-unmodified-since" title="If-Unmodified-Since">Section 7.5</a>767 |<a href="#header.max-forwards" class="smpl">Max-Forwards</a> ; <a href="#header.max-forwards" id="rfc.xref.header.max-forwards.1" title="Max-Forwards">Section 10.5</a>768 |<a href="#abnf.dependencies" class="smpl">Proxy-Authorization</a> ; <a href="#Part7" id="rfc.xref.Part7.6"><cite title="HTTP/1.1, part 7: Authentication">[Part7]</cite></a>, <a href="p7-auth.html#header.proxy-authorization" title="Proxy-Authorization">Section 4.3</a>769 |<a href="#abnf.dependencies" class="smpl">Range</a> ; <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>770 |<a href="#header.referer" class="smpl">Referer</a> ; <a href="#header.referer" id="rfc.xref.header.referer.1" title="Referer">Section 10.6</a>771 |<a href="#abnf.dependencies" class="smpl">TE</a> ; <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>772 |<a href="#header.user-agent" class="smpl">User-Agent</a> ; <a href="#header.user-agent" id="rfc.xref.header.user-agent.1" title="User-Agent">Section 10.9</a>755 / <a href="#abnf.dependencies" class="smpl">Accept-Charset</a> ; <a href="#Part3" id="rfc.xref.Part3.6"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#header.accept-charset" title="Accept-Charset">Section 6.2</a> 756 / <a href="#abnf.dependencies" class="smpl">Accept-Encoding</a> ; <a href="#Part3" id="rfc.xref.Part3.7"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#header.accept-encoding" title="Accept-Encoding">Section 6.3</a> 757 / <a href="#abnf.dependencies" class="smpl">Accept-Language</a> ; <a href="#Part3" id="rfc.xref.Part3.8"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#header.accept-language" title="Accept-Language">Section 6.4</a> 758 / <a href="#abnf.dependencies" class="smpl">Authorization</a> ; <a href="#Part7" id="rfc.xref.Part7.5"><cite title="HTTP/1.1, part 7: Authentication">[Part7]</cite></a>, <a href="p7-auth.html#header.authorization" title="Authorization">Section 4.1</a> 759 / <a href="#header.expect" class="smpl">Expect</a> ; <a href="#header.expect" id="rfc.xref.header.expect.1" title="Expect">Section 10.2</a> 760 / <a href="#header.from" class="smpl">From</a> ; <a href="#header.from" id="rfc.xref.header.from.1" title="From">Section 10.3</a> 761 / <a href="#abnf.dependencies" class="smpl">Host</a> ; <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> 762 / <a href="#abnf.dependencies" class="smpl">If-Match</a> ; <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> 763 / <a href="#abnf.dependencies" class="smpl">If-Modified-Since</a> ; <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> 764 / <a href="#abnf.dependencies" class="smpl">If-None-Match</a> ; <a href="#Part4" id="rfc.xref.Part4.8"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>, <a href="p4-conditional.html#header.if-none-match" title="If-None-Match">Section 7.4</a> 765 / <a href="#abnf.dependencies" class="smpl">If-Range</a> ; <a href="#Part5" id="rfc.xref.Part5.4"><cite title="HTTP/1.1, part 5: Range Requests and Partial Responses">[Part5]</cite></a>, <a href="p5-range.html#header.if-range" title="If-Range">Section 6.3</a> 766 / <a href="#abnf.dependencies" class="smpl">If-Unmodified-Since</a> ; <a href="#Part4" id="rfc.xref.Part4.9"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>, <a href="p4-conditional.html#header.if-unmodified-since" title="If-Unmodified-Since">Section 7.5</a> 767 / <a href="#header.max-forwards" class="smpl">Max-Forwards</a> ; <a href="#header.max-forwards" id="rfc.xref.header.max-forwards.1" title="Max-Forwards">Section 10.5</a> 768 / <a href="#abnf.dependencies" class="smpl">Proxy-Authorization</a> ; <a href="#Part7" id="rfc.xref.Part7.6"><cite title="HTTP/1.1, part 7: Authentication">[Part7]</cite></a>, <a href="p7-auth.html#header.proxy-authorization" title="Proxy-Authorization">Section 4.3</a> 769 / <a href="#abnf.dependencies" class="smpl">Range</a> ; <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> 770 / <a href="#header.referer" class="smpl">Referer</a> ; <a href="#header.referer" id="rfc.xref.header.referer.1" title="Referer">Section 10.6</a> 771 / <a href="#abnf.dependencies" class="smpl">TE</a> ; <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> 772 / <a href="#header.user-agent" class="smpl">User-Agent</a> ; <a href="#header.user-agent" id="rfc.xref.header.user-agent.1" title="User-Agent">Section 10.9</a> 773 773 </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 774 774 or experimental header fields <em class="bcp14">MAY</em> be given the semantics of request-header fields if all parties in the communication recognize them to be request-header fields. … … 785 785 <div id="rfc.figure.u.11"></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> <a href="#status.code.and.reason.phrase" class="smpl">Status-Code</a> = 786 786 "100" ; <a href="#status.100" id="rfc.xref.status.100.1" title="100 Continue">Section 9.1.1</a>: Continue 787 |"101" ; <a href="#status.101" id="rfc.xref.status.101.1" title="101 Switching Protocols">Section 9.1.2</a>: Switching Protocols788 |"200" ; <a href="#status.200" id="rfc.xref.status.200.1" title="200 OK">Section 9.2.1</a>: OK789 |"201" ; <a href="#status.201" id="rfc.xref.status.201.1" title="201 Created">Section 9.2.2</a>: Created790 |"202" ; <a href="#status.202" id="rfc.xref.status.202.1" title="202 Accepted">Section 9.2.3</a>: Accepted791 |"203" ; <a href="#status.203" id="rfc.xref.status.203.1" title="203 Non-Authoritative Information">Section 9.2.4</a>: Non-Authoritative Information792 |"204" ; <a href="#status.204" id="rfc.xref.status.204.1" title="204 No Content">Section 9.2.5</a>: No Content793 |"205" ; <a href="#status.205" id="rfc.xref.status.205.1" title="205 Reset Content">Section 9.2.6</a>: Reset Content794 |"206" ; <a href="#status.206" id="rfc.xref.status.206.1" title="206 Partial Content">Section 9.2.7</a>: Partial Content795 |"300" ; <a href="#status.300" id="rfc.xref.status.300.1" title="300 Multiple Choices">Section 9.3.1</a>: Multiple Choices796 |"301" ; <a href="#status.301" id="rfc.xref.status.301.1" title="301 Moved Permanently">Section 9.3.2</a>: Moved Permanently797 |"302" ; <a href="#status.302" id="rfc.xref.status.302.1" title="302 Found">Section 9.3.3</a>: Found798 |"303" ; <a href="#status.303" id="rfc.xref.status.303.1" title="303 See Other">Section 9.3.4</a>: See Other799 |"304" ; <a href="#status.304" id="rfc.xref.status.304.1" title="304 Not Modified">Section 9.3.5</a>: Not Modified800 |"305" ; <a href="#status.305" id="rfc.xref.status.305.1" title="305 Use Proxy">Section 9.3.6</a>: Use Proxy801 |"307" ; <a href="#status.307" id="rfc.xref.status.307.1" title="307 Temporary Redirect">Section 9.3.8</a>: Temporary Redirect802 |"400" ; <a href="#status.400" id="rfc.xref.status.400.1" title="400 Bad Request">Section 9.4.1</a>: Bad Request803 |"401" ; <a href="#status.401" id="rfc.xref.status.401.1" title="401 Unauthorized">Section 9.4.2</a>: Unauthorized804 |"402" ; <a href="#status.402" id="rfc.xref.status.402.1" title="402 Payment Required">Section 9.4.3</a>: Payment Required805 |"403" ; <a href="#status.403" id="rfc.xref.status.403.1" title="403 Forbidden">Section 9.4.4</a>: Forbidden806 |"404" ; <a href="#status.404" id="rfc.xref.status.404.1" title="404 Not Found">Section 9.4.5</a>: Not Found807 |"405" ; <a href="#status.405" id="rfc.xref.status.405.1" title="405 Method Not Allowed">Section 9.4.6</a>: Method Not Allowed808 |"406" ; <a href="#status.406" id="rfc.xref.status.406.1" title="406 Not Acceptable">Section 9.4.7</a>: Not Acceptable809 |"407" ; <a href="#status.407" id="rfc.xref.status.407.1" title="407 Proxy Authentication Required">Section 9.4.8</a>: Proxy Authentication Required810 |"408" ; <a href="#status.408" id="rfc.xref.status.408.1" title="408 Request Timeout">Section 9.4.9</a>: Request Time-out811 |"409" ; <a href="#status.409" id="rfc.xref.status.409.1" title="409 Conflict">Section 9.4.10</a>: Conflict812 |"410" ; <a href="#status.410" id="rfc.xref.status.410.1" title="410 Gone">Section 9.4.11</a>: Gone813 |"411" ; <a href="#status.411" id="rfc.xref.status.411.1" title="411 Length Required">Section 9.4.12</a>: Length Required814 |"412" ; <a href="#status.412" id="rfc.xref.status.412.1" title="412 Precondition Failed">Section 9.4.13</a>: Precondition Failed815 |"413" ; <a href="#status.413" id="rfc.xref.status.413.1" title="413 Request Entity Too Large">Section 9.4.14</a>: Request Entity Too Large816 |"414" ; <a href="#status.414" id="rfc.xref.status.414.1" title="414 Request-URI Too Long">Section 9.4.15</a>: Request-URI Too Large817 |"415" ; <a href="#status.415" id="rfc.xref.status.415.1" title="415 Unsupported Media Type">Section 9.4.16</a>: Unsupported Media Type818 |"416" ; <a href="#status.416" id="rfc.xref.status.416.1" title="416 Requested Range Not Satisfiable">Section 9.4.17</a>: Requested range not satisfiable819 |"417" ; <a href="#status.417" id="rfc.xref.status.417.1" title="417 Expectation Failed">Section 9.4.18</a>: Expectation Failed820 |"500" ; <a href="#status.500" id="rfc.xref.status.500.1" title="500 Internal Server Error">Section 9.5.1</a>: Internal Server Error821 |"501" ; <a href="#status.501" id="rfc.xref.status.501.1" title="501 Not Implemented">Section 9.5.2</a>: Not Implemented822 |"502" ; <a href="#status.502" id="rfc.xref.status.502.1" title="502 Bad Gateway">Section 9.5.3</a>: Bad Gateway823 |"503" ; <a href="#status.503" id="rfc.xref.status.503.1" title="503 Service Unavailable">Section 9.5.4</a>: Service Unavailable824 |"504" ; <a href="#status.504" id="rfc.xref.status.504.1" title="504 Gateway Timeout">Section 9.5.5</a>: Gateway Time-out825 |"505" ; <a href="#status.505" id="rfc.xref.status.505.1" title="505 HTTP Version Not Supported">Section 9.5.6</a>: HTTP Version not supported826 |<a href="#request.header.fields" class="smpl">extension-code</a>787 / "101" ; <a href="#status.101" id="rfc.xref.status.101.1" title="101 Switching Protocols">Section 9.1.2</a>: Switching Protocols 788 / "200" ; <a href="#status.200" id="rfc.xref.status.200.1" title="200 OK">Section 9.2.1</a>: OK 789 / "201" ; <a href="#status.201" id="rfc.xref.status.201.1" title="201 Created">Section 9.2.2</a>: Created 790 / "202" ; <a href="#status.202" id="rfc.xref.status.202.1" title="202 Accepted">Section 9.2.3</a>: Accepted 791 / "203" ; <a href="#status.203" id="rfc.xref.status.203.1" title="203 Non-Authoritative Information">Section 9.2.4</a>: Non-Authoritative Information 792 / "204" ; <a href="#status.204" id="rfc.xref.status.204.1" title="204 No Content">Section 9.2.5</a>: No Content 793 / "205" ; <a href="#status.205" id="rfc.xref.status.205.1" title="205 Reset Content">Section 9.2.6</a>: Reset Content 794 / "206" ; <a href="#status.206" id="rfc.xref.status.206.1" title="206 Partial Content">Section 9.2.7</a>: Partial Content 795 / "300" ; <a href="#status.300" id="rfc.xref.status.300.1" title="300 Multiple Choices">Section 9.3.1</a>: Multiple Choices 796 / "301" ; <a href="#status.301" id="rfc.xref.status.301.1" title="301 Moved Permanently">Section 9.3.2</a>: Moved Permanently 797 / "302" ; <a href="#status.302" id="rfc.xref.status.302.1" title="302 Found">Section 9.3.3</a>: Found 798 / "303" ; <a href="#status.303" id="rfc.xref.status.303.1" title="303 See Other">Section 9.3.4</a>: See Other 799 / "304" ; <a href="#status.304" id="rfc.xref.status.304.1" title="304 Not Modified">Section 9.3.5</a>: Not Modified 800 / "305" ; <a href="#status.305" id="rfc.xref.status.305.1" title="305 Use Proxy">Section 9.3.6</a>: Use Proxy 801 / "307" ; <a href="#status.307" id="rfc.xref.status.307.1" title="307 Temporary Redirect">Section 9.3.8</a>: Temporary Redirect 802 / "400" ; <a href="#status.400" id="rfc.xref.status.400.1" title="400 Bad Request">Section 9.4.1</a>: Bad Request 803 / "401" ; <a href="#status.401" id="rfc.xref.status.401.1" title="401 Unauthorized">Section 9.4.2</a>: Unauthorized 804 / "402" ; <a href="#status.402" id="rfc.xref.status.402.1" title="402 Payment Required">Section 9.4.3</a>: Payment Required 805 / "403" ; <a href="#status.403" id="rfc.xref.status.403.1" title="403 Forbidden">Section 9.4.4</a>: Forbidden 806 / "404" ; <a href="#status.404" id="rfc.xref.status.404.1" title="404 Not Found">Section 9.4.5</a>: Not Found 807 / "405" ; <a href="#status.405" id="rfc.xref.status.405.1" title="405 Method Not Allowed">Section 9.4.6</a>: Method Not Allowed 808 / "406" ; <a href="#status.406" id="rfc.xref.status.406.1" title="406 Not Acceptable">Section 9.4.7</a>: Not Acceptable 809 / "407" ; <a href="#status.407" id="rfc.xref.status.407.1" title="407 Proxy Authentication Required">Section 9.4.8</a>: Proxy Authentication Required 810 / "408" ; <a href="#status.408" id="rfc.xref.status.408.1" title="408 Request Timeout">Section 9.4.9</a>: Request Time-out 811 / "409" ; <a href="#status.409" id="rfc.xref.status.409.1" title="409 Conflict">Section 9.4.10</a>: Conflict 812 / "410" ; <a href="#status.410" id="rfc.xref.status.410.1" title="410 Gone">Section 9.4.11</a>: Gone 813 / "411" ; <a href="#status.411" id="rfc.xref.status.411.1" title="411 Length Required">Section 9.4.12</a>: Length Required 814 / "412" ; <a href="#status.412" id="rfc.xref.status.412.1" title="412 Precondition Failed">Section 9.4.13</a>: Precondition Failed 815 / "413" ; <a href="#status.413" id="rfc.xref.status.413.1" title="413 Request Entity Too Large">Section 9.4.14</a>: Request Entity Too Large 816 / "414" ; <a href="#status.414" id="rfc.xref.status.414.1" title="414 Request-URI Too Long">Section 9.4.15</a>: Request-URI Too Large 817 / "415" ; <a href="#status.415" id="rfc.xref.status.415.1" title="415 Unsupported Media Type">Section 9.4.16</a>: Unsupported Media Type 818 / "416" ; <a href="#status.416" id="rfc.xref.status.416.1" title="416 Requested Range Not Satisfiable">Section 9.4.17</a>: Requested range not satisfiable 819 / "417" ; <a href="#status.417" id="rfc.xref.status.417.1" title="417 Expectation Failed">Section 9.4.18</a>: Expectation Failed 820 / "500" ; <a href="#status.500" id="rfc.xref.status.500.1" title="500 Internal Server Error">Section 9.5.1</a>: Internal Server Error 821 / "501" ; <a href="#status.501" id="rfc.xref.status.501.1" title="501 Not Implemented">Section 9.5.2</a>: Not Implemented 822 / "502" ; <a href="#status.502" id="rfc.xref.status.502.1" title="502 Bad Gateway">Section 9.5.3</a>: Bad Gateway 823 / "503" ; <a href="#status.503" id="rfc.xref.status.503.1" title="503 Service Unavailable">Section 9.5.4</a>: Service Unavailable 824 / "504" ; <a href="#status.504" id="rfc.xref.status.504.1" title="504 Gateway Timeout">Section 9.5.5</a>: Gateway Time-out 825 / "505" ; <a href="#status.505" id="rfc.xref.status.505.1" title="505 HTTP Version Not Supported">Section 9.5.6</a>: HTTP Version not supported 826 / <a href="#request.header.fields" class="smpl">extension-code</a> 827 827 828 828 <a href="#request.header.fields" class="smpl">extension-code</a> = 3<a href="#notation" class="smpl">DIGIT</a> … … 847 847 </p> 848 848 <div id="rfc.figure.u.12"></div><pre class="inline"><span id="rfc.iref.g.7"></span> <a href="#response.header.fields" class="smpl">response-header</a> = <a href="#abnf.dependencies" class="smpl">Accept-Ranges</a> ; <a href="#Part5" id="rfc.xref.Part5.6"><cite title="HTTP/1.1, part 5: Range Requests and Partial Responses">[Part5]</cite></a>, <a href="p5-range.html#header.accept-ranges" title="Accept-Ranges">Section 6.1</a> 849 |<a href="#abnf.dependencies" class="smpl">Age</a> ; <a href="#Part6" id="rfc.xref.Part6.3"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.age" title="Age">Section 16.1</a>850 |<a href="#header.allow" class="smpl">Allow</a> ; <a href="#header.allow" id="rfc.xref.header.allow.2" title="Allow">Section 10.1</a>851 |<a href="#abnf.dependencies" class="smpl">ETag</a> ; <a href="#Part4" id="rfc.xref.Part4.10"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>, <a href="p4-conditional.html#header.etag" title="ETag">Section 7.1</a>852 |<a href="#header.location" class="smpl">Location</a> ; <a href="#header.location" id="rfc.xref.header.location.1" title="Location">Section 10.4</a>853 |<a href="#abnf.dependencies" class="smpl">Proxy-Authenticate</a> ; <a href="#Part7" id="rfc.xref.Part7.7"><cite title="HTTP/1.1, part 7: Authentication">[Part7]</cite></a>, <a href="p7-auth.html#header.proxy-authenticate" title="Proxy-Authenticate">Section 4.2</a>854 |<a href="#header.retry-after" class="smpl">Retry-After</a> ; <a href="#header.retry-after" id="rfc.xref.header.retry-after.1" title="Retry-After">Section 10.7</a>855 |<a href="#header.server" class="smpl">Server</a> ; <a href="#header.server" id="rfc.xref.header.server.1" title="Server">Section 10.8</a>856 |<a href="#abnf.dependencies" class="smpl">Vary</a> ; <a href="#Part6" id="rfc.xref.Part6.4"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.vary" title="Vary">Section 16.5</a>857 |<a href="#abnf.dependencies" class="smpl">WWW-Authenticate</a> ; <a href="#Part7" id="rfc.xref.Part7.8"><cite title="HTTP/1.1, part 7: Authentication">[Part7]</cite></a>, <a href="p7-auth.html#header.www-authenticate" title="WWW-Authenticate">Section 4.4</a>849 / <a href="#abnf.dependencies" class="smpl">Age</a> ; <a href="#Part6" id="rfc.xref.Part6.3"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.age" title="Age">Section 16.1</a> 850 / <a href="#header.allow" class="smpl">Allow</a> ; <a href="#header.allow" id="rfc.xref.header.allow.2" title="Allow">Section 10.1</a> 851 / <a href="#abnf.dependencies" class="smpl">ETag</a> ; <a href="#Part4" id="rfc.xref.Part4.10"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>, <a href="p4-conditional.html#header.etag" title="ETag">Section 7.1</a> 852 / <a href="#header.location" class="smpl">Location</a> ; <a href="#header.location" id="rfc.xref.header.location.1" title="Location">Section 10.4</a> 853 / <a href="#abnf.dependencies" class="smpl">Proxy-Authenticate</a> ; <a href="#Part7" id="rfc.xref.Part7.7"><cite title="HTTP/1.1, part 7: Authentication">[Part7]</cite></a>, <a href="p7-auth.html#header.proxy-authenticate" title="Proxy-Authenticate">Section 4.2</a> 854 / <a href="#header.retry-after" class="smpl">Retry-After</a> ; <a href="#header.retry-after" id="rfc.xref.header.retry-after.1" title="Retry-After">Section 10.7</a> 855 / <a href="#header.server" class="smpl">Server</a> ; <a href="#header.server" id="rfc.xref.header.server.1" title="Server">Section 10.8</a> 856 / <a href="#abnf.dependencies" class="smpl">Vary</a> ; <a href="#Part6" id="rfc.xref.Part6.4"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.vary" title="Vary">Section 16.5</a> 857 / <a href="#abnf.dependencies" class="smpl">WWW-Authenticate</a> ; <a href="#Part7" id="rfc.xref.Part7.8"><cite title="HTTP/1.1, part 7: Authentication">[Part7]</cite></a>, <a href="p7-auth.html#header.www-authenticate" title="WWW-Authenticate">Section 4.4</a> 858 858 </pre><p id="rfc.section.6.p.3">Response-header field names can be extended reliably only in combination with a change in the protocol version. However, new 859 859 or experimental header fields <em class="bcp14">MAY</em> be given the semantics of response-header fields if all parties in the communication recognize them to be response-header … … 1473 1473 <div id="rfc.figure.u.15"></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><span id="rfc.iref.g.13"></span> <a href="#header.expect" class="smpl">Expect</a> = "Expect" ":" 1#<a href="#header.expect" class="smpl">expectation</a> 1474 1474 1475 <a href="#header.expect" class="smpl">expectation</a> = "100-continue" |<a href="#header.expect" class="smpl">expectation-extension</a>1476 <a href="#header.expect" class="smpl">expectation-extension</a> = <a href="#notation" class="smpl">token</a> [ "=" ( <a href="#notation" class="smpl">token</a> |<a href="#notation" class="smpl">quoted-string</a> )1475 <a href="#header.expect" class="smpl">expectation</a> = "100-continue" / <a href="#header.expect" class="smpl">expectation-extension</a> 1476 <a href="#header.expect" class="smpl">expectation-extension</a> = <a href="#notation" class="smpl">token</a> [ "=" ( <a href="#notation" class="smpl">token</a> / <a href="#notation" class="smpl">quoted-string</a> ) 1477 1477 *<a href="#header.expect" class="smpl">expect-params</a> ] 1478 <a href="#header.expect" class="smpl">expect-params</a> = ";" <a href="#notation" class="smpl">token</a> [ "=" ( <a href="#notation" class="smpl">token</a> |<a href="#notation" class="smpl">quoted-string</a> ) ]1478 <a href="#header.expect" class="smpl">expect-params</a> = ";" <a href="#notation" class="smpl">token</a> [ "=" ( <a href="#notation" class="smpl">token</a> / <a href="#notation" class="smpl">quoted-string</a> ) ] 1479 1479 </pre><p id="rfc.section.10.2.p.3">A server that does not understand or is unable to comply with any of the expectation values in the Expect field of a request <em class="bcp14">MUST</em> respond with appropriate error status. The server <em class="bcp14">MUST</em> respond with a 417 (Expectation Failed) status if any of the expectations cannot be met or, if there are other problems with 1480 1480 the request, some other 4xx status. … … 1559 1559 obsolete or mistyped links to be traced for maintenance. The Referer field <em class="bcp14">MUST NOT</em> be sent if the Request-URI was obtained from a source that does not have its own URI, such as input from the user keyboard. 1560 1560 </p> 1561 <div id="rfc.figure.u.21"></div><pre class="inline"><span id="rfc.iref.g.17"></span> <a href="#header.referer" class="smpl">Referer</a> = "Referer" ":" ( <a href="#abnf.dependencies" class="smpl">absoluteURI</a> |<a href="#abnf.dependencies" class="smpl">relativeURI</a> )1561 <div id="rfc.figure.u.21"></div><pre class="inline"><span id="rfc.iref.g.17"></span> <a href="#header.referer" class="smpl">Referer</a> = "Referer" ":" ( <a href="#abnf.dependencies" class="smpl">absoluteURI</a> / <a href="#abnf.dependencies" class="smpl">relativeURI</a> ) 1562 1562 </pre><p id="rfc.section.10.6.p.3">Example:</p> 1563 1563 <div id="rfc.figure.u.22"></div><pre class="text"> Referer: http://www.example.org/hypertext/Overview.html … … 1572 1572 the time of the response. 1573 1573 </p> 1574 <div id="rfc.figure.u.23"></div><pre class="inline"><span id="rfc.iref.g.18"></span> <a href="#header.retry-after" class="smpl">Retry-After</a> = "Retry-After" ":" ( <a href="#abnf.dependencies" class="smpl">HTTP-date</a> |<a href="#rule.delta-seconds" class="smpl">delta-seconds</a> )1574 <div id="rfc.figure.u.23"></div><pre class="inline"><span id="rfc.iref.g.18"></span> <a href="#header.retry-after" class="smpl">Retry-After</a> = "Retry-After" ":" ( <a href="#abnf.dependencies" class="smpl">HTTP-date</a> / <a href="#rule.delta-seconds" class="smpl">delta-seconds</a> ) 1575 1575 </pre><div id="rule.delta-seconds"> 1576 1576 <p id="rfc.section.10.7.p.3"> Time spans are non-negative decimal integers, representing time in seconds.</p> … … 1588 1588 for identifying the application. 1589 1589 </p> 1590 <div id="rfc.figure.u.26"></div><pre class="inline"><span id="rfc.iref.g.20"></span> <a href="#header.server" class="smpl">Server</a> = "Server" ":" 1*( <a href="#abnf.dependencies" class="smpl">product</a> |<a href="#notation" class="smpl">comment</a> )1590 <div id="rfc.figure.u.26"></div><pre class="inline"><span id="rfc.iref.g.20"></span> <a href="#header.server" class="smpl">Server</a> = "Server" ":" 1*( <a href="#abnf.dependencies" class="smpl">product</a> / <a href="#notation" class="smpl">comment</a> ) 1591 1591 </pre><p id="rfc.section.10.8.p.3">Example:</p> 1592 1592 <div id="rfc.figure.u.27"></div><pre class="text"> Server: CERN/3.0 libwww/2.17 … … 1607 1607 product tokens are listed in order of their significance for identifying the application. 1608 1608 </p> 1609 <div id="rfc.figure.u.28"></div><pre class="inline"><span id="rfc.iref.g.21"></span> <a href="#header.user-agent" class="smpl">User-Agent</a> = "User-Agent" ":" 1*( <a href="#abnf.dependencies" class="smpl">product</a> |<a href="#notation" class="smpl">comment</a> )1609 <div id="rfc.figure.u.28"></div><pre class="inline"><span id="rfc.iref.g.21"></span> <a href="#header.user-agent" class="smpl">User-Agent</a> = "User-Agent" ":" 1*( <a href="#abnf.dependencies" class="smpl">product</a> / <a href="#notation" class="smpl">comment</a> ) 1610 1610 </pre><p id="rfc.section.10.9.p.3">Example:</p> 1611 1611 <div id="rfc.figure.u.29"></div><pre class="text"> User-Agent: CERN-LineMode/2.15 libwww/2.17b3 … … 2315 2315 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/132">http://tools.ietf.org/wg/httpbis/trac/ticket/132</a>>: "RFC 2822 is updated by RFC 5322" 2316 2316 </li> 2317 </ul> 2318 <p id="rfc.section.B.6.p.2">Ongoing work on ABNF conversion (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>>): 2319 </p> 2320 <ul> 2321 <li>Use "/" instead of "|" for alternatives.</li> 2317 2322 </ul> 2318 2323 <h1><a id="rfc.copyright" href="#rfc.copyright">Full Copyright Statement</a></h1> -
draft-ietf-httpbis/latest/p2-semantics.xml
r333 r334 392 392 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Method"/><iref primary="true" item="Grammar" subitem="extension-method"/> 393 393 <x:ref>Method</x:ref> = <x:abnf-char-sequence>"OPTIONS"</x:abnf-char-sequence> ; "OPTIONS", <xref target="OPTIONS"/> 394 |<x:abnf-char-sequence>"GET"</x:abnf-char-sequence> ; "GET", <xref target="GET"/>395 |<x:abnf-char-sequence>"HEAD"</x:abnf-char-sequence> ; "HEAD", <xref target="HEAD"/>396 |<x:abnf-char-sequence>"POST"</x:abnf-char-sequence> ; "POST", <xref target="POST"/>397 |<x:abnf-char-sequence>"PUT"</x:abnf-char-sequence> ; "PUT", <xref target="PUT"/>398 |<x:abnf-char-sequence>"DELETE"</x:abnf-char-sequence> ; "DELETE", <xref target="DELETE"/>399 |<x:abnf-char-sequence>"TRACE"</x:abnf-char-sequence> ; "TRACE", <xref target="TRACE"/>400 |<x:abnf-char-sequence>"CONNECT"</x:abnf-char-sequence> ; "CONNECT", <xref target="CONNECT"/>401 |<x:ref>extension-method</x:ref>394 / <x:abnf-char-sequence>"GET"</x:abnf-char-sequence> ; "GET", <xref target="GET"/> 395 / <x:abnf-char-sequence>"HEAD"</x:abnf-char-sequence> ; "HEAD", <xref target="HEAD"/> 396 / <x:abnf-char-sequence>"POST"</x:abnf-char-sequence> ; "POST", <xref target="POST"/> 397 / <x:abnf-char-sequence>"PUT"</x:abnf-char-sequence> ; "PUT", <xref target="PUT"/> 398 / <x:abnf-char-sequence>"DELETE"</x:abnf-char-sequence> ; "DELETE", <xref target="DELETE"/> 399 / <x:abnf-char-sequence>"TRACE"</x:abnf-char-sequence> ; "TRACE", <xref target="TRACE"/> 400 / <x:abnf-char-sequence>"CONNECT"</x:abnf-char-sequence> ; "CONNECT", <xref target="CONNECT"/> 401 / <x:ref>extension-method</x:ref> 402 402 <x:ref>extension-method</x:ref> = <x:ref>token</x:ref> 403 403 </artwork></figure> … … 454 454 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="request-header"/> 455 455 <x:ref>request-header</x:ref> = <x:ref>Accept</x:ref> ; &header-accept; 456 |<x:ref>Accept-Charset</x:ref> ; &header-accept-charset;457 |<x:ref>Accept-Encoding</x:ref> ; &header-accept-encoding;458 |<x:ref>Accept-Language</x:ref> ; &header-accept-language;459 |<x:ref>Authorization</x:ref> ; &header-authorization;460 |<x:ref>Expect</x:ref> ; <xref target="header.expect"/>461 |<x:ref>From</x:ref> ; <xref target="header.from"/>462 |<x:ref>Host</x:ref> ; &header-host;463 |<x:ref>If-Match</x:ref> ; &header-if-match;464 |<x:ref>If-Modified-Since</x:ref> ; &header-if-modified-since;465 |<x:ref>If-None-Match</x:ref> ; &header-if-none-match;466 |<x:ref>If-Range</x:ref> ; &header-if-range;467 |<x:ref>If-Unmodified-Since</x:ref> ; &header-if-unmodified-since;468 |<x:ref>Max-Forwards</x:ref> ; <xref target="header.max-forwards"/>469 |<x:ref>Proxy-Authorization</x:ref> ; &header-proxy-authorization;470 |<x:ref>Range</x:ref> ; &header-range;471 |<x:ref>Referer</x:ref> ; <xref target="header.referer"/>472 |<x:ref>TE</x:ref> ; &header-te;473 |<x:ref>User-Agent</x:ref> ; <xref target="header.user-agent"/>456 / <x:ref>Accept-Charset</x:ref> ; &header-accept-charset; 457 / <x:ref>Accept-Encoding</x:ref> ; &header-accept-encoding; 458 / <x:ref>Accept-Language</x:ref> ; &header-accept-language; 459 / <x:ref>Authorization</x:ref> ; &header-authorization; 460 / <x:ref>Expect</x:ref> ; <xref target="header.expect"/> 461 / <x:ref>From</x:ref> ; <xref target="header.from"/> 462 / <x:ref>Host</x:ref> ; &header-host; 463 / <x:ref>If-Match</x:ref> ; &header-if-match; 464 / <x:ref>If-Modified-Since</x:ref> ; &header-if-modified-since; 465 / <x:ref>If-None-Match</x:ref> ; &header-if-none-match; 466 / <x:ref>If-Range</x:ref> ; &header-if-range; 467 / <x:ref>If-Unmodified-Since</x:ref> ; &header-if-unmodified-since; 468 / <x:ref>Max-Forwards</x:ref> ; <xref target="header.max-forwards"/> 469 / <x:ref>Proxy-Authorization</x:ref> ; &header-proxy-authorization; 470 / <x:ref>Range</x:ref> ; &header-range; 471 / <x:ref>Referer</x:ref> ; <xref target="header.referer"/> 472 / <x:ref>TE</x:ref> ; &header-te; 473 / <x:ref>User-Agent</x:ref> ; <xref target="header.user-agent"/> 474 474 </artwork></figure> 475 475 <t> … … 505 505 <x:ref>Status-Code</x:ref> = 506 506 "100" ; <xref target="status.100"/>: Continue 507 |"101" ; <xref target="status.101"/>: Switching Protocols508 |"200" ; <xref target="status.200"/>: OK509 |"201" ; <xref target="status.201"/>: Created510 |"202" ; <xref target="status.202"/>: Accepted511 |"203" ; <xref target="status.203"/>: Non-Authoritative Information512 |"204" ; <xref target="status.204"/>: No Content513 |"205" ; <xref target="status.205"/>: Reset Content514 |"206" ; <xref target="status.206"/>: Partial Content515 |"300" ; <xref target="status.300"/>: Multiple Choices516 |"301" ; <xref target="status.301"/>: Moved Permanently517 |"302" ; <xref target="status.302"/>: Found518 |"303" ; <xref target="status.303"/>: See Other519 |"304" ; <xref target="status.304"/>: Not Modified520 |"305" ; <xref target="status.305"/>: Use Proxy521 |"307" ; <xref target="status.307"/>: Temporary Redirect522 |"400" ; <xref target="status.400"/>: Bad Request523 |"401" ; <xref target="status.401"/>: Unauthorized524 |"402" ; <xref target="status.402"/>: Payment Required525 |"403" ; <xref target="status.403"/>: Forbidden526 |"404" ; <xref target="status.404"/>: Not Found527 |"405" ; <xref target="status.405"/>: Method Not Allowed528 |"406" ; <xref target="status.406"/>: Not Acceptable529 |"407" ; <xref target="status.407"/>: Proxy Authentication Required530 |"408" ; <xref target="status.408"/>: Request Time-out531 |"409" ; <xref target="status.409"/>: Conflict532 |"410" ; <xref target="status.410"/>: Gone533 |"411" ; <xref target="status.411"/>: Length Required534 |"412" ; <xref target="status.412"/>: Precondition Failed535 |"413" ; <xref target="status.413"/>: Request Entity Too Large536 |"414" ; <xref target="status.414"/>: Request-URI Too Large537 |"415" ; <xref target="status.415"/>: Unsupported Media Type538 |"416" ; <xref target="status.416"/>: Requested range not satisfiable539 |"417" ; <xref target="status.417"/>: Expectation Failed540 |"500" ; <xref target="status.500"/>: Internal Server Error541 |"501" ; <xref target="status.501"/>: Not Implemented542 |"502" ; <xref target="status.502"/>: Bad Gateway543 |"503" ; <xref target="status.503"/>: Service Unavailable544 |"504" ; <xref target="status.504"/>: Gateway Time-out545 |"505" ; <xref target="status.505"/>: HTTP Version not supported546 |<x:ref>extension-code</x:ref>507 / "101" ; <xref target="status.101"/>: Switching Protocols 508 / "200" ; <xref target="status.200"/>: OK 509 / "201" ; <xref target="status.201"/>: Created 510 / "202" ; <xref target="status.202"/>: Accepted 511 / "203" ; <xref target="status.203"/>: Non-Authoritative Information 512 / "204" ; <xref target="status.204"/>: No Content 513 / "205" ; <xref target="status.205"/>: Reset Content 514 / "206" ; <xref target="status.206"/>: Partial Content 515 / "300" ; <xref target="status.300"/>: Multiple Choices 516 / "301" ; <xref target="status.301"/>: Moved Permanently 517 / "302" ; <xref target="status.302"/>: Found 518 / "303" ; <xref target="status.303"/>: See Other 519 / "304" ; <xref target="status.304"/>: Not Modified 520 / "305" ; <xref target="status.305"/>: Use Proxy 521 / "307" ; <xref target="status.307"/>: Temporary Redirect 522 / "400" ; <xref target="status.400"/>: Bad Request 523 / "401" ; <xref target="status.401"/>: Unauthorized 524 / "402" ; <xref target="status.402"/>: Payment Required 525 / "403" ; <xref target="status.403"/>: Forbidden 526 / "404" ; <xref target="status.404"/>: Not Found 527 / "405" ; <xref target="status.405"/>: Method Not Allowed 528 / "406" ; <xref target="status.406"/>: Not Acceptable 529 / "407" ; <xref target="status.407"/>: Proxy Authentication Required 530 / "408" ; <xref target="status.408"/>: Request Time-out 531 / "409" ; <xref target="status.409"/>: Conflict 532 / "410" ; <xref target="status.410"/>: Gone 533 / "411" ; <xref target="status.411"/>: Length Required 534 / "412" ; <xref target="status.412"/>: Precondition Failed 535 / "413" ; <xref target="status.413"/>: Request Entity Too Large 536 / "414" ; <xref target="status.414"/>: Request-URI Too Large 537 / "415" ; <xref target="status.415"/>: Unsupported Media Type 538 / "416" ; <xref target="status.416"/>: Requested range not satisfiable 539 / "417" ; <xref target="status.417"/>: Expectation Failed 540 / "500" ; <xref target="status.500"/>: Internal Server Error 541 / "501" ; <xref target="status.501"/>: Not Implemented 542 / "502" ; <xref target="status.502"/>: Bad Gateway 543 / "503" ; <xref target="status.503"/>: Service Unavailable 544 / "504" ; <xref target="status.504"/>: Gateway Time-out 545 / "505" ; <xref target="status.505"/>: HTTP Version not supported 546 / <x:ref>extension-code</x:ref> 547 547 548 548 <x:ref>extension-code</x:ref> = 3<x:ref>DIGIT</x:ref> … … 593 593 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="response-header"/> 594 594 <x:ref>response-header</x:ref> = <x:ref>Accept-Ranges</x:ref> ; &header-accept-ranges; 595 |<x:ref>Age</x:ref> ; &header-age;596 |<x:ref>Allow</x:ref> ; <xref target="header.allow"/>597 |<x:ref>ETag</x:ref> ; &header-etag;598 |<x:ref>Location</x:ref> ; <xref target="header.location"/>599 |<x:ref>Proxy-Authenticate</x:ref> ; &header-proxy-authenticate;600 |<x:ref>Retry-After</x:ref> ; <xref target="header.retry-after"/>601 |<x:ref>Server</x:ref> ; <xref target="header.server"/>602 |<x:ref>Vary</x:ref> ; &header-vary;603 |<x:ref>WWW-Authenticate</x:ref> ; &header-www-authenticate;595 / <x:ref>Age</x:ref> ; &header-age; 596 / <x:ref>Allow</x:ref> ; <xref target="header.allow"/> 597 / <x:ref>ETag</x:ref> ; &header-etag; 598 / <x:ref>Location</x:ref> ; <xref target="header.location"/> 599 / <x:ref>Proxy-Authenticate</x:ref> ; &header-proxy-authenticate; 600 / <x:ref>Retry-After</x:ref> ; <xref target="header.retry-after"/> 601 / <x:ref>Server</x:ref> ; <xref target="header.server"/> 602 / <x:ref>Vary</x:ref> ; &header-vary; 603 / <x:ref>WWW-Authenticate</x:ref> ; &header-www-authenticate; 604 604 </artwork></figure> 605 605 <t> … … 1835 1835 <x:ref>Expect</x:ref> = "Expect" ":" 1#<x:ref>expectation</x:ref> 1836 1836 1837 <x:ref>expectation</x:ref> = "100-continue" |<x:ref>expectation-extension</x:ref>1838 <x:ref>expectation-extension</x:ref> = <x:ref>token</x:ref> [ "=" ( <x:ref>token</x:ref> |<x:ref>quoted-string</x:ref> )1837 <x:ref>expectation</x:ref> = "100-continue" / <x:ref>expectation-extension</x:ref> 1838 <x:ref>expectation-extension</x:ref> = <x:ref>token</x:ref> [ "=" ( <x:ref>token</x:ref> / <x:ref>quoted-string</x:ref> ) 1839 1839 *<x:ref>expect-params</x:ref> ] 1840 <x:ref>expect-params</x:ref> = ";" <x:ref>token</x:ref> [ "=" ( <x:ref>token</x:ref> |<x:ref>quoted-string</x:ref> ) ]1840 <x:ref>expect-params</x:ref> = ";" <x:ref>token</x:ref> [ "=" ( <x:ref>token</x:ref> / <x:ref>quoted-string</x:ref> ) ] 1841 1841 </artwork></figure> 1842 1842 <t> … … 2014 2014 </t> 2015 2015 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Referer"/> 2016 <x:ref>Referer</x:ref> = "Referer" ":" ( <x:ref>absoluteURI</x:ref> |<x:ref>relativeURI</x:ref> )2016 <x:ref>Referer</x:ref> = "Referer" ":" ( <x:ref>absoluteURI</x:ref> / <x:ref>relativeURI</x:ref> ) 2017 2017 </artwork></figure> 2018 2018 <t> … … 2043 2043 </t> 2044 2044 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Retry-After"/> 2045 <x:ref>Retry-After</x:ref> = "Retry-After" ":" ( <x:ref>HTTP-date</x:ref> |<x:ref>delta-seconds</x:ref> )2045 <x:ref>Retry-After</x:ref> = "Retry-After" ":" ( <x:ref>HTTP-date</x:ref> / <x:ref>delta-seconds</x:ref> ) 2046 2046 </artwork></figure> 2047 2047 <t anchor="rule.delta-seconds"> … … 2078 2078 </t> 2079 2079 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Server"/> 2080 <x:ref>Server</x:ref> = "Server" ":" 1*( <x:ref>product</x:ref> |<x:ref>comment</x:ref> )2080 <x:ref>Server</x:ref> = "Server" ":" 1*( <x:ref>product</x:ref> / <x:ref>comment</x:ref> ) 2081 2081 </artwork></figure> 2082 2082 <t> … … 2117 2117 </t> 2118 2118 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="User-Agent"/> 2119 <x:ref>User-Agent</x:ref> = "User-Agent" ":" 1*( <x:ref>product</x:ref> |<x:ref>comment</x:ref> )2119 <x:ref>User-Agent</x:ref> = "User-Agent" ":" 1*( <x:ref>product</x:ref> / <x:ref>comment</x:ref> ) 2120 2120 </artwork></figure> 2121 2121 <t> … … 3318 3318 </list> 3319 3319 </t> 3320 <t> 3321 Ongoing work on ABNF conversion (<eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/36"/>): 3322 <list style="symbols"> 3323 <t> 3324 Use "/" instead of "|" for alternatives. 3325 </t> 3326 </list> 3327 </t> 3320 3328 </section> 3321 3329 -
draft-ietf-httpbis/latest/p3-payload.html
r331 r334 484 484 <tr> 485 485 <td class="header left"></td> 486 <td class="header right">November 1, 2008</td>486 <td class="header right">November 5, 2008</td> 487 487 </tr> 488 488 </table> … … 745 745 <div id="rfc.figure.u.10"></div><pre class="inline"><span id="rfc.iref.g.7"></span><span id="rfc.iref.g.8"></span><span id="rfc.iref.g.9"></span> <a href="#rule.parameter" class="smpl">parameter</a> = <a href="#rule.parameter" class="smpl">attribute</a> "=" <a href="#rule.parameter" class="smpl">value</a> 746 746 <a href="#rule.parameter" class="smpl">attribute</a> = <a href="#notation" class="smpl">token</a> 747 <a href="#rule.parameter" class="smpl">value</a> = <a href="#notation" class="smpl">token</a> |<a href="#notation" class="smpl">quoted-string</a>747 <a href="#rule.parameter" class="smpl">value</a> = <a href="#notation" class="smpl">token</a> / <a href="#notation" class="smpl">quoted-string</a> 748 748 </pre><p id="rfc.section.3.3.p.5">The type, subtype, and parameter attribute names are case-insensitive. Parameter values might or might not be case-sensitive, 749 749 depending on the semantics of the parameter name. Linear white space (LWS) <em class="bcp14">MUST NOT</em> be used between the type and subtype, nor between an attribute and its value. The presence or absence of a parameter might … … 800 800 </p> 801 801 <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.10"></span> <a href="#quality.values" class="smpl">qvalue</a> = ( "0" [ "." 0*3<a href="#notation" class="smpl">DIGIT</a> ] ) 802 |( "1" [ "." 0*3("0") ] )802 / ( "1" [ "." 0*3("0") ] ) 803 803 </pre><p id="rfc.section.3.4.p.3">"Quality values" is a misnomer, since these values merely represent relative degradation in desired quality.</p> 804 804 <h2 id="rfc.section.3.5"><a href="#rfc.section.3.5">3.5</a> <a id="language.tags" href="#language.tags">Language Tags</a></h2> … … 832 832 </p> 833 833 <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span> <a href="#entity.header.fields" class="smpl">entity-header</a> = <a href="#header.content-encoding" class="smpl">Content-Encoding</a> ; <a href="#header.content-encoding" id="rfc.xref.header.content-encoding.2" title="Content-Encoding">Section 6.5</a> 834 |<a href="#header.content-language" class="smpl">Content-Language</a> ; <a href="#header.content-language" id="rfc.xref.header.content-language.1" title="Content-Language">Section 6.6</a>835 |<a href="#abnf.dependencies" class="smpl">Content-Length</a> ; <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.content-length" title="Content-Length">Section 8.2</a>836 |<a href="#header.content-location" class="smpl">Content-Location</a> ; <a href="#header.content-location" id="rfc.xref.header.content-location.1" title="Content-Location">Section 6.7</a>837 |<a href="#header.content-md5" class="smpl">Content-MD5</a> ; <a href="#header.content-md5" id="rfc.xref.header.content-md5.1" title="Content-MD5">Section 6.8</a>838 |<a href="#abnf.dependencies" class="smpl">Content-Range</a> ; <a href="#Part5" id="rfc.xref.Part5.3"><cite title="HTTP/1.1, part 5: Range Requests and Partial Responses">[Part5]</cite></a>, <a href="p5-range.html#header.content-range" title="Content-Range">Section 6.2</a>839 |<a href="#header.content-type" class="smpl">Content-Type</a> ; <a href="#header.content-type" id="rfc.xref.header.content-type.2" title="Content-Type">Section 6.9</a>840 |<a href="#abnf.dependencies" class="smpl">Expires</a> ; <a href="#Part6" id="rfc.xref.Part6.2"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.expires" title="Expires">Section 16.3</a>841 |<a href="#abnf.dependencies" class="smpl">Last-Modified</a> ; <a href="#Part4" id="rfc.xref.Part4.2"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>, <a href="p4-conditional.html#header.last-modified" title="Last-Modified">Section 7.6</a>842 |<a href="#entity.header.fields" class="smpl">extension-header</a>834 / <a href="#header.content-language" class="smpl">Content-Language</a> ; <a href="#header.content-language" id="rfc.xref.header.content-language.1" title="Content-Language">Section 6.6</a> 835 / <a href="#abnf.dependencies" class="smpl">Content-Length</a> ; <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.content-length" title="Content-Length">Section 8.2</a> 836 / <a href="#header.content-location" class="smpl">Content-Location</a> ; <a href="#header.content-location" id="rfc.xref.header.content-location.1" title="Content-Location">Section 6.7</a> 837 / <a href="#header.content-md5" class="smpl">Content-MD5</a> ; <a href="#header.content-md5" id="rfc.xref.header.content-md5.1" title="Content-MD5">Section 6.8</a> 838 / <a href="#abnf.dependencies" class="smpl">Content-Range</a> ; <a href="#Part5" id="rfc.xref.Part5.3"><cite title="HTTP/1.1, part 5: Range Requests and Partial Responses">[Part5]</cite></a>, <a href="p5-range.html#header.content-range" title="Content-Range">Section 6.2</a> 839 / <a href="#header.content-type" class="smpl">Content-Type</a> ; <a href="#header.content-type" id="rfc.xref.header.content-type.2" title="Content-Type">Section 6.9</a> 840 / <a href="#abnf.dependencies" class="smpl">Expires</a> ; <a href="#Part6" id="rfc.xref.Part6.2"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.expires" title="Expires">Section 16.3</a> 841 / <a href="#abnf.dependencies" class="smpl">Last-Modified</a> ; <a href="#Part4" id="rfc.xref.Part4.2"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>, <a href="p4-conditional.html#header.last-modified" title="Last-Modified">Section 7.6</a> 842 / <a href="#entity.header.fields" class="smpl">extension-header</a> 843 843 844 844 <a href="#entity.header.fields" class="smpl">extension-header</a> = <a href="#abnf.dependencies" class="smpl">message-header</a> … … 964 964 965 965 <a href="#header.accept" class="smpl">media-range</a> = ( "*/*" 966 |( <a href="#media.types" class="smpl">type</a> "/" "*" )967 |( <a href="#media.types" class="smpl">type</a> "/" <a href="#media.types" class="smpl">subtype</a> )966 / ( <a href="#media.types" class="smpl">type</a> "/" "*" ) 967 / ( <a href="#media.types" class="smpl">type</a> "/" <a href="#media.types" class="smpl">subtype</a> ) 968 968 ) *( ";" <a href="#rule.parameter" class="smpl">parameter</a> ) 969 969 <a href="#header.accept" class="smpl">accept-params</a> = ";" "q" "=" <a href="#quality.values" class="smpl">qvalue</a> *( <a href="#header.accept" class="smpl">accept-extension</a> ) 970 <a href="#header.accept" class="smpl">accept-extension</a> = ";" <a href="#notation" class="smpl">token</a> [ "=" ( <a href="#notation" class="smpl">token</a> |<a href="#notation" class="smpl">quoted-string</a> ) ]970 <a href="#header.accept" class="smpl">accept-extension</a> = ";" <a href="#notation" class="smpl">token</a> [ "=" ( <a href="#notation" class="smpl">token</a> / <a href="#notation" class="smpl">quoted-string</a> ) ] 971 971 </pre><p id="rfc.section.6.1.p.3">The asterisk "*" character is used to group media types into ranges, with "*/*" indicating all media types and "type/*" indicating 972 972 all subtypes of that type. The media-range <em class="bcp14">MAY</em> include media type parameters that are applicable to that range. … … 1030 1030 </p> 1031 1031 <div id="rfc.figure.u.24"></div><pre class="inline"><span id="rfc.iref.g.21"></span> <a href="#header.accept-charset" class="smpl">Accept-Charset</a> = "Accept-Charset" ":" 1032 1#( ( <a href="#rule.charset" class="smpl">charset</a> |"*" ) [ ";" "q" "=" <a href="#quality.values" class="smpl">qvalue</a> ] )1032 1#( ( <a href="#rule.charset" class="smpl">charset</a> / "*" ) [ ";" "q" "=" <a href="#quality.values" class="smpl">qvalue</a> ] ) 1033 1033 </pre><p id="rfc.section.6.2.p.3">Character set values are described in <a href="#character.sets" title="Character Sets">Section 3.1</a>. Each charset <em class="bcp14">MAY</em> be given an associated quality value which represents the user's preference for that charset. The default value is q=1. An 1034 1034 example is … … 1050 1050 <div id="rfc.figure.u.26"></div><pre class="inline"><span id="rfc.iref.g.22"></span><span id="rfc.iref.g.23"></span> <a href="#header.accept-encoding" class="smpl">Accept-Encoding</a> = "Accept-Encoding" ":" 1051 1051 #( <a href="#header.accept-encoding" class="smpl">codings</a> [ ";" "q" "=" <a href="#quality.values" class="smpl">qvalue</a> ] ) 1052 <a href="#header.accept-encoding" class="smpl">codings</a> = ( <a href="#content.codings" class="smpl">content-coding</a> |"*" )1052 <a href="#header.accept-encoding" class="smpl">codings</a> = ( <a href="#content.codings" class="smpl">content-coding</a> / "*" ) 1053 1053 </pre><p id="rfc.section.6.3.p.3">Each codings value <em class="bcp14">MAY</em> be given an associated quality value which represents the preference for that encoding. The default value is q=1. 1054 1054 </p> … … 1195 1195 </p> 1196 1196 <div id="rfc.figure.u.35"></div><pre class="inline"><span id="rfc.iref.g.28"></span> <a href="#header.content-location" class="smpl">Content-Location</a> = "Content-Location" ":" 1197 ( <a href="#abnf.dependencies" class="smpl">absoluteURI</a> |<a href="#abnf.dependencies" class="smpl">relativeURI</a> )1197 ( <a href="#abnf.dependencies" class="smpl">absoluteURI</a> / <a href="#abnf.dependencies" class="smpl">relativeURI</a> ) 1198 1198 </pre><p id="rfc.section.6.7.p.3">The value of Content-Location also defines the base URI for the entity.</p> 1199 1199 <p id="rfc.section.6.7.p.4">The Content-Location value is not a replacement for the original requested URI; it is only a statement of the location of … … 1631 1631 <div id="rfc.figure.u.40"></div><pre class="inline"><span id="rfc.iref.g.33"></span><span id="rfc.iref.g.34"></span><span id="rfc.iref.g.35"></span><span id="rfc.iref.g.36"></span><span id="rfc.iref.g.37"></span><span id="rfc.iref.g.38"></span> <a href="#content-disposition" class="smpl">content-disposition</a> = "Content-Disposition" ":" 1632 1632 <a href="#content-disposition" class="smpl">disposition-type</a> *( ";" <a href="#content-disposition" class="smpl">disposition-parm</a> ) 1633 <a href="#content-disposition" class="smpl">disposition-type</a> = "attachment" |<a href="#content-disposition" class="smpl">disp-extension-token</a>1634 <a href="#content-disposition" class="smpl">disposition-parm</a> = <a href="#content-disposition" class="smpl">filename-parm</a> |<a href="#content-disposition" class="smpl">disp-extension-parm</a>1633 <a href="#content-disposition" class="smpl">disposition-type</a> = "attachment" / <a href="#content-disposition" class="smpl">disp-extension-token</a> 1634 <a href="#content-disposition" class="smpl">disposition-parm</a> = <a href="#content-disposition" class="smpl">filename-parm</a> / <a href="#content-disposition" class="smpl">disp-extension-parm</a> 1635 1635 <a href="#content-disposition" class="smpl">filename-parm</a> = "filename" "=" <a href="#notation" class="smpl">quoted-string</a> 1636 1636 <a href="#content-disposition" class="smpl">disp-extension-token</a> = <a href="#notation" class="smpl">token</a> 1637 <a href="#content-disposition" class="smpl">disp-extension-parm</a> = <a href="#notation" class="smpl">token</a> "=" ( <a href="#notation" class="smpl">token</a> |<a href="#notation" class="smpl">quoted-string</a> )1637 <a href="#content-disposition" class="smpl">disp-extension-parm</a> = <a href="#notation" class="smpl">token</a> "=" ( <a href="#notation" class="smpl">token</a> / <a href="#notation" class="smpl">quoted-string</a> ) 1638 1638 </pre><p id="rfc.section.B.1.p.3">An example is</p> 1639 1639 <div id="rfc.figure.u.41"></div><pre class="text"> Content-Disposition: attachment; filename="fname.ext" … … 1742 1742 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/132">http://tools.ietf.org/wg/httpbis/trac/ticket/132</a>>: "RFC 2822 is updated by RFC 5322" 1743 1743 </li> 1744 </ul> 1745 <p id="rfc.section.D.6.p.2">Ongoing work on ABNF conversion (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>>): 1746 </p> 1747 <ul> 1748 <li>Use "/" instead of "|" for alternatives.</li> 1744 1749 </ul> 1745 1750 <h1><a id="rfc.copyright" href="#rfc.copyright">Full Copyright Statement</a></h1> -
draft-ietf-httpbis/latest/p3-payload.xml
r331 r334 476 476 <x:ref>parameter</x:ref> = <x:ref>attribute</x:ref> "=" <x:ref>value</x:ref> 477 477 <x:ref>attribute</x:ref> = <x:ref>token</x:ref> 478 <x:ref>value</x:ref> = <x:ref>token</x:ref> |<x:ref>quoted-string</x:ref>478 <x:ref>value</x:ref> = <x:ref>token</x:ref> / <x:ref>quoted-string</x:ref> 479 479 </artwork></figure> 480 480 <t> … … 600 600 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="qvalue"/> 601 601 <x:ref>qvalue</x:ref> = ( "0" [ "." 0*3<x:ref>DIGIT</x:ref> ] ) 602 |( "1" [ "." 0*3("0") ] )602 / ( "1" [ "." 0*3("0") ] ) 603 603 </artwork></figure> 604 604 <t> … … 668 668 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="entity-header"/><iref primary="true" item="Grammar" subitem="extension-header"/> 669 669 <x:ref>entity-header</x:ref> = <x:ref>Content-Encoding</x:ref> ; <xref target="header.content-encoding"/> 670 |<x:ref>Content-Language</x:ref> ; <xref target="header.content-language"/>671 |<x:ref>Content-Length</x:ref> ; &header-content-length;672 |<x:ref>Content-Location</x:ref> ; <xref target="header.content-location"/>673 |<x:ref>Content-MD5</x:ref> ; <xref target="header.content-md5"/>674 |<x:ref>Content-Range</x:ref> ; &header-content-range;675 |<x:ref>Content-Type</x:ref> ; <xref target="header.content-type"/>676 |<x:ref>Expires</x:ref> ; &header-expires;677 |<x:ref>Last-Modified</x:ref> ; &header-last-modified;678 |<x:ref>extension-header</x:ref>670 / <x:ref>Content-Language</x:ref> ; <xref target="header.content-language"/> 671 / <x:ref>Content-Length</x:ref> ; &header-content-length; 672 / <x:ref>Content-Location</x:ref> ; <xref target="header.content-location"/> 673 / <x:ref>Content-MD5</x:ref> ; <xref target="header.content-md5"/> 674 / <x:ref>Content-Range</x:ref> ; &header-content-range; 675 / <x:ref>Content-Type</x:ref> ; <xref target="header.content-type"/> 676 / <x:ref>Expires</x:ref> ; &header-expires; 677 / <x:ref>Last-Modified</x:ref> ; &header-last-modified; 678 / <x:ref>extension-header</x:ref> 679 679 680 680 <x:ref>extension-header</x:ref> = <x:ref>message-header</x:ref> … … 929 929 930 930 <x:ref>media-range</x:ref> = ( "*/*" 931 |( <x:ref>type</x:ref> "/" "*" )932 |( <x:ref>type</x:ref> "/" <x:ref>subtype</x:ref> )931 / ( <x:ref>type</x:ref> "/" "*" ) 932 / ( <x:ref>type</x:ref> "/" <x:ref>subtype</x:ref> ) 933 933 ) *( ";" <x:ref>parameter</x:ref> ) 934 934 <x:ref>accept-params</x:ref> = ";" "q" "=" <x:ref>qvalue</x:ref> *( <x:ref>accept-extension</x:ref> ) 935 <x:ref>accept-extension</x:ref> = ";" <x:ref>token</x:ref> [ "=" ( <x:ref>token</x:ref> |<x:ref>quoted-string</x:ref> ) ]935 <x:ref>accept-extension</x:ref> = ";" <x:ref>token</x:ref> [ "=" ( <x:ref>token</x:ref> / <x:ref>quoted-string</x:ref> ) ] 936 936 </artwork></figure> 937 937 <t> … … 1048 1048 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Accept-Charset"/> 1049 1049 <x:ref>Accept-Charset</x:ref> = "Accept-Charset" ":" 1050 1#( ( <x:ref>charset</x:ref> |"*" ) [ ";" "q" "=" <x:ref>qvalue</x:ref> ] )1050 1#( ( <x:ref>charset</x:ref> / "*" ) [ ";" "q" "=" <x:ref>qvalue</x:ref> ] ) 1051 1051 </artwork></figure> 1052 1052 <t> … … 1089 1089 <x:ref>Accept-Encoding</x:ref> = "Accept-Encoding" ":" 1090 1090 #( <x:ref>codings</x:ref> [ ";" "q" "=" <x:ref>qvalue</x:ref> ] ) 1091 <x:ref>codings</x:ref> = ( <x:ref>content-coding</x:ref> |"*" )1091 <x:ref>codings</x:ref> = ( <x:ref>content-coding</x:ref> / "*" ) 1092 1092 </artwork></figure> 1093 1093 <t> … … 1365 1365 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Content-Location"/> 1366 1366 <x:ref>Content-Location</x:ref> = "Content-Location" ":" 1367 ( <x:ref>absoluteURI</x:ref> |<x:ref>relativeURI</x:ref> )1367 ( <x:ref>absoluteURI</x:ref> / <x:ref>relativeURI</x:ref> ) 1368 1368 </artwork></figure> 1369 1369 <t> … … 2493 2493 <x:ref>content-disposition</x:ref> = "Content-Disposition" ":" 2494 2494 <x:ref>disposition-type</x:ref> *( ";" <x:ref>disposition-parm</x:ref> ) 2495 <x:ref>disposition-type</x:ref> = "attachment" |<x:ref>disp-extension-token</x:ref>2496 <x:ref>disposition-parm</x:ref> = <x:ref>filename-parm</x:ref> |<x:ref>disp-extension-parm</x:ref>2495 <x:ref>disposition-type</x:ref> = "attachment" / <x:ref>disp-extension-token</x:ref> 2496 <x:ref>disposition-parm</x:ref> = <x:ref>filename-parm</x:ref> / <x:ref>disp-extension-parm</x:ref> 2497 2497 <x:ref>filename-parm</x:ref> = "filename" "=" <x:ref>quoted-string</x:ref> 2498 2498 <x:ref>disp-extension-token</x:ref> = <x:ref>token</x:ref> 2499 <x:ref>disp-extension-parm</x:ref> = <x:ref>token</x:ref> "=" ( <x:ref>token</x:ref> |<x:ref>quoted-string</x:ref> )2499 <x:ref>disp-extension-parm</x:ref> = <x:ref>token</x:ref> "=" ( <x:ref>token</x:ref> / <x:ref>quoted-string</x:ref> ) 2500 2500 </artwork></figure> 2501 2501 <t> … … 2714 2714 </list> 2715 2715 </t> 2716 </section> 2716 <t> 2717 Ongoing work on ABNF conversion (<eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/36"/>): 2718 <list style="symbols"> 2719 <t> 2720 Use "/" instead of "|" for alternatives. 2721 </t> 2722 </list> 2723 </t> 2724 </section> 2717 2725 2718 2726 </section> -
draft-ietf-httpbis/latest/p4-conditional.html
r331 r334 473 473 <tr> 474 474 <td class="header left"></td> 475 <td class="header right">November 1, 2008</td>475 <td class="header right">November 5, 2008</td> 476 476 </tr> 477 477 </table> … … 853 853 case, the value "*" matches any current entity of the resource. 854 854 </p> 855 <div id="rfc.figure.u.6"></div><pre class="inline"><span id="rfc.iref.g.5"></span> <a href="#header.if-match" class="smpl">If-Match</a> = "If-Match" ":" ( "*" |1#<a href="#entity.tags" class="smpl">entity-tag</a> )855 <div id="rfc.figure.u.6"></div><pre class="inline"><span id="rfc.iref.g.5"></span> <a href="#header.if-match" class="smpl">If-Match</a> = "If-Match" ":" ( "*" / 1#<a href="#entity.tags" class="smpl">entity-tag</a> ) 856 856 </pre><p id="rfc.section.7.2.p.3">If any of the entity tags match the entity tag of the entity that would have been returned in the response to a similar GET 857 857 request (without the If-Match header) on that resource, or if "*" is given and any current entity exists for that resource, … … 933 933 </p> 934 934 <p id="rfc.section.7.4.p.2">As a special case, the value "*" matches any current entity of the resource.</p> 935 <div id="rfc.figure.u.10"></div><pre class="inline"><span id="rfc.iref.g.7"></span> <a href="#header.if-none-match" class="smpl">If-None-Match</a> = "If-None-Match" ":" ( "*" |1#<a href="#entity.tags" class="smpl">entity-tag</a> )935 <div id="rfc.figure.u.10"></div><pre class="inline"><span id="rfc.iref.g.7"></span> <a href="#header.if-none-match" class="smpl">If-None-Match</a> = "If-None-Match" ":" ( "*" / 1#<a href="#entity.tags" class="smpl">entity-tag</a> ) 936 936 </pre><p id="rfc.section.7.4.p.4">If any of the entity tags match the entity tag of the entity that would have been returned in the response to a similar GET 937 937 request (without the If-None-Match header) on that resource, or if "*" is given and any current entity exists for that resource, … … 1173 1173 </ul> 1174 1174 <h2 id="rfc.section.B.6"><a href="#rfc.section.B.6">B.6</a> <a id="changes.since.04" href="#changes.since.04">Since draft-ietf-httpbis-p4-conditional-04</a></h2> 1175 <p id="rfc.section.B.6.p.1">Ongoing work on ABNF conversion (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>>): 1176 </p> 1177 <ul> 1178 <li>Use "/" instead of "|" for alternatives.</li> 1179 </ul> 1175 1180 <h1><a id="rfc.copyright" href="#rfc.copyright">Full Copyright Statement</a></h1> 1176 1181 <p>This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the -
draft-ietf-httpbis/latest/p4-conditional.xml
r331 r334 707 707 </t> 708 708 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="If-Match"/> 709 <x:ref>If-Match</x:ref> = "If-Match" ":" ( "*" |1#<x:ref>entity-tag</x:ref> )709 <x:ref>If-Match</x:ref> = "If-Match" ":" ( "*" / 1#<x:ref>entity-tag</x:ref> ) 710 710 </artwork></figure> 711 711 <t> … … 863 863 </t> 864 864 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="If-None-Match"/> 865 <x:ref>If-None-Match</x:ref> = "If-None-Match" ":" ( "*" |1#<x:ref>entity-tag</x:ref> )865 <x:ref>If-None-Match</x:ref> = "If-None-Match" ":" ( "*" / 1#<x:ref>entity-tag</x:ref> ) 866 866 </artwork></figure> 867 867 <t> … … 1390 1390 <section title="Since draft-ietf-httpbis-p4-conditional-04" anchor="changes.since.04"> 1391 1391 <t> 1392 Ongoing work on ABNF conversion (<eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/36"/>): 1393 <list style="symbols"> 1394 <t> 1395 Use "/" instead of "|" for alternatives. 1396 </t> 1397 </list> 1392 1398 </t> 1393 1399 </section> -
draft-ietf-httpbis/latest/p5-range.html
r332 r334 473 473 <tr> 474 474 <td class="header left"></td> 475 <td class="header right">November 2, 2008</td>475 <td class="header right">November 5, 2008</td> 476 476 </tr> 477 477 </table> … … 598 598 uses range units in the Range (<a href="#header.range" id="rfc.xref.header.range.1" title="Range">Section 6.4</a>) and Content-Range (<a href="#header.content-range" id="rfc.xref.header.content-range.1" title="Content-Range">Section 6.2</a>) header fields. An entity can be broken down into subranges according to various structural units. 599 599 </p> 600 <div id="rfc.figure.u.5"></div><pre class="inline"><span id="rfc.iref.g.1"></span><span id="rfc.iref.g.2"></span><span id="rfc.iref.g.3"></span> <a href="#range.units" class="smpl">range-unit</a> = <a href="#range.units" class="smpl">bytes-unit</a> |<a href="#range.units" class="smpl">other-range-unit</a>600 <div id="rfc.figure.u.5"></div><pre class="inline"><span id="rfc.iref.g.1"></span><span id="rfc.iref.g.2"></span><span id="rfc.iref.g.3"></span> <a href="#range.units" class="smpl">range-unit</a> = <a href="#range.units" class="smpl">bytes-unit</a> / <a href="#range.units" class="smpl">other-range-unit</a> 601 601 <a href="#range.units" class="smpl">bytes-unit</a> = "bytes" 602 602 <a href="#range.units" class="smpl">other-range-unit</a> = <a href="#notation" class="smpl">token</a> … … 664 664 <p id="rfc.section.6.1.p.1">The Accept-Ranges response-header field allows the server to indicate its acceptance of range requests for a resource:</p> 665 665 <div id="rfc.figure.u.6"></div><pre class="inline"><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span> <a href="#header.accept-ranges" class="smpl">Accept-Ranges</a> = "Accept-Ranges" ":" <a href="#header.accept-ranges" class="smpl">acceptable-ranges</a> 666 <a href="#header.accept-ranges" class="smpl">acceptable-ranges</a> = 1#<a href="#range.units" class="smpl">range-unit</a> |"none"666 <a href="#header.accept-ranges" class="smpl">acceptable-ranges</a> = 1#<a href="#range.units" class="smpl">range-unit</a> / "none" 667 667 </pre><p id="rfc.section.6.1.p.3">Origin servers that accept byte-range requests <em class="bcp14">MAY</em> send 668 668 </p> … … 685 685 <a href="#header.content-range" class="smpl">byte-content-range-spec</a> = <a href="#range.units" class="smpl">bytes-unit</a> <a href="#notation" class="smpl">SP</a> 686 686 <a href="#header.content-range" class="smpl">byte-range-resp-spec</a> "/" 687 ( <a href="#header.content-range" class="smpl">instance-length</a> |"*" )687 ( <a href="#header.content-range" class="smpl">instance-length</a> / "*" ) 688 688 689 689 <a href="#header.content-range" class="smpl">byte-range-resp-spec</a> = (<a href="#rule.ranges-specifier" class="smpl">first-byte-pos</a> "-" <a href="#rule.ranges-specifier" class="smpl">last-byte-pos</a>) 690 |"*"690 / "*" 691 691 692 692 <a href="#header.content-range" class="smpl">instance-length</a> = 1*<a href="#notation" class="smpl">DIGIT</a> … … 758 758 send me the part(s) that I am missing; otherwise, send me the entire new entity'. 759 759 </p> 760 <div id="rfc.figure.u.15"></div><pre class="inline"><span id="rfc.iref.g.11"></span> <a href="#header.if-range" class="smpl">If-Range</a> = "If-Range" ":" ( <a href="#abnf.dependencies" class="smpl">entity-tag</a> |<a href="#abnf.dependencies" class="smpl">HTTP-date</a> )760 <div id="rfc.figure.u.15"></div><pre class="inline"><span id="rfc.iref.g.11"></span> <a href="#header.if-range" class="smpl">If-Range</a> = "If-Range" ":" ( <a href="#abnf.dependencies" class="smpl">entity-tag</a> / <a href="#abnf.dependencies" class="smpl">HTTP-date</a> ) 761 761 </pre><p id="rfc.section.6.3.p.4">If the client has no entity tag for an entity, but does have a Last-Modified date, it <em class="bcp14">MAY</em> use that date in an If-Range header. (The server can distinguish between a valid HTTP-date and any form of entity-tag by examining 762 762 no more than two characters.) The If-Range header <em class="bcp14">SHOULD</em> only be used together with a Range header, and <em class="bcp14">MUST</em> be ignored if the request does not include a Range header, or if the server does not support the sub-range operation. … … 779 779 <div id="rfc.figure.u.16"></div><pre class="inline"><span id="rfc.iref.g.12"></span><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> <a href="#rule.ranges-specifier" class="smpl">ranges-specifier</a> = <a href="#rule.ranges-specifier" class="smpl">byte-ranges-specifier</a> 780 780 <a href="#rule.ranges-specifier" class="smpl">byte-ranges-specifier</a> = <a href="#range.units" class="smpl">bytes-unit</a> "=" <a href="#rule.ranges-specifier" class="smpl">byte-range-set</a> 781 <a href="#rule.ranges-specifier" class="smpl">byte-range-set</a> = 1#( <a href="#rule.ranges-specifier" class="smpl">byte-range-spec</a> |<a href="#rule.ranges-specifier" class="smpl">suffix-byte-range-spec</a> )781 <a href="#rule.ranges-specifier" class="smpl">byte-range-set</a> = 1#( <a href="#rule.ranges-specifier" class="smpl">byte-range-spec</a> / <a href="#rule.ranges-specifier" class="smpl">suffix-byte-range-spec</a> ) 782 782 <a href="#rule.ranges-specifier" class="smpl">byte-range-spec</a> = <a href="#rule.ranges-specifier" class="smpl">first-byte-pos</a> "-" [<a href="#rule.ranges-specifier" class="smpl">last-byte-pos</a>] 783 783 <a href="#rule.ranges-specifier" class="smpl">first-byte-pos</a> = 1*<a href="#notation" class="smpl">DIGIT</a> … … 1101 1101 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/133">http://tools.ietf.org/wg/httpbis/trac/ticket/133</a>>: "multipart/byteranges minimum number of parts" 1102 1102 </li> 1103 </ul> 1104 <p id="rfc.section.C.6.p.2">Ongoing work on ABNF conversion (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>>): 1105 </p> 1106 <ul> 1107 <li>Use "/" instead of "|" for alternatives.</li> 1103 1108 </ul> 1104 1109 <h1><a id="rfc.copyright" href="#rfc.copyright">Full Copyright Statement</a></h1> -
draft-ietf-httpbis/latest/p5-range.xml
r332 r334 293 293 </t> 294 294 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="range-unit"/><iref primary="true" item="Grammar" subitem="bytes-unit"/><iref primary="true" item="Grammar" subitem="other-range-unit"/> 295 <x:ref>range-unit</x:ref> = <x:ref>bytes-unit</x:ref> |<x:ref>other-range-unit</x:ref>295 <x:ref>range-unit</x:ref> = <x:ref>bytes-unit</x:ref> / <x:ref>other-range-unit</x:ref> 296 296 <x:ref>bytes-unit</x:ref> = "bytes" 297 297 <x:ref>other-range-unit</x:ref> = <x:ref>token</x:ref> … … 429 429 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Accept-Ranges"/><iref primary="true" item="Grammar" subitem="acceptable-ranges"/> 430 430 <x:ref>Accept-Ranges</x:ref> = "Accept-Ranges" ":" <x:ref>acceptable-ranges</x:ref> 431 <x:ref>acceptable-ranges</x:ref> = 1#<x:ref>range-unit</x:ref> |"none"431 <x:ref>acceptable-ranges</x:ref> = 1#<x:ref>range-unit</x:ref> / "none" 432 432 </artwork></figure> 433 433 <t> … … 473 473 <x:ref>byte-content-range-spec</x:ref> = <x:ref>bytes-unit</x:ref> <x:ref>SP</x:ref> 474 474 <x:ref>byte-range-resp-spec</x:ref> "/" 475 ( <x:ref>instance-length</x:ref> |"*" )475 ( <x:ref>instance-length</x:ref> / "*" ) 476 476 477 477 <x:ref>byte-range-resp-spec</x:ref> = (<x:ref>first-byte-pos</x:ref> "-" <x:ref>last-byte-pos</x:ref>) 478 |"*"478 / "*" 479 479 480 480 <x:ref>instance-length</x:ref> = 1*<x:ref>DIGIT</x:ref> … … 613 613 </t> 614 614 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="If-Range"/> 615 <x:ref>If-Range</x:ref> = "If-Range" ":" ( <x:ref>entity-tag</x:ref> |<x:ref>HTTP-date</x:ref> )615 <x:ref>If-Range</x:ref> = "If-Range" ":" ( <x:ref>entity-tag</x:ref> / <x:ref>HTTP-date</x:ref> ) 616 616 </artwork></figure> 617 617 <t> … … 663 663 <x:ref>ranges-specifier</x:ref> = <x:ref>byte-ranges-specifier</x:ref> 664 664 <x:ref>byte-ranges-specifier</x:ref> = <x:ref>bytes-unit</x:ref> "=" <x:ref>byte-range-set</x:ref> 665 <x:ref>byte-range-set</x:ref> = 1#( <x:ref>byte-range-spec</x:ref> |<x:ref>suffix-byte-range-spec</x:ref> )665 <x:ref>byte-range-set</x:ref> = 1#( <x:ref>byte-range-spec</x:ref> / <x:ref>suffix-byte-range-spec</x:ref> ) 666 666 <x:ref>byte-range-spec</x:ref> = <x:ref>first-byte-pos</x:ref> "-" [<x:ref>last-byte-pos</x:ref>] 667 667 <x:ref>first-byte-pos</x:ref> = 1*<x:ref>DIGIT</x:ref> … … 1372 1372 </list> 1373 1373 </t> 1374 <t> 1375 Ongoing work on ABNF conversion (<eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/36"/>): 1376 <list style="symbols"> 1377 <t> 1378 Use "/" instead of "|" for alternatives. 1379 </t> 1380 </list> 1381 </t> 1374 1382 </section> 1375 1383 -
draft-ietf-httpbis/latest/p6-cache.html
r331 r334 485 485 <tr> 486 486 <td class="header left"></td> 487 <td class="header right">November 1, 2008</td>487 <td class="header right">November 5, 2008</td> 488 488 </tr> 489 489 </table> … … 1270 1270 1271 1271 <a href="#header.cache-control" class="smpl">cache-directive</a> = <a href="#header.cache-control" class="smpl">cache-request-directive</a> 1272 |<a href="#header.cache-control" class="smpl">cache-response-directive</a>1272 / <a href="#header.cache-control" class="smpl">cache-response-directive</a> 1273 1273 1274 1274 <a href="#header.cache-control" class="smpl">cache-request-directive</a> = 1275 1275 "no-cache" ; <a href="#what.is.cacheable" title="What is Cacheable">Section 16.2.1</a> 1276 |"no-store" ; <a href="#what.may.be.stored.by.caches" title="What May be Stored by Caches">Section 16.2.2</a>1277 |"max-age" "=" <a href="#rule.delta-seconds" class="smpl">delta-seconds</a> ; <a href="#modifications.of.the.basic.expiration.mechanism" title="Modifications of the Basic Expiration Mechanism">Section 16.2.3</a>, <a href="#cache.revalidation.and.reload.controls" title="Cache Revalidation and Reload Controls">16.2.4</a>1278 |"max-stale" [ "=" <a href="#rule.delta-seconds" class="smpl">delta-seconds</a> ] ; <a href="#modifications.of.the.basic.expiration.mechanism" title="Modifications of the Basic Expiration Mechanism">Section 16.2.3</a>1279 |"min-fresh" "=" <a href="#rule.delta-seconds" class="smpl">delta-seconds</a> ; <a href="#modifications.of.the.basic.expiration.mechanism" title="Modifications of the Basic Expiration Mechanism">Section 16.2.3</a>1280 |"no-transform" ; <a href="#no-transform.directive" title="No-Transform Directive">Section 16.2.5</a>1281 |"only-if-cached" ; <a href="#cache.revalidation.and.reload.controls" title="Cache Revalidation and Reload Controls">Section 16.2.4</a>1282 |<a href="#header.cache-control" class="smpl">cache-extension</a> ; <a href="#cache.control.extensions" title="Cache Control Extensions">Section 16.2.6</a>1276 / "no-store" ; <a href="#what.may.be.stored.by.caches" title="What May be Stored by Caches">Section 16.2.2</a> 1277 / "max-age" "=" <a href="#rule.delta-seconds" class="smpl">delta-seconds</a> ; <a href="#modifications.of.the.basic.expiration.mechanism" title="Modifications of the Basic Expiration Mechanism">Section 16.2.3</a>, <a href="#cache.revalidation.and.reload.controls" title="Cache Revalidation and Reload Controls">16.2.4</a> 1278 / "max-stale" [ "=" <a href="#rule.delta-seconds" class="smpl">delta-seconds</a> ] ; <a href="#modifications.of.the.basic.expiration.mechanism" title="Modifications of the Basic Expiration Mechanism">Section 16.2.3</a> 1279 / "min-fresh" "=" <a href="#rule.delta-seconds" class="smpl">delta-seconds</a> ; <a href="#modifications.of.the.basic.expiration.mechanism" title="Modifications of the Basic Expiration Mechanism">Section 16.2.3</a> 1280 / "no-transform" ; <a href="#no-transform.directive" title="No-Transform Directive">Section 16.2.5</a> 1281 / "only-if-cached" ; <a href="#cache.revalidation.and.reload.controls" title="Cache Revalidation and Reload Controls">Section 16.2.4</a> 1282 / <a href="#header.cache-control" class="smpl">cache-extension</a> ; <a href="#cache.control.extensions" title="Cache Control Extensions">Section 16.2.6</a> 1283 1283 1284 1284 <a href="#header.cache-control" class="smpl">cache-response-directive</a> = 1285 1285 "public" ; <a href="#what.is.cacheable" title="What is Cacheable">Section 16.2.1</a> 1286 |"private" [ "=" <a href="#notation" class="smpl">DQUOTE</a> 1#<a href="#abnf.dependencies" class="smpl">field-name</a> <a href="#notation" class="smpl">DQUOTE</a> ] ; <a href="#what.is.cacheable" title="What is Cacheable">Section 16.2.1</a>1287 |"no-cache" [ "=" <a href="#notation" class="smpl">DQUOTE</a> 1#<a href="#abnf.dependencies" class="smpl">field-name</a> <a href="#notation" class="smpl">DQUOTE</a> ] ; <a href="#what.is.cacheable" title="What is Cacheable">Section 16.2.1</a>1288 |"no-store" ; <a href="#what.may.be.stored.by.caches" title="What May be Stored by Caches">Section 16.2.2</a>1289 |"no-transform" ; <a href="#no-transform.directive" title="No-Transform Directive">Section 16.2.5</a>1290 |"must-revalidate" ; <a href="#cache.revalidation.and.reload.controls" title="Cache Revalidation and Reload Controls">Section 16.2.4</a>1291 |"proxy-revalidate" ; <a href="#cache.revalidation.and.reload.controls" title="Cache Revalidation and Reload Controls">Section 16.2.4</a>1292 |"max-age" "=" <a href="#rule.delta-seconds" class="smpl">delta-seconds</a> ; <a href="#modifications.of.the.basic.expiration.mechanism" title="Modifications of the Basic Expiration Mechanism">Section 16.2.3</a>1293 |"s-maxage" "=" <a href="#rule.delta-seconds" class="smpl">delta-seconds</a> ; <a href="#modifications.of.the.basic.expiration.mechanism" title="Modifications of the Basic Expiration Mechanism">Section 16.2.3</a>1294 |<a href="#header.cache-control" class="smpl">cache-extension</a> ; <a href="#cache.control.extensions" title="Cache Control Extensions">Section 16.2.6</a>1286 / "private" [ "=" <a href="#notation" class="smpl">DQUOTE</a> 1#<a href="#abnf.dependencies" class="smpl">field-name</a> <a href="#notation" class="smpl">DQUOTE</a> ] ; <a href="#what.is.cacheable" title="What is Cacheable">Section 16.2.1</a> 1287 / "no-cache" [ "=" <a href="#notation" class="smpl">DQUOTE</a> 1#<a href="#abnf.dependencies" class="smpl">field-name</a> <a href="#notation" class="smpl">DQUOTE</a> ] ; <a href="#what.is.cacheable" title="What is Cacheable">Section 16.2.1</a> 1288 / "no-store" ; <a href="#what.may.be.stored.by.caches" title="What May be Stored by Caches">Section 16.2.2</a> 1289 / "no-transform" ; <a href="#no-transform.directive" title="No-Transform Directive">Section 16.2.5</a> 1290 / "must-revalidate" ; <a href="#cache.revalidation.and.reload.controls" title="Cache Revalidation and Reload Controls">Section 16.2.4</a> 1291 / "proxy-revalidate" ; <a href="#cache.revalidation.and.reload.controls" title="Cache Revalidation and Reload Controls">Section 16.2.4</a> 1292 / "max-age" "=" <a href="#rule.delta-seconds" class="smpl">delta-seconds</a> ; <a href="#modifications.of.the.basic.expiration.mechanism" title="Modifications of the Basic Expiration Mechanism">Section 16.2.3</a> 1293 / "s-maxage" "=" <a href="#rule.delta-seconds" class="smpl">delta-seconds</a> ; <a href="#modifications.of.the.basic.expiration.mechanism" title="Modifications of the Basic Expiration Mechanism">Section 16.2.3</a> 1294 / <a href="#header.cache-control" class="smpl">cache-extension</a> ; <a href="#cache.control.extensions" title="Cache Control Extensions">Section 16.2.6</a> 1295 1295 1296 <a href="#header.cache-control" class="smpl">cache-extension</a> = <a href="#notation" class="smpl">token</a> [ "=" ( <a href="#notation" class="smpl">token</a> |<a href="#notation" class="smpl">quoted-string</a> ) ]1296 <a href="#header.cache-control" class="smpl">cache-extension</a> = <a href="#notation" class="smpl">token</a> [ "=" ( <a href="#notation" class="smpl">token</a> / <a href="#notation" class="smpl">quoted-string</a> ) ] 1297 1297 </pre><p id="rfc.section.16.2.p.4">When a directive appears without any 1#field-name parameter, the directive applies to the entire request or response. When 1298 1298 such a directive appears with a 1#field-name parameter, it applies only to the named field or fields, and not to the rest … … 1599 1599 </p> 1600 1600 <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> <a href="#header.pragma" class="smpl">Pragma</a> = "Pragma" ":" 1#<a href="#header.pragma" class="smpl">pragma-directive</a> 1601 <a href="#header.pragma" class="smpl">pragma-directive</a> = "no-cache" |<a href="#header.pragma" class="smpl">extension-pragma</a>1602 <a href="#header.pragma" class="smpl">extension-pragma</a> = <a href="#notation" class="smpl">token</a> [ "=" ( <a href="#notation" class="smpl">token</a> |<a href="#notation" class="smpl">quoted-string</a> ) ]1601 <a href="#header.pragma" class="smpl">pragma-directive</a> = "no-cache" / <a href="#header.pragma" class="smpl">extension-pragma</a> 1602 <a href="#header.pragma" class="smpl">extension-pragma</a> = <a href="#notation" class="smpl">token</a> [ "=" ( <a href="#notation" class="smpl">token</a> / <a href="#notation" class="smpl">quoted-string</a> ) ] 1603 1603 </pre><p id="rfc.section.16.4.p.3">When the no-cache directive is present in a request message, an application <em class="bcp14">SHOULD</em> forward the request toward the origin server even if it has a cached copy of what is being requested. This pragma directive 1604 1604 has the same semantics as the no-cache cache-directive (see <a href="#header.cache-control" id="rfc.xref.header.cache-control.10" title="Cache-Control">Section 16.2</a>) and is defined here for backward compatibility with HTTP/1.0. Clients <em class="bcp14">SHOULD</em> include both header fields when a no-cache request is sent to a server not known to be HTTP/1.1 compliant. … … 1625 1625 response is the appropriate representation. See <a href="#caching.negotiated.responses" title="Caching Negotiated Responses">Section 8</a> for use of the Vary header field by caches. 1626 1626 </p> 1627 <div id="rfc.figure.u.19"></div><pre class="inline"><span id="rfc.iref.g.13"></span> <a href="#header.vary" class="smpl">Vary</a> = "Vary" ":" ( "*" |1#<a href="#abnf.dependencies" class="smpl">field-name</a> )1627 <div id="rfc.figure.u.19"></div><pre class="inline"><span id="rfc.iref.g.13"></span> <a href="#header.vary" class="smpl">Vary</a> = "Vary" ":" ( "*" / 1#<a href="#abnf.dependencies" class="smpl">field-name</a> ) 1628 1628 </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 1629 1629 to properly interpret future requests on that resource and informs the user agent about the presence of negotiation on that … … 1656 1656 1657 1657 <a href="#header.warning" class="smpl">warn-code</a> = 3<a href="#notation" class="smpl">DIGIT</a> 1658 <a href="#header.warning" class="smpl">warn-agent</a> = ( <a href="#abnf.dependencies" class="smpl">uri-host</a> [ ":" <a href="#abnf.dependencies" class="smpl">port</a> ] ) |<a href="#abnf.dependencies" class="smpl">pseudonym</a>1658 <a href="#header.warning" class="smpl">warn-agent</a> = ( <a href="#abnf.dependencies" class="smpl">uri-host</a> [ ":" <a href="#abnf.dependencies" class="smpl">port</a> ] ) / <a href="#abnf.dependencies" class="smpl">pseudonym</a> 1659 1659 ; the name or pseudonym of the server adding 1660 1660 ; the Warning header, for use in debugging … … 1973 1973 </ul> 1974 1974 <h2 id="rfc.section.B.6"><a href="#rfc.section.B.6">B.6</a> <a id="changes.since.04" href="#changes.since.04">Since draft-ietf-httpbis-p6-cache-04</a></h2> 1975 <p id="rfc.section.B.6.p.1">Ongoing work on ABNF conversion (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>>): 1976 </p> 1977 <ul> 1978 <li>Use "/" instead of "|" for alternatives.</li> 1979 </ul> 1975 1980 <h1><a id="rfc.copyright" href="#rfc.copyright">Full Copyright Statement</a></h1> 1976 1981 <p>This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the -
draft-ietf-httpbis/latest/p6-cache.xml
r331 r334 1565 1565 1566 1566 <x:ref>cache-directive</x:ref> = <x:ref>cache-request-directive</x:ref> 1567 |<x:ref>cache-response-directive</x:ref>1567 / <x:ref>cache-response-directive</x:ref> 1568 1568 1569 1569 <x:ref>cache-request-directive</x:ref> = 1570 1570 "no-cache" ; <xref target="what.is.cacheable"/> 1571 |"no-store" ; <xref target="what.may.be.stored.by.caches"/>1572 |"max-age" "=" <x:ref>delta-seconds</x:ref> ; <xref target="modifications.of.the.basic.expiration.mechanism"/>, <xref format="counter" target="cache.revalidation.and.reload.controls"/>1573 |"max-stale" [ "=" <x:ref>delta-seconds</x:ref> ] ; <xref target="modifications.of.the.basic.expiration.mechanism"/>1574 |"min-fresh" "=" <x:ref>delta-seconds</x:ref> ; <xref target="modifications.of.the.basic.expiration.mechanism"/>1575 |"no-transform" ; <xref target="no-transform.directive"/>1576 |"only-if-cached" ; <xref target="cache.revalidation.and.reload.controls"/>1577 |<x:ref>cache-extension</x:ref> ; <xref target="cache.control.extensions"/>1571 / "no-store" ; <xref target="what.may.be.stored.by.caches"/> 1572 / "max-age" "=" <x:ref>delta-seconds</x:ref> ; <xref target="modifications.of.the.basic.expiration.mechanism"/>, <xref format="counter" target="cache.revalidation.and.reload.controls"/> 1573 / "max-stale" [ "=" <x:ref>delta-seconds</x:ref> ] ; <xref target="modifications.of.the.basic.expiration.mechanism"/> 1574 / "min-fresh" "=" <x:ref>delta-seconds</x:ref> ; <xref target="modifications.of.the.basic.expiration.mechanism"/> 1575 / "no-transform" ; <xref target="no-transform.directive"/> 1576 / "only-if-cached" ; <xref target="cache.revalidation.and.reload.controls"/> 1577 / <x:ref>cache-extension</x:ref> ; <xref target="cache.control.extensions"/> 1578 1578 1579 1579 <x:ref>cache-response-directive</x:ref> = 1580 1580 "public" ; <xref target="what.is.cacheable"/> 1581 |"private" [ "=" <x:ref>DQUOTE</x:ref> 1#<x:ref>field-name</x:ref> <x:ref>DQUOTE</x:ref> ] ; <xref target="what.is.cacheable"/>1582 |"no-cache" [ "=" <x:ref>DQUOTE</x:ref> 1#<x:ref>field-name</x:ref> <x:ref>DQUOTE</x:ref> ] ; <xref target="what.is.cacheable"/>1583 |"no-store" ; <xref target="what.may.be.stored.by.caches"/>1584 |"no-transform" ; <xref target="no-transform.directive"/>1585 |"must-revalidate" ; <xref target="cache.revalidation.and.reload.controls"/>1586 |"proxy-revalidate" ; <xref target="cache.revalidation.and.reload.controls"/>1587 |"max-age" "=" <x:ref>delta-seconds</x:ref> ; <xref target="modifications.of.the.basic.expiration.mechanism"/>1588 |"s-maxage" "=" <x:ref>delta-seconds</x:ref> ; <xref target="modifications.of.the.basic.expiration.mechanism"/>1589 |<x:ref>cache-extension</x:ref> ; <xref target="cache.control.extensions"/>1590 1591 <x:ref>cache-extension</x:ref> = <x:ref>token</x:ref> [ "=" ( <x:ref>token</x:ref> |<x:ref>quoted-string</x:ref> ) ]1581 / "private" [ "=" <x:ref>DQUOTE</x:ref> 1#<x:ref>field-name</x:ref> <x:ref>DQUOTE</x:ref> ] ; <xref target="what.is.cacheable"/> 1582 / "no-cache" [ "=" <x:ref>DQUOTE</x:ref> 1#<x:ref>field-name</x:ref> <x:ref>DQUOTE</x:ref> ] ; <xref target="what.is.cacheable"/> 1583 / "no-store" ; <xref target="what.may.be.stored.by.caches"/> 1584 / "no-transform" ; <xref target="no-transform.directive"/> 1585 / "must-revalidate" ; <xref target="cache.revalidation.and.reload.controls"/> 1586 / "proxy-revalidate" ; <xref target="cache.revalidation.and.reload.controls"/> 1587 / "max-age" "=" <x:ref>delta-seconds</x:ref> ; <xref target="modifications.of.the.basic.expiration.mechanism"/> 1588 / "s-maxage" "=" <x:ref>delta-seconds</x:ref> ; <xref target="modifications.of.the.basic.expiration.mechanism"/> 1589 / <x:ref>cache-extension</x:ref> ; <xref target="cache.control.extensions"/> 1590 1591 <x:ref>cache-extension</x:ref> = <x:ref>token</x:ref> [ "=" ( <x:ref>token</x:ref> / <x:ref>quoted-string</x:ref> ) ] 1592 1592 </artwork></figure> 1593 1593 <t> … … 2157 2157 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Pragma"/><iref primary="true" item="Grammar" subitem="pragma-directive"/><iref primary="true" item="Grammar" subitem="extension-pragma"/> 2158 2158 <x:ref>Pragma</x:ref> = "Pragma" ":" 1#<x:ref>pragma-directive</x:ref> 2159 <x:ref>pragma-directive</x:ref> = "no-cache" |<x:ref>extension-pragma</x:ref>2160 <x:ref>extension-pragma</x:ref> = <x:ref>token</x:ref> [ "=" ( <x:ref>token</x:ref> |<x:ref>quoted-string</x:ref> ) ]2159 <x:ref>pragma-directive</x:ref> = "no-cache" / <x:ref>extension-pragma</x:ref> 2160 <x:ref>extension-pragma</x:ref> = <x:ref>token</x:ref> [ "=" ( <x:ref>token</x:ref> / <x:ref>quoted-string</x:ref> ) ] 2161 2161 </artwork></figure> 2162 2162 <t> … … 2205 2205 </t> 2206 2206 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Vary"/> 2207 <x:ref>Vary</x:ref> = "Vary" ":" ( "*" |1#<x:ref>field-name</x:ref> )2207 <x:ref>Vary</x:ref> = "Vary" ":" ( "*" / 1#<x:ref>field-name</x:ref> ) 2208 2208 </artwork></figure> 2209 2209 <t> … … 2268 2268 2269 2269 <x:ref>warn-code</x:ref> = 3<x:ref>DIGIT</x:ref> 2270 <x:ref>warn-agent</x:ref> = ( <x:ref>uri-host</x:ref> [ ":" <x:ref>port</x:ref> ] ) |<x:ref>pseudonym</x:ref>2270 <x:ref>warn-agent</x:ref> = ( <x:ref>uri-host</x:ref> [ ":" <x:ref>port</x:ref> ] ) / <x:ref>pseudonym</x:ref> 2271 2271 ; the name or pseudonym of the server adding 2272 2272 ; the Warning header, for use in debugging … … 3028 3028 <section title="Since draft-ietf-httpbis-p6-cache-04" anchor="changes.since.04"> 3029 3029 <t> 3030 Ongoing work on ABNF conversion (<eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/36"/>): 3031 <list style="symbols"> 3032 <t> 3033 Use "/" instead of "|" for alternatives. 3034 </t> 3035 </list> 3030 3036 </t> 3031 3037 </section>
Note: See TracChangeset
for help on using the changeset viewer.