Changeset 334


Ignore:
Timestamp:
Nov 5, 2008, 6:50:10 AM (11 years ago)
Author:
julian.reschke@…
Message:

use "/" instead of "|" for alternatives (related to #36)

Location:
draft-ietf-httpbis/latest
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • draft-ietf-httpbis/latest/p1-messaging.html

    r331 r334  
    476476         <tr>
    477477            <td class="header left"></td>
    478             <td class="header right">November 1, 2008</td>
     478            <td class="header right">November 5, 2008</td>
    479479         </tr>
    480480      </table>
     
    906906         <dd>Quotation marks surround literal text. Unless stated otherwise, the text is case-insensitive.</dd>
    907907      </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>
    911911      </dl>
    912912      <p id="rfc.section.2.1.p.5">(rule1 rule2) </p>
    913913      <dl class="empty">
    914          <dd>Elements enclosed in parentheses are treated as a single element. Thus, "(elem (foo | bar) elem)" allows the token sequences
     914         <dd>Elements enclosed in parentheses are treated as a single element. Thus, "(elem (foo / bar) elem)" allows the token sequences
    915915            "elem foo elem" and "elem bar elem".
    916916         </dd>
     
    973973  <a href="#core.rules" class="smpl">CHAR</a>           = %x01-7F
    974974                   ; any US-ASCII character, excluding NUL
    975   <a href="#core.rules" class="smpl">ALPHA</a>          = %x41-5A | %x61-7A
    976                    ; A-Z | a-z
     975  <a href="#core.rules" class="smpl">ALPHA</a>          = %x41-5A / %x61-7A
     976                   ; A-Z / a-z
    977977  <a href="#core.rules" class="smpl">DIGIT</a>          = %x30-39
    978978                   ; any US-ASCII digit "0".."9"
    979   <a href="#core.rules" class="smpl">CTL</a>            = %x00-1F | %x7F
     979  <a href="#core.rules" class="smpl">CTL</a>            = %x00-1F / %x7F
    980980                   ; (octets 0 - 31) and DEL (127)
    981981  <a href="#core.rules" class="smpl">CR</a>             = %x0D
     
    10001000         </p>
    10011001      </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> )
    10031003</pre><div id="rule.TEXT">
    10041004         <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
     
    10061006         </p>
    10071007      </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>
    10091009                 ; 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>
    10101010</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
     
    10141014         <p id="rfc.section.2.2.p.10">  Hexadecimal numeric characters are used in several protocol elements.</p>
    10151015      </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>
    10181018</pre><div id="rule.token.separators">
    10191019         <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&nbsp;3.4</a>).
    10201020         </p>
    10211021      </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>     = "(" | ")" | "&lt;" | "&gt;" | "@"
    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>     = "(" / ")" / "&lt;" / "&gt;" / "@"
     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>
    10261026                 
    1027   <a href="#rule.token.separators" class="smpl">tchar</a>          = "!" | "#" | "$" | "%" | "&amp;" | "'" | "*"
    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>          = "!" / "#" / "$" / "%" / "&amp;" / "'" / "*"
     1028                 / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~"
     1029                 / <a href="#core.rules" class="smpl">DIGIT</a> / <a href="#core.rules" class="smpl">ALPHA</a>
    10301030                 ; 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>
    10311031                 
     
    10371037         </p>
    10381038      </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> ) ")"
    10401040  <a href="#rule.comment" class="smpl">ctext</a>          = &lt;any <a href="#rule.TEXT" class="smpl">TEXT</a> excluding "(" and ")"&gt;
    10411041</pre><div id="rule.quoted-string">
    10421042         <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>
    10431043      </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> )
    10451045  <a href="#rule.quoted-string" class="smpl">qdtext</a>         = &lt;any <a href="#rule.TEXT" class="smpl">TEXT</a> excluding <a href="#core.rules" class="smpl">DQUOTE</a> and "\"&gt;
    10461046</pre><div id="rule.quoted-pair">
     
    10481048         </p>
    10491049      </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 /
    10521052                   %x0E-FF ; Characters excluding NUL, <a href="#core.rules" class="smpl">CR</a> and <a href="#core.rules" class="smpl">LF</a>
    10531053  <a href="#rule.quoted-pair" class="smpl">quoted-pair</a>    = "\" <a href="#rule.quoted-pair" class="smpl">quoted-text</a>
     
    11701170         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.
    11711171      </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>
    11741174  <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
    11751175  <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
     
    11791179  <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>
    11801180                 ; 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> ))
    11821182                 ; month day (e.g., Jun  2)
    11831183  <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>
    11841184                 ; 00:00:00 - 23:59:59
    1185   <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
     1185  <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
    11921192               
    11931193  GMT   = %x47.4D.54 ; "GMT", case-sensitive
     
    12291229         is a property of the message, not of the original entity.
    12301230      </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>
    12321232  <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> )
    12331233</pre><div id="rule.parameter">
     
    12361236      <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>
    12371237  <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>
    12391239</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&nbsp;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&nbsp;8.7</a>).
    12401240      </p>
     
    12711271  <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> ] )
    12721272  <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>
    12741274  <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
    12751275  <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>)
     
    13281328      <h2 id="rfc.section.4.1"><a href="#rfc.section.4.1">4.1</a>&nbsp;<a id="message.types" href="#message.types">Message Types</a></h2>
    13291329      <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 messages
     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 messages
    13311331</pre><p id="rfc.section.4.1.p.3">Request (<a href="#request" title="Request">Section&nbsp;5</a>) and Response (<a href="#response" title="Response">Section&nbsp;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
    13321332         fields (also known as "headers"), an empty line (i.e., a line with nothing preceding the CRLF) indicating the end of the header
     
    13371337                    <a href="#rule.CRLF" class="smpl">CRLF</a>
    13381338                    [ <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>
    13401340</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
    13411341         stream at the beginning of a message and receives a CRLF first, it should ignore the CRLF.
     
    13531353      <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> ]
    13541354  <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> )
    13561356  <a href="#message.headers" class="smpl">field-content</a>  = &lt;field content&gt;
    13571357                   ; the <a href="#core.rules" class="smpl">OCTET</a>s making up the field-value
     
    13831383      </p>
    13841384      <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                | &lt;entity-body encoded as per <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a>&gt;
     1385               / &lt;entity-body encoded as per <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a>&gt;
    13861386</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
    13871387         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&nbsp;3.4</a> places restrictions on when certain transfer-codings may be used.)
     
    14511451      </p>
    14521452      <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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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>
    14611461</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
    14621462         or experimental header fields may be given the semantics of general header fields if all parties in the communication recognize
     
    14691469      <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&nbsp;5.1</a>
    14701470                  *(( <a href="#general.header.fields" class="smpl">general-header</a>        ; <a href="#general.header.fields" title="General Header Fields">Section&nbsp;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>
    14731473                  <a href="#rule.CRLF" class="smpl">CRLF</a>
    14741474                  [ <a href="#message.body" class="smpl">message-body</a> ]          ; <a href="#message.body" title="Message Body">Section&nbsp;4.3</a>
     
    14851485      </p>
    14861486      <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>
    14901490</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
    14911491         not apply to a particular resource, but to the server itself, and is only allowed when the method used does not necessarily
     
    15471547      <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&nbsp;6.1</a>
    15481548                  *(( <a href="#general.header.fields" class="smpl">general-header</a>        ; <a href="#general.header.fields" title="General Header Fields">Section&nbsp;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>
    15511551                  <a href="#rule.CRLF" class="smpl">CRLF</a>
    15521552                  [ <a href="#message.body" class="smpl">message-body</a> ]          ; <a href="#message.body" title="Message Body">Section&nbsp;4.3</a>
     
    18671867      </p>
    18681868      <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> ] )
    18701870</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,
    18711871         as defined in <a href="#chunked.transfer.encoding" title="Chunked Transfer Coding">Section&nbsp;3.4.1</a>. This keyword is reserved for use with transfer-coding values even though it does not itself represent a transfer-coding.
     
    19771977  <a href="#header.via" class="smpl">protocol-name</a>     = <a href="#rule.token.separators" class="smpl">token</a>
    19781978  <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>
    19801980  <a href="#header.via" class="smpl">pseudonym</a>         = <a href="#rule.token.separators" class="smpl">token</a>
    19811981</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
     
    27832783         <li> &lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/132">http://tools.ietf.org/wg/httpbis/trac/ticket/132</a>&gt;: "RFC 2822 is updated by RFC 5322"
    27842784         </li>
     2785      </ul>
     2786      <p id="rfc.section.D.6.p.2">Ongoing work on ABNF conversion (&lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>&gt;):
     2787      </p>
     2788      <ul>
     2789         <li>Use "/" instead of "|" for alternatives.</li>
    27852790      </ul>
    27862791      <h1><a id="rfc.copyright" href="#rfc.copyright">Full Copyright Statement</a></h1>
  • draft-ietf-httpbis/latest/p1-messaging.xml

    r331 r334  
    700700</t>
    701701<t>
    702    rule1 | rule2
     702   rule1 / rule2
    703703  <list>
    704704    <t>
    705       Elements separated by a bar ("|") are alternatives, e.g., "yes |
     705      Elements separated by a forward slash ("/") are alternatives, e.g., "yes /
    706706      no" will accept yes or no.
    707707    </t>
     
    713713    <t>
    714714      Elements enclosed in parentheses are treated as a single element.
    715       Thus, "(elem (foo | bar) elem)" allows the token sequences "elem
     715      Thus, "(elem (foo / bar) elem)" allows the token sequences "elem
    716716      foo elem" and "elem bar elem".
    717717    </t>
     
    829829  <x:ref>CHAR</x:ref>           = %x01-7F
    830830                   ; any US-ASCII character, excluding NUL
    831   <x:ref>ALPHA</x:ref>          = %x41-5A | %x61-7A
    832                    ; A-Z | a-z
     831  <x:ref>ALPHA</x:ref>          = %x41-5A / %x61-7A
     832                   ; A-Z / a-z
    833833  <x:ref>DIGIT</x:ref>          = %x30-39
    834834                   ; any US-ASCII digit "0".."9"
    835   <x:ref>CTL</x:ref>            = %x00-1F | %x7F
     835  <x:ref>CTL</x:ref>            = %x00-1F / %x7F
    836836                   ; (octets 0 - 31) and DEL (127)
    837837  <x:ref>CR</x:ref>             = %x0D
     
    865865</t>
    866866<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> )
    868868</artwork></figure>
    869869<t anchor="rule.TEXT">
     
    876876</t>
    877877<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>
    879879                 ; any <x:ref>OCTET</x:ref> except <x:ref>CTL</x:ref>s, but including <x:ref>LWS</x:ref>
    880880</artwork></figure>
     
    889889</t>
    890890<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>
    893893</artwork></figure>
    894894<t anchor="rule.token.separators">
     
    902902</t>
    903903<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>     = "(" | ")" | "&lt;" | "&gt;" | "@"
    905                  | "," | ";" | ":" | "\" | <x:ref>DQUOTE</x:ref>
    906                  | "/" | "[" | "]" | "?" | "="
    907                  | "{" | "}" | <x:ref>SP</x:ref> | <x:ref>HTAB</x:ref>
     904  <x:ref>separators</x:ref>     = "(" / ")" / "&lt;" / "&gt;" / "@"
     905                 / "," / ";" / ":" / "\" / <x:ref>DQUOTE</x:ref>
     906                 / "/" / "[" / "]" / "?" / "="
     907                 / "{" / "}" / <x:ref>SP</x:ref> / <x:ref>HTAB</x:ref>
    908908                 
    909   <x:ref>tchar</x:ref>          = "!" | "#" | "$" | "%" | "&amp;" | "'" | "*"
    910                  | "+" | "-" | "." | "^" | "_" | "`" | "|" | "~"
    911                  | <x:ref>DIGIT</x:ref> | <x:ref>ALPHA</x:ref>
     909  <x:ref>tchar</x:ref>          = "!" / "#" / "$" / "%" / "&amp;" / "'" / "*"
     910                 / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~"
     911                 / <x:ref>DIGIT</x:ref> / <x:ref>ALPHA</x:ref>
    912912                 ; any <x:ref>CHAR</x:ref> except <x:ref>CTL</x:ref>s or <x:ref>separators</x:ref>
    913913                 
     
    924924</t>
    925925<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> ) ")"
    927927  <x:ref>ctext</x:ref>          = &lt;any <x:ref>TEXT</x:ref> excluding "(" and ")"&gt;
    928928</artwork></figure>
     
    934934</t>
    935935<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> )
    937937  <x:ref>qdtext</x:ref>         = &lt;any <x:ref>TEXT</x:ref> excluding <x:ref>DQUOTE</x:ref> and "\">
    938938</artwork></figure>
     
    944944</t>
    945945<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 /
    948948                   %x0E-FF ; Characters excluding NUL, <x:ref>CR</x:ref> and <x:ref>LF</x:ref>
    949949  <x:ref>quoted-pair</x:ref>    = "\" <x:ref>quoted-text</x:ref>
     
    12281228</t>
    12291229<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>
    12321232  <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
    12331233  <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
     
    12371237  <x:ref>date2</x:ref>        = 2<x:ref>DIGIT</x:ref> "-" <x:ref>month</x:ref> "-" 2<x:ref>DIGIT</x:ref>
    12381238                 ; 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> ))
    12401240                 ; month day (e.g., Jun  2)
    12411241  <x:ref>time</x:ref>         = 2<x:ref>DIGIT</x:ref> ":" 2<x:ref>DIGIT</x:ref> ":" 2<x:ref>DIGIT</x:ref>
    12421242                 ; 00:00:00 - 23:59:59
    1243   <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
     1243  <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
    12501250               
    12511251  GMT   = <x:abnf-char-sequence>"GMT"</x:abnf-char-sequence> ; "GMT", case-sensitive
     
    13011301</t>
    13021302<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>
    13041304  <x:ref>transfer-extension</x:ref>      = <x:ref>token</x:ref> *( ";" <x:ref>parameter</x:ref> )
    13051305</artwork></figure>
     
    13131313  <x:ref>parameter</x:ref>               = <x:ref>attribute</x:ref> "=" <x:ref>value</x:ref>
    13141314  <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>
    13161316</artwork></figure>
    13171317<t>
     
    13861386  <x:ref>chunk-extension</x:ref>= *( ";" <x:ref>chunk-ext-name</x:ref> [ "=" <x:ref>chunk-ext-val</x:ref> ] )
    13871387  <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>
    13891389  <x:ref>chunk-data</x:ref>     = 1*<x:ref>OCTET</x:ref> ; a sequence of chunk-size octets
    13901390  <x:ref>trailer-part</x:ref>   = *(<x:ref>entity-header</x:ref> <x:ref>CRLF</x:ref>)
     
    14991499</t>
    15001500<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 messages
     1501  <x:ref>HTTP-message</x:ref>   = <x:ref>Request</x:ref> / <x:ref>Response</x:ref>     ; HTTP/1.1 messages
    15021502</artwork></figure>
    15031503<t>
     
    15141514                    <x:ref>CRLF</x:ref>
    15151515                    [ <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>
    15171517</artwork></figure>
    15181518<t>
     
    15521552  <x:ref>message-header</x:ref> = <x:ref>field-name</x:ref> ":" [ <x:ref>field-value</x:ref> ]
    15531553  <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> )
    15551555  <x:ref>field-content</x:ref>  = &lt;field content&gt;
    15561556                   ; the <x:ref>OCTET</x:ref>s making up the field-value
     
    16091609<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="message-body"/>
    16101610  <x:ref>message-body</x:ref> = <x:ref>entity-body</x:ref>
    1611                | &lt;entity-body encoded as per <x:ref>Transfer-Encoding</x:ref>&gt;
     1611               / &lt;entity-body encoded as per <x:ref>Transfer-Encoding</x:ref>&gt;
    16121612</artwork></figure>
    16131613<t>
     
    17421742<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="general-header"/>
    17431743  <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;
    17521752</artwork></figure>
    17531753<t>
     
    17731773  <x:ref>Request</x:ref>       = <x:ref>Request-Line</x:ref>              ; <xref target="request-line"/>
    17741774                  *(( <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;
    17771777                  <x:ref>CRLF</x:ref>
    17781778                  [ <x:ref>message-body</x:ref> ]          ; <xref target="message.body"/>
     
    18101810<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Request-URI"/>
    18111811  <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>
    18151815</artwork></figure>
    18161816<t>
     
    19391939  <x:ref>Response</x:ref>      = <x:ref>Status-Line</x:ref>               ; <xref target="status-line"/>
    19401940                  *(( <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;
    19431943                  <x:ref>CRLF</x:ref>
    19441944                  [ <x:ref>message-body</x:ref> ]          ; <xref target="message.body"/>
     
    26522652<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="TE"/><iref primary="true" item="Grammar" subitem="t-codings"/>
    26532653  <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> ] )
    26552655</artwork></figure>
    26562656<t>
     
    28662866  <x:ref>protocol-name</x:ref>     = <x:ref>token</x:ref>
    28672867  <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>
    28692869  <x:ref>pseudonym</x:ref>         = <x:ref>token</x:ref>
    28702870</artwork></figure>
     
    47084708  </list>
    47094709</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>
    47104718</section>
    47114719
  • draft-ietf-httpbis/latest/p2-semantics.html

    r333 r334  
    717717      <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>
    718718      <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&nbsp;8.2</a>
    719                  | %x47.45.54               ; "GET", <a href="#GET" id="rfc.xref.GET.1" title="GET">Section&nbsp;8.3</a>
    720                  | %x48.45.41.44            ; "HEAD", <a href="#HEAD" id="rfc.xref.HEAD.1" title="HEAD">Section&nbsp;8.4</a>
    721                  | %x50.4F.53.54            ; "POST", <a href="#POST" id="rfc.xref.POST.1" title="POST">Section&nbsp;8.5</a>
    722                  | %x50.55.54               ; "PUT", <a href="#PUT" id="rfc.xref.PUT.1" title="PUT">Section&nbsp;8.6</a>
    723                  | %x44.45.4C.45.54.45      ; "DELETE", <a href="#DELETE" id="rfc.xref.DELETE.1" title="DELETE">Section&nbsp;8.7</a>
    724                  | %x54.52.41.43.45         ; "TRACE", <a href="#TRACE" id="rfc.xref.TRACE.1" title="TRACE">Section&nbsp;8.8</a>
    725                  | %x43.4F.4E.4E.45.43.54   ; "CONNECT", <a href="#CONNECT" id="rfc.xref.CONNECT.1" title="CONNECT">Section&nbsp;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&nbsp;8.3</a>
     720                 / %x48.45.41.44            ; "HEAD", <a href="#HEAD" id="rfc.xref.HEAD.1" title="HEAD">Section&nbsp;8.4</a>
     721                 / %x50.4F.53.54            ; "POST", <a href="#POST" id="rfc.xref.POST.1" title="POST">Section&nbsp;8.5</a>
     722                 / %x50.55.54               ; "PUT", <a href="#PUT" id="rfc.xref.PUT.1" title="PUT">Section&nbsp;8.6</a>
     723                 / %x44.45.4C.45.54.45      ; "DELETE", <a href="#DELETE" id="rfc.xref.DELETE.1" title="DELETE">Section&nbsp;8.7</a>
     724                 / %x54.52.41.43.45         ; "TRACE", <a href="#TRACE" id="rfc.xref.TRACE.1" title="TRACE">Section&nbsp;8.8</a>
     725                 / %x43.4F.4E.4E.45.43.54   ; "CONNECT", <a href="#CONNECT" id="rfc.xref.CONNECT.1" title="CONNECT">Section&nbsp;8.9</a>
     726                 / <a href="#method" class="smpl">extension-method</a>
    727727  <a href="#method" class="smpl">extension-method</a> = <a href="#notation" class="smpl">token</a>
    728728</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&nbsp;10.1</a>). The return code of the response always notifies the client whether a method is currently allowed on a resource, since the
     
    753753      </p>
    754754      <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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;10.9</a>
    773773</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
    774774         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.
     
    785785      <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>    =
    786786         "100"  ; <a href="#status.100" id="rfc.xref.status.100.1" title="100 Continue">Section&nbsp;9.1.1</a>: Continue
    787        | "101"  ; <a href="#status.101" id="rfc.xref.status.101.1" title="101 Switching Protocols">Section&nbsp;9.1.2</a>: Switching Protocols
    788        | "200"  ; <a href="#status.200" id="rfc.xref.status.200.1" title="200 OK">Section&nbsp;9.2.1</a>: OK
    789        | "201"  ; <a href="#status.201" id="rfc.xref.status.201.1" title="201 Created">Section&nbsp;9.2.2</a>: Created
    790        | "202"  ; <a href="#status.202" id="rfc.xref.status.202.1" title="202 Accepted">Section&nbsp;9.2.3</a>: Accepted
    791        | "203"  ; <a href="#status.203" id="rfc.xref.status.203.1" title="203 Non-Authoritative Information">Section&nbsp;9.2.4</a>: Non-Authoritative Information
    792        | "204"  ; <a href="#status.204" id="rfc.xref.status.204.1" title="204 No Content">Section&nbsp;9.2.5</a>: No Content
    793        | "205"  ; <a href="#status.205" id="rfc.xref.status.205.1" title="205 Reset Content">Section&nbsp;9.2.6</a>: Reset Content
    794        | "206"  ; <a href="#status.206" id="rfc.xref.status.206.1" title="206 Partial Content">Section&nbsp;9.2.7</a>: Partial Content
    795        | "300"  ; <a href="#status.300" id="rfc.xref.status.300.1" title="300 Multiple Choices">Section&nbsp;9.3.1</a>: Multiple Choices
    796        | "301"  ; <a href="#status.301" id="rfc.xref.status.301.1" title="301 Moved Permanently">Section&nbsp;9.3.2</a>: Moved Permanently
    797        | "302"  ; <a href="#status.302" id="rfc.xref.status.302.1" title="302 Found">Section&nbsp;9.3.3</a>: Found
    798        | "303"  ; <a href="#status.303" id="rfc.xref.status.303.1" title="303 See Other">Section&nbsp;9.3.4</a>: See Other
    799        | "304"  ; <a href="#status.304" id="rfc.xref.status.304.1" title="304 Not Modified">Section&nbsp;9.3.5</a>: Not Modified
    800        | "305"  ; <a href="#status.305" id="rfc.xref.status.305.1" title="305 Use Proxy">Section&nbsp;9.3.6</a>: Use Proxy
    801        | "307"  ; <a href="#status.307" id="rfc.xref.status.307.1" title="307 Temporary Redirect">Section&nbsp;9.3.8</a>: Temporary Redirect
    802        | "400"  ; <a href="#status.400" id="rfc.xref.status.400.1" title="400 Bad Request">Section&nbsp;9.4.1</a>: Bad Request
    803        | "401"  ; <a href="#status.401" id="rfc.xref.status.401.1" title="401 Unauthorized">Section&nbsp;9.4.2</a>: Unauthorized
    804        | "402"  ; <a href="#status.402" id="rfc.xref.status.402.1" title="402 Payment Required">Section&nbsp;9.4.3</a>: Payment Required
    805        | "403"  ; <a href="#status.403" id="rfc.xref.status.403.1" title="403 Forbidden">Section&nbsp;9.4.4</a>: Forbidden
    806        | "404"  ; <a href="#status.404" id="rfc.xref.status.404.1" title="404 Not Found">Section&nbsp;9.4.5</a>: Not Found
    807        | "405"  ; <a href="#status.405" id="rfc.xref.status.405.1" title="405 Method Not Allowed">Section&nbsp;9.4.6</a>: Method Not Allowed
    808        | "406"  ; <a href="#status.406" id="rfc.xref.status.406.1" title="406 Not Acceptable">Section&nbsp;9.4.7</a>: Not Acceptable
    809        | "407"  ; <a href="#status.407" id="rfc.xref.status.407.1" title="407 Proxy Authentication Required">Section&nbsp;9.4.8</a>: Proxy Authentication Required
    810        | "408"  ; <a href="#status.408" id="rfc.xref.status.408.1" title="408 Request Timeout">Section&nbsp;9.4.9</a>: Request Time-out
    811        | "409"  ; <a href="#status.409" id="rfc.xref.status.409.1" title="409 Conflict">Section&nbsp;9.4.10</a>: Conflict
    812        | "410"  ; <a href="#status.410" id="rfc.xref.status.410.1" title="410 Gone">Section&nbsp;9.4.11</a>: Gone
    813        | "411"  ; <a href="#status.411" id="rfc.xref.status.411.1" title="411 Length Required">Section&nbsp;9.4.12</a>: Length Required
    814        | "412"  ; <a href="#status.412" id="rfc.xref.status.412.1" title="412 Precondition Failed">Section&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;9.4.18</a>: Expectation Failed
    820        | "500"  ; <a href="#status.500" id="rfc.xref.status.500.1" title="500 Internal Server Error">Section&nbsp;9.5.1</a>: Internal Server Error
    821        | "501"  ; <a href="#status.501" id="rfc.xref.status.501.1" title="501 Not Implemented">Section&nbsp;9.5.2</a>: Not Implemented
    822        | "502"  ; <a href="#status.502" id="rfc.xref.status.502.1" title="502 Bad Gateway">Section&nbsp;9.5.3</a>: Bad Gateway
    823        | "503"  ; <a href="#status.503" id="rfc.xref.status.503.1" title="503 Service Unavailable">Section&nbsp;9.5.4</a>: Service Unavailable
    824        | "504"  ; <a href="#status.504" id="rfc.xref.status.504.1" title="504 Gateway Timeout">Section&nbsp;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&nbsp;9.5.6</a>: HTTP Version not supported
    826        | <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&nbsp;9.1.2</a>: Switching Protocols
     788       / "200"  ; <a href="#status.200" id="rfc.xref.status.200.1" title="200 OK">Section&nbsp;9.2.1</a>: OK
     789       / "201"  ; <a href="#status.201" id="rfc.xref.status.201.1" title="201 Created">Section&nbsp;9.2.2</a>: Created
     790       / "202"  ; <a href="#status.202" id="rfc.xref.status.202.1" title="202 Accepted">Section&nbsp;9.2.3</a>: Accepted
     791       / "203"  ; <a href="#status.203" id="rfc.xref.status.203.1" title="203 Non-Authoritative Information">Section&nbsp;9.2.4</a>: Non-Authoritative Information
     792       / "204"  ; <a href="#status.204" id="rfc.xref.status.204.1" title="204 No Content">Section&nbsp;9.2.5</a>: No Content
     793       / "205"  ; <a href="#status.205" id="rfc.xref.status.205.1" title="205 Reset Content">Section&nbsp;9.2.6</a>: Reset Content
     794       / "206"  ; <a href="#status.206" id="rfc.xref.status.206.1" title="206 Partial Content">Section&nbsp;9.2.7</a>: Partial Content
     795       / "300"  ; <a href="#status.300" id="rfc.xref.status.300.1" title="300 Multiple Choices">Section&nbsp;9.3.1</a>: Multiple Choices
     796       / "301"  ; <a href="#status.301" id="rfc.xref.status.301.1" title="301 Moved Permanently">Section&nbsp;9.3.2</a>: Moved Permanently
     797       / "302"  ; <a href="#status.302" id="rfc.xref.status.302.1" title="302 Found">Section&nbsp;9.3.3</a>: Found
     798       / "303"  ; <a href="#status.303" id="rfc.xref.status.303.1" title="303 See Other">Section&nbsp;9.3.4</a>: See Other
     799       / "304"  ; <a href="#status.304" id="rfc.xref.status.304.1" title="304 Not Modified">Section&nbsp;9.3.5</a>: Not Modified
     800       / "305"  ; <a href="#status.305" id="rfc.xref.status.305.1" title="305 Use Proxy">Section&nbsp;9.3.6</a>: Use Proxy
     801       / "307"  ; <a href="#status.307" id="rfc.xref.status.307.1" title="307 Temporary Redirect">Section&nbsp;9.3.8</a>: Temporary Redirect
     802       / "400"  ; <a href="#status.400" id="rfc.xref.status.400.1" title="400 Bad Request">Section&nbsp;9.4.1</a>: Bad Request
     803       / "401"  ; <a href="#status.401" id="rfc.xref.status.401.1" title="401 Unauthorized">Section&nbsp;9.4.2</a>: Unauthorized
     804       / "402"  ; <a href="#status.402" id="rfc.xref.status.402.1" title="402 Payment Required">Section&nbsp;9.4.3</a>: Payment Required
     805       / "403"  ; <a href="#status.403" id="rfc.xref.status.403.1" title="403 Forbidden">Section&nbsp;9.4.4</a>: Forbidden
     806       / "404"  ; <a href="#status.404" id="rfc.xref.status.404.1" title="404 Not Found">Section&nbsp;9.4.5</a>: Not Found
     807       / "405"  ; <a href="#status.405" id="rfc.xref.status.405.1" title="405 Method Not Allowed">Section&nbsp;9.4.6</a>: Method Not Allowed
     808       / "406"  ; <a href="#status.406" id="rfc.xref.status.406.1" title="406 Not Acceptable">Section&nbsp;9.4.7</a>: Not Acceptable
     809       / "407"  ; <a href="#status.407" id="rfc.xref.status.407.1" title="407 Proxy Authentication Required">Section&nbsp;9.4.8</a>: Proxy Authentication Required
     810       / "408"  ; <a href="#status.408" id="rfc.xref.status.408.1" title="408 Request Timeout">Section&nbsp;9.4.9</a>: Request Time-out
     811       / "409"  ; <a href="#status.409" id="rfc.xref.status.409.1" title="409 Conflict">Section&nbsp;9.4.10</a>: Conflict
     812       / "410"  ; <a href="#status.410" id="rfc.xref.status.410.1" title="410 Gone">Section&nbsp;9.4.11</a>: Gone
     813       / "411"  ; <a href="#status.411" id="rfc.xref.status.411.1" title="411 Length Required">Section&nbsp;9.4.12</a>: Length Required
     814       / "412"  ; <a href="#status.412" id="rfc.xref.status.412.1" title="412 Precondition Failed">Section&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;9.4.18</a>: Expectation Failed
     820       / "500"  ; <a href="#status.500" id="rfc.xref.status.500.1" title="500 Internal Server Error">Section&nbsp;9.5.1</a>: Internal Server Error
     821       / "501"  ; <a href="#status.501" id="rfc.xref.status.501.1" title="501 Not Implemented">Section&nbsp;9.5.2</a>: Not Implemented
     822       / "502"  ; <a href="#status.502" id="rfc.xref.status.502.1" title="502 Bad Gateway">Section&nbsp;9.5.3</a>: Bad Gateway
     823       / "503"  ; <a href="#status.503" id="rfc.xref.status.503.1" title="503 Service Unavailable">Section&nbsp;9.5.4</a>: Service Unavailable
     824       / "504"  ; <a href="#status.504" id="rfc.xref.status.504.1" title="504 Gateway Timeout">Section&nbsp;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&nbsp;9.5.6</a>: HTTP Version not supported
     826       / <a href="#request.header.fields" class="smpl">extension-code</a>
    827827
    828828  <a href="#request.header.fields" class="smpl">extension-code</a> = 3<a href="#notation" class="smpl">DIGIT</a>
     
    847847      </p>
    848848      <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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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>
    858858</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
    859859         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
     
    14731473      <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>
    14741474 
    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> )
    14771477                           *<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> ) ]
    14791479</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
    14801480         the request, some other 4xx status.
     
    15591559         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.
    15601560      </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> )
    15621562</pre><p id="rfc.section.10.6.p.3">Example:</p>
    15631563      <div id="rfc.figure.u.22"></div><pre class="text">    Referer: http://www.example.org/hypertext/Overview.html
     
    15721572         the time of the response.
    15731573      </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> )
    15751575</pre><div id="rule.delta-seconds">
    15761576         <p id="rfc.section.10.7.p.3">  Time spans are non-negative decimal integers, representing time in seconds.</p>
     
    15881588         for identifying the application.
    15891589      </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> )
    15911591</pre><p id="rfc.section.10.8.p.3">Example:</p>
    15921592      <div id="rfc.figure.u.27"></div><pre class="text">    Server: CERN/3.0 libwww/2.17
     
    16071607         product tokens are listed in order of their significance for identifying the application.
    16081608      </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> )
    16101610</pre><p id="rfc.section.10.9.p.3">Example:</p>
    16111611      <div id="rfc.figure.u.29"></div><pre class="text">    User-Agent: CERN-LineMode/2.15 libwww/2.17b3
     
    23152315         <li> &lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/132">http://tools.ietf.org/wg/httpbis/trac/ticket/132</a>&gt;: "RFC 2822 is updated by RFC 5322"
    23162316         </li>
     2317      </ul>
     2318      <p id="rfc.section.B.6.p.2">Ongoing work on ABNF conversion (&lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>&gt;):
     2319      </p>
     2320      <ul>
     2321         <li>Use "/" instead of "|" for alternatives.</li>
    23172322      </ul>
    23182323      <h1><a id="rfc.copyright" href="#rfc.copyright">Full Copyright Statement</a></h1>
  • draft-ietf-httpbis/latest/p2-semantics.xml

    r333 r334  
    392392<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Method"/><iref primary="true" item="Grammar" subitem="extension-method"/>
    393393  <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>
    402402  <x:ref>extension-method</x:ref> = <x:ref>token</x:ref>
    403403</artwork></figure>
     
    454454<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="request-header"/>
    455455  <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"/>
    474474</artwork></figure>
    475475<t>
     
    505505  <x:ref>Status-Code</x:ref>    =
    506506         "100"  ; <xref target="status.100"/>: Continue
    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>
     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>
    547547
    548548  <x:ref>extension-code</x:ref> = 3<x:ref>DIGIT</x:ref>
     
    593593<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="response-header"/>
    594594  <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;
    604604</artwork></figure>
    605605<t>
     
    18351835  <x:ref>Expect</x:ref>       =  "Expect" ":" 1#<x:ref>expectation</x:ref>
    18361836 
    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> )
    18391839                           *<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> ) ]
    18411841</artwork></figure>
    18421842<t>
     
    20142014</t>
    20152015<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> )
    20172017</artwork></figure>
    20182018<t>
     
    20432043</t>
    20442044<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> )
    20462046</artwork></figure>
    20472047<t anchor="rule.delta-seconds">
     
    20782078</t>
    20792079<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> )
    20812081</artwork></figure>
    20822082<t>
     
    21172117</t>
    21182118<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> )
    21202120</artwork></figure>
    21212121<t>
     
    33183318  </list>
    33193319</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>
    33203328</section>
    33213329
  • draft-ietf-httpbis/latest/p3-payload.html

    r331 r334  
    484484         <tr>
    485485            <td class="header left"></td>
    486             <td class="header right">November 1, 2008</td>
     486            <td class="header right">November 5, 2008</td>
    487487         </tr>
    488488      </table>
     
    745745      <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>
    746746  <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>
    748748</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,
    749749         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
     
    800800      </p>
    801801      <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") ] )
    803803</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>
    804804      <h2 id="rfc.section.3.5"><a href="#rfc.section.3.5">3.5</a>&nbsp;<a id="language.tags" href="#language.tags">Language Tags</a></h2>
     
    832832      </p>
    833833      <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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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>
    843843 
    844844  <a href="#entity.header.fields" class="smpl">extension-header</a> = <a href="#abnf.dependencies" class="smpl">message-header</a>
     
    964964 
    965965  <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> )
    968968                   ) *( ";" <a href="#rule.parameter" class="smpl">parameter</a> )
    969969  <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> ) ]
    971971</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
    972972         all subtypes of that type. The media-range <em class="bcp14">MAY</em> include media type parameters that are applicable to that range.
     
    10301030      </p>
    10311031      <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> ] )
    10331033</pre><p id="rfc.section.6.2.p.3">Character set values are described in <a href="#character.sets" title="Character Sets">Section&nbsp;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
    10341034         example is
     
    10501050      <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" ":"
    10511051                     #( <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> / "*" )
    10531053</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.
    10541054      </p>
     
    11951195      </p>
    11961196      <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> )
    11981198</pre><p id="rfc.section.6.7.p.3">The value of Content-Location also defines the base URI for the entity.</p>
    11991199      <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
     
    16311631      <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" ":"
    16321632                        <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>
    16351635  <a href="#content-disposition" class="smpl">filename-parm</a> = "filename" "=" <a href="#notation" class="smpl">quoted-string</a>
    16361636  <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> )
    16381638</pre><p id="rfc.section.B.1.p.3">An example is</p>
    16391639      <div id="rfc.figure.u.41"></div><pre class="text">     Content-Disposition: attachment; filename="fname.ext"
     
    17421742         <li> &lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/132">http://tools.ietf.org/wg/httpbis/trac/ticket/132</a>&gt;: "RFC 2822 is updated by RFC 5322"
    17431743         </li>
     1744      </ul>
     1745      <p id="rfc.section.D.6.p.2">Ongoing work on ABNF conversion (&lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>&gt;):
     1746      </p>
     1747      <ul>
     1748         <li>Use "/" instead of "|" for alternatives.</li>
    17441749      </ul>
    17451750      <h1><a id="rfc.copyright" href="#rfc.copyright">Full Copyright Statement</a></h1>
  • draft-ietf-httpbis/latest/p3-payload.xml

    r331 r334  
    476476  <x:ref>parameter</x:ref>      = <x:ref>attribute</x:ref> "=" <x:ref>value</x:ref>
    477477  <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>
    479479</artwork></figure>
    480480<t>
     
    600600<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="qvalue"/>
    601601  <x:ref>qvalue</x:ref>         = ( "0" [ "." 0*3<x:ref>DIGIT</x:ref> ] )
    602                  | ( "1" [ "." 0*3("0") ] )
     602                 / ( "1" [ "." 0*3("0") ] )
    603603</artwork></figure>
    604604<t>
     
    668668<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="entity-header"/><iref primary="true" item="Grammar" subitem="extension-header"/>
    669669  <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>
    679679 
    680680  <x:ref>extension-header</x:ref> = <x:ref>message-header</x:ref>
     
    929929 
    930930  <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> )
    933933                   ) *( ";" <x:ref>parameter</x:ref> )
    934934  <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> ) ]
    936936</artwork></figure>
    937937<t>
     
    10481048<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Accept-Charset"/>
    10491049  <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> ] )
    10511051</artwork></figure>
    10521052<t>
     
    10891089  <x:ref>Accept-Encoding</x:ref>  = "Accept-Encoding" ":"
    10901090                     #( <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> / "*" )
    10921092</artwork></figure>
    10931093<t>
     
    13651365<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Content-Location"/>
    13661366  <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> )
    13681368</artwork></figure>
    13691369<t>
     
    24932493  <x:ref>content-disposition</x:ref> = "Content-Disposition" ":"
    24942494                        <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>
    24972497  <x:ref>filename-parm</x:ref> = "filename" "=" <x:ref>quoted-string</x:ref>
    24982498  <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> )
    25002500</artwork></figure>
    25012501<t>
     
    27142714  </list>
    27152715</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>
    27172725
    27182726</section>
  • draft-ietf-httpbis/latest/p4-conditional.html

    r331 r334  
    473473         <tr>
    474474            <td class="header left"></td>
    475             <td class="header right">November 1, 2008</td>
     475            <td class="header right">November 5, 2008</td>
    476476         </tr>
    477477      </table>
     
    853853         case, the value "*" matches any current entity of the resource.
    854854      </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> )
    856856</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
    857857         request (without the If-Match header) on that resource, or if "*" is given and any current entity exists for that resource,
     
    933933      </p>
    934934      <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> )
    936936</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
    937937         request (without the If-None-Match header) on that resource, or if "*" is given and any current entity exists for that resource,
     
    11731173      </ul>
    11741174      <h2 id="rfc.section.B.6"><a href="#rfc.section.B.6">B.6</a>&nbsp;<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 (&lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>&gt;):
     1176      </p>
     1177      <ul>
     1178         <li>Use "/" instead of "|" for alternatives.</li>
     1179      </ul>
    11751180      <h1><a id="rfc.copyright" href="#rfc.copyright">Full Copyright Statement</a></h1>
    11761181      <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  
    707707</t>
    708708<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> )
    710710</artwork></figure>
    711711<t>
     
    863863</t>
    864864<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> )
    866866</artwork></figure>
    867867<t>
     
    13901390<section title="Since draft-ietf-httpbis-p4-conditional-04" anchor="changes.since.04">
    13911391<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>
    13921398</t>
    13931399</section>
  • draft-ietf-httpbis/latest/p5-range.html

    r332 r334  
    473473         <tr>
    474474            <td class="header left"></td>
    475             <td class="header right">November 2, 2008</td>
     475            <td class="header right">November 5, 2008</td>
    476476         </tr>
    477477      </table>
     
    598598         uses range units in the Range (<a href="#header.range" id="rfc.xref.header.range.1" title="Range">Section&nbsp;6.4</a>) and Content-Range (<a href="#header.content-range" id="rfc.xref.header.content-range.1" title="Content-Range">Section&nbsp;6.2</a>) header fields. An entity can be broken down into subranges according to various structural units.
    599599      </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>
    601601  <a href="#range.units" class="smpl">bytes-unit</a>       = "bytes"
    602602  <a href="#range.units" class="smpl">other-range-unit</a> = <a href="#notation" class="smpl">token</a>
     
    664664      <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>
    665665      <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"
    667667</pre><p id="rfc.section.6.1.p.3">Origin servers that accept byte-range requests <em class="bcp14">MAY</em> send
    668668      </p>
     
    685685  <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>
    686686                            <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> / "*" )
    688688 
    689689  <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                          / "*"
    691691                         
    692692  <a href="#header.content-range" class="smpl">instance-length</a>         = 1*<a href="#notation" class="smpl">DIGIT</a>
     
    758758         send me the part(s) that I am missing; otherwise, send me the entire new entity'.
    759759      </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> )
    761761</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
    762762         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.
     
    779779      <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>
    780780  <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> )
    782782  <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>]
    783783  <a href="#rule.ranges-specifier" class="smpl">first-byte-pos</a>  = 1*<a href="#notation" class="smpl">DIGIT</a>
     
    11011101         <li> &lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/133">http://tools.ietf.org/wg/httpbis/trac/ticket/133</a>&gt;: "multipart/byteranges minimum number of parts"
    11021102         </li>
     1103      </ul>
     1104      <p id="rfc.section.C.6.p.2">Ongoing work on ABNF conversion (&lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>&gt;):
     1105      </p>
     1106      <ul>
     1107         <li>Use "/" instead of "|" for alternatives.</li>
    11031108      </ul>
    11041109      <h1><a id="rfc.copyright" href="#rfc.copyright">Full Copyright Statement</a></h1>
  • draft-ietf-httpbis/latest/p5-range.xml

    r332 r334  
    293293</t>
    294294<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>
    296296  <x:ref>bytes-unit</x:ref>       = "bytes"
    297297  <x:ref>other-range-unit</x:ref> = <x:ref>token</x:ref>
     
    429429<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Accept-Ranges"/><iref primary="true" item="Grammar" subitem="acceptable-ranges"/>
    430430  <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"
    432432</artwork></figure>
    433433<t>
     
    473473  <x:ref>byte-content-range-spec</x:ref> = <x:ref>bytes-unit</x:ref> <x:ref>SP</x:ref>
    474474                            <x:ref>byte-range-resp-spec</x:ref> "/"
    475                             ( <x:ref>instance-length</x:ref> | "*" )
     475                            ( <x:ref>instance-length</x:ref> / "*" )
    476476 
    477477  <x:ref>byte-range-resp-spec</x:ref>    = (<x:ref>first-byte-pos</x:ref> "-" <x:ref>last-byte-pos</x:ref>)
    478                           | "*"
     478                          / "*"
    479479                         
    480480  <x:ref>instance-length</x:ref>         = 1*<x:ref>DIGIT</x:ref>
     
    613613</t>
    614614<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> )
    616616</artwork></figure>
    617617<t>
     
    663663  <x:ref>ranges-specifier</x:ref> = <x:ref>byte-ranges-specifier</x:ref>
    664664  <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> )
    666666  <x:ref>byte-range-spec</x:ref> = <x:ref>first-byte-pos</x:ref> "-" [<x:ref>last-byte-pos</x:ref>]
    667667  <x:ref>first-byte-pos</x:ref>  = 1*<x:ref>DIGIT</x:ref>
     
    13721372  </list>
    13731373</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>
    13741382</section>
    13751383
  • draft-ietf-httpbis/latest/p6-cache.html

    r331 r334  
    485485         <tr>
    486486            <td class="header left"></td>
    487             <td class="header right">November 1, 2008</td>
     487            <td class="header right">November 5, 2008</td>
    488488         </tr>
    489489      </table>
     
    12701270
    12711271  <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>
    12731273
    12741274  <a href="#header.cache-control" class="smpl">cache-request-directive</a> =
    12751275       "no-cache"                          ; <a href="#what.is.cacheable" title="What is Cacheable">Section&nbsp;16.2.1</a>
    1276      | "no-store"                          ; <a href="#what.may.be.stored.by.caches" title="What May be Stored by Caches">Section&nbsp;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&nbsp;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&nbsp;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&nbsp;16.2.3</a>
    1280      | "no-transform"                      ; <a href="#no-transform.directive" title="No-Transform Directive">Section&nbsp;16.2.5</a>
    1281      | "only-if-cached"                    ; <a href="#cache.revalidation.and.reload.controls" title="Cache Revalidation and Reload Controls">Section&nbsp;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&nbsp;16.2.6</a>
     1276     / "no-store"                          ; <a href="#what.may.be.stored.by.caches" title="What May be Stored by Caches">Section&nbsp;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&nbsp;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&nbsp;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&nbsp;16.2.3</a>
     1280     / "no-transform"                      ; <a href="#no-transform.directive" title="No-Transform Directive">Section&nbsp;16.2.5</a>
     1281     / "only-if-cached"                    ; <a href="#cache.revalidation.and.reload.controls" title="Cache Revalidation and Reload Controls">Section&nbsp;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&nbsp;16.2.6</a>
    12831283
    12841284  <a href="#header.cache-control" class="smpl">cache-response-directive</a> =
    12851285       "public"                               ; <a href="#what.is.cacheable" title="What is Cacheable">Section&nbsp;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&nbsp;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&nbsp;16.2.1</a>
    1288      | "no-store"                             ; <a href="#what.may.be.stored.by.caches" title="What May be Stored by Caches">Section&nbsp;16.2.2</a>
    1289      | "no-transform"                         ; <a href="#no-transform.directive" title="No-Transform Directive">Section&nbsp;16.2.5</a>
    1290      | "must-revalidate"                      ; <a href="#cache.revalidation.and.reload.controls" title="Cache Revalidation and Reload Controls">Section&nbsp;16.2.4</a>
    1291      | "proxy-revalidate"                     ; <a href="#cache.revalidation.and.reload.controls" title="Cache Revalidation and Reload Controls">Section&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;16.2.1</a>
     1288     / "no-store"                             ; <a href="#what.may.be.stored.by.caches" title="What May be Stored by Caches">Section&nbsp;16.2.2</a>
     1289     / "no-transform"                         ; <a href="#no-transform.directive" title="No-Transform Directive">Section&nbsp;16.2.5</a>
     1290     / "must-revalidate"                      ; <a href="#cache.revalidation.and.reload.controls" title="Cache Revalidation and Reload Controls">Section&nbsp;16.2.4</a>
     1291     / "proxy-revalidate"                     ; <a href="#cache.revalidation.and.reload.controls" title="Cache Revalidation and Reload Controls">Section&nbsp;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&nbsp;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&nbsp;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&nbsp;16.2.6</a>
    12951295
    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> ) ]
    12971297</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
    12981298         such a directive appears with a 1#field-name parameter, it applies only to the named field or fields, and not to the rest
     
    15991599      </p>
    16001600      <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> ) ]
    16031603</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
    16041604         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&nbsp;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.
     
    16251625         response is the appropriate representation. See <a href="#caching.negotiated.responses" title="Caching Negotiated Responses">Section&nbsp;8</a> for use of the Vary header field by caches.
    16261626      </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> )
    16281628</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
    16291629         to properly interpret future requests on that resource and informs the user agent about the presence of negotiation on that
     
    16561656 
    16571657  <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>
    16591659                  ; the name or pseudonym of the server adding
    16601660                  ; the Warning header, for use in debugging
     
    19731973      </ul>
    19741974      <h2 id="rfc.section.B.6"><a href="#rfc.section.B.6">B.6</a>&nbsp;<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 (&lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>&gt;):
     1976      </p>
     1977      <ul>
     1978         <li>Use "/" instead of "|" for alternatives.</li>
     1979      </ul>
    19751980      <h1><a id="rfc.copyright" href="#rfc.copyright">Full Copyright Statement</a></h1>
    19761981      <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  
    15651565
    15661566  <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>
    15681568
    15691569  <x:ref>cache-request-directive</x:ref> =
    15701570       "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"/>
    15781578
    15791579  <x:ref>cache-response-directive</x:ref> =
    15801580       "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> ) ]
    15921592</artwork></figure>
    15931593<t>
     
    21572157<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"/>
    21582158  <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> ) ]
    21612161</artwork></figure>
    21622162<t>
     
    22052205</t>
    22062206<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> )
    22082208</artwork></figure>
    22092209<t>
     
    22682268 
    22692269  <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>
    22712271                  ; the name or pseudonym of the server adding
    22722272                  ; the Warning header, for use in debugging
     
    30283028<section title="Since draft-ietf-httpbis-p6-cache-04" anchor="changes.since.04">
    30293029<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>
    30303036</t>
    30313037</section>
Note: See TracChangeset for help on using the changeset viewer.