Changeset 135


Ignore:
Timestamp:
Jan 1, 2008, 9:15:17 AM (12 years ago)
Author:
julian.reschke@…
Message:

Consistent indentation for all ABNF rules (addresses #36)

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

Legend:

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

    r134 r135  
    917917         set is defined by ANSI X3.4-1986 <a href="#USASCII" id="rfc.xref.USASCII.1"><cite title="Coded Character Set -- 7-bit American Standard Code for Information Interchange">[USASCII]</cite></a>.
    918918      </p>
    919       <div id="rfc.figure.u.4"></div><pre class="inline"><span id="rfc.iref.g.2"></span><span id="rfc.iref.g.3"></span><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span><span id="rfc.iref.g.6"></span><span id="rfc.iref.g.7"></span><span id="rfc.iref.g.8"></span><span id="rfc.iref.g.9"></span><span id="rfc.iref.g.10"></span><span id="rfc.iref.g.11"></span><span id="rfc.iref.g.12"></span>    OCTET          = &lt;any 8-bit sequence of data&gt;
    920     CHAR           = &lt;any US-ASCII character (octets 0 - 127)&gt;
    921     UPALPHA        = &lt;any US-ASCII uppercase letter "A".."Z"&gt;
    922     LOALPHA        = &lt;any US-ASCII lowercase letter "a".."z"&gt;
    923     ALPHA          = UPALPHA | LOALPHA
    924     DIGIT          = &lt;any US-ASCII digit "0".."9"&gt;
    925     CTL            = &lt;any US-ASCII control character
    926                      (octets 0 - 31) and DEL (127)&gt;
    927     CR             = &lt;US-ASCII CR, carriage return (13)&gt;
    928     LF             = &lt;US-ASCII LF, linefeed (10)&gt;
    929     SP             = &lt;US-ASCII SP, space (32)&gt;
    930     HT             = &lt;US-ASCII HT, horizontal-tab (9)&gt;
    931     &lt;"&gt;            = &lt;US-ASCII double-quote mark (34)&gt;
     919      <div id="rfc.figure.u.4"></div><pre class="inline"><span id="rfc.iref.g.2"></span><span id="rfc.iref.g.3"></span><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span><span id="rfc.iref.g.6"></span><span id="rfc.iref.g.7"></span><span id="rfc.iref.g.8"></span><span id="rfc.iref.g.9"></span><span id="rfc.iref.g.10"></span><span id="rfc.iref.g.11"></span><span id="rfc.iref.g.12"></span>  OCTET          = &lt;any 8-bit sequence of data&gt;
     920  CHAR           = &lt;any US-ASCII character (octets 0 - 127)&gt;
     921  UPALPHA        = &lt;any US-ASCII uppercase letter "A".."Z"&gt;
     922  LOALPHA        = &lt;any US-ASCII lowercase letter "a".."z"&gt;
     923  ALPHA          = UPALPHA | LOALPHA
     924  DIGIT          = &lt;any US-ASCII digit "0".."9"&gt;
     925  CTL            = &lt;any US-ASCII control character
     926                   (octets 0 - 31) and DEL (127)&gt;
     927  CR             = &lt;US-ASCII CR, carriage return (13)&gt;
     928  LF             = &lt;US-ASCII LF, linefeed (10)&gt;
     929  SP             = &lt;US-ASCII SP, space (32)&gt;
     930  HT             = &lt;US-ASCII HT, horizontal-tab (9)&gt;
     931  &lt;"&gt;            = &lt;US-ASCII double-quote mark (34)&gt;
    932932</pre><p id="rfc.section.2.2.p.3">HTTP/1.1 defines the sequence CR LF as the end-of-line marker for all protocol elements except the entity-body (see <a href="#tolerant.applications" title="Tolerant Applications">Appendix&nbsp;B</a> for tolerant applications). The end-of-line marker within an entity-body is defined by its associated media type, as described
    933933         in <a href="p3-payload.html#media.types" title="Media Types">Section 2.3</a> of <a href="#Part3" id="rfc.xref.Part3.5"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>.
    934934      </p>
    935       <div id="rfc.figure.u.5"></div><pre class="inline"><span id="rfc.iref.g.13"></span>    CRLF           = CR LF
     935      <div id="rfc.figure.u.5"></div><pre class="inline"><span id="rfc.iref.g.13"></span>  CRLF           = CR LF
    936936</pre><p id="rfc.section.2.2.p.5">HTTP/1.1 header field values can be folded onto multiple lines if the continuation line begins with a space or horizontal
    937937         tab. All linear white space, including folding, has the same semantics as SP. A recipient <em class="bcp14">MAY</em> replace any linear white space with a single SP before interpreting the field value or forwarding the message downstream.
    938938      </p>
    939       <div id="rfc.figure.u.6"></div><pre class="inline"><span id="rfc.iref.g.14"></span>    LWS            = [CRLF] 1*( SP | HT )
     939      <div id="rfc.figure.u.6"></div><pre class="inline"><span id="rfc.iref.g.14"></span>  LWS            = [CRLF] 1*( SP | HT )
    940940</pre><p id="rfc.section.2.2.p.7">The TEXT rule is only used for descriptive field contents and values that are not intended to be interpreted by the message
    941941         parser. Words of *TEXT <em class="bcp14">MAY</em> contain characters from character sets other than ISO-8859-1 <a href="#ISO-8859-1" id="rfc.xref.ISO-8859-1.1"><cite title="Information technology -- 8-bit single-byte coded graphic character sets -- Part 1: Latin alphabet No. 1">[ISO-8859-1]</cite></a> only when encoded according to the rules of <a href="#RFC2047" id="rfc.xref.RFC2047.1"><cite title="MIME (Multipurpose Internet Mail Extensions) Part Three: Message Header Extensions for Non-ASCII Text">[RFC2047]</cite></a>.
    942942      </p>
    943       <div id="rfc.figure.u.7"></div><pre class="inline"><span id="rfc.iref.g.15"></span>    TEXT           = &lt;any OCTET except CTLs,
    944                      but including LWS&gt;
     943      <div id="rfc.figure.u.7"></div><pre class="inline"><span id="rfc.iref.g.15"></span>  TEXT           = &lt;any OCTET except CTLs,
     944                   but including LWS&gt;
    945945</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
    946946         will be replaced with a single SP before interpretation of the TEXT value.
    947947      </p>
    948948      <p id="rfc.section.2.2.p.10">Hexadecimal numeric characters are used in several protocol elements.</p>
    949       <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g.16"></span>    HEX            = "A" | "B" | "C" | "D" | "E" | "F"
    950                    | "a" | "b" | "c" | "d" | "e" | "f" | DIGIT
     949      <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g.16"></span>  HEX            = "A" | "B" | "C" | "D" | "E" | "F"
     950                 | "a" | "b" | "c" | "d" | "e" | "f" | DIGIT
    951951</pre><p id="rfc.section.2.2.p.12">Many HTTP/1.1 header field values consist of words separated by LWS or special characters. These special characters <em class="bcp14">MUST</em> be in a quoted string to be used within a parameter value (as defined in <a href="#transfer.codings" title="Transfer Codings">Section&nbsp;3.4</a>).
    952952      </p>
    953       <div id="rfc.figure.u.9"></div><pre class="inline"><span id="rfc.iref.g.17"></span><span id="rfc.iref.g.18"></span>    token          = 1*&lt;any CHAR except CTLs or separators&gt;
    954     separators     = "(" | ")" | "&lt;" | "&gt;" | "@"
    955                    | "," | ";" | ":" | "\" | &lt;"&gt;
    956                    | "/" | "[" | "]" | "?" | "="
    957                    | "{" | "}" | SP | HT
     953      <div id="rfc.figure.u.9"></div><pre class="inline"><span id="rfc.iref.g.17"></span><span id="rfc.iref.g.18"></span>  token          = 1*&lt;any CHAR except CTLs or separators&gt;
     954  separators     = "(" | ")" | "&lt;" | "&gt;" | "@"
     955                 | "," | ";" | ":" | "\" | &lt;"&gt;
     956                 | "/" | "[" | "]" | "?" | "="
     957                 | "{" | "}" | SP | HT
    958958</pre><p id="rfc.section.2.2.p.14">Comments can be included in some HTTP header fields by surrounding the comment text with parentheses. Comments are only allowed
    959959         in fields containing "comment" as part of their field value definition. In all other fields, parentheses are considered part
    960960         of the field value.
    961961      </p>
    962       <div id="rfc.figure.u.10"></div><pre class="inline"><span id="rfc.iref.g.19"></span><span id="rfc.iref.g.20"></span>    comment        = "(" *( ctext | quoted-pair | comment ) ")"
    963     ctext          = &lt;any TEXT excluding "(" and ")"&gt;
     962      <div id="rfc.figure.u.10"></div><pre class="inline"><span id="rfc.iref.g.19"></span><span id="rfc.iref.g.20"></span>  comment        = "(" *( ctext | quoted-pair | comment ) ")"
     963  ctext          = &lt;any TEXT excluding "(" and ")"&gt;
    964964</pre><p id="rfc.section.2.2.p.16">A string of text is parsed as a single word if it is quoted using double-quote marks.</p>
    965       <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.21"></span><span id="rfc.iref.g.22"></span>    quoted-string  = ( &lt;"&gt; *(qdtext | quoted-pair ) &lt;"&gt; )
    966     qdtext         = &lt;any TEXT excluding &lt;"&gt; and "\"&gt;
     965      <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.21"></span><span id="rfc.iref.g.22"></span>  quoted-string  = ( &lt;"&gt; *(qdtext | quoted-pair ) &lt;"&gt; )
     966  qdtext         = &lt;any TEXT excluding &lt;"&gt; and "\"&gt;
    967967</pre><p id="rfc.section.2.2.p.18">The backslash character ("\") <em class="bcp14">MAY</em> be used as a single-character quoting mechanism only within quoted-string and comment constructs.
    968968      </p>
    969       <div id="rfc.figure.u.12"></div><pre class="inline"><span id="rfc.iref.g.23"></span>    quoted-pair    = "\" CHAR
     969      <div id="rfc.figure.u.12"></div><pre class="inline"><span id="rfc.iref.g.23"></span>  quoted-pair    = "\" CHAR
    970970</pre><h1 id="rfc.section.3"><a href="#rfc.section.3">3.</a>&nbsp;<a id="protocol.parameters" href="#protocol.parameters">Protocol Parameters</a></h1>
    971971      <h2 id="rfc.section.3.1"><a href="#rfc.section.3.1">3.1</a>&nbsp;<a id="http.version" href="#http.version">HTTP Version</a></h2>
     
    979979      </p>
    980980      <p id="rfc.section.3.1.p.2">The version of an HTTP message is indicated by an HTTP-Version field in the first line of the message. HTTP-Version is case-sensitive.</p>
    981       <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.24"></span>       HTTP-Version   = "HTTP" "/" 1*DIGIT "." 1*DIGIT
     981      <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.24"></span>  HTTP-Version   = "HTTP" "/" 1*DIGIT "." 1*DIGIT
    982982</pre><p id="rfc.section.3.1.p.4">Note that the major and minor numbers <em class="bcp14">MUST</em> be treated as separate integers and that each <em class="bcp14">MAY</em> be incremented higher than a single digit. Thus, HTTP/2.4 is a lower version than HTTP/2.13, which in turn is lower than HTTP/12.3.
    983983         Leading zeros <em class="bcp14">MUST</em> be ignored by recipients and <em class="bcp14">MUST NOT</em> be sent.
     
    10211021         and semantics for http URLs.
    10221022      </p>
    1023       <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.25"></span>http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]
     1023      <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.25"></span>  http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]
    10241024</pre><p id="rfc.section.3.2.2.p.3">If the port is empty or not given, port 80 is assumed. The semantics are that the identified resource is located at the server
    10251025         listening for TCP connections on that port of that host, and the Request-URI for the resource is abs_path (<a href="#request-uri" title="Request-URI">Section&nbsp;5.1.2</a>). The use of IP addresses in URLs <em class="bcp14">SHOULD</em> be avoided whenever possible (see <a href="#RFC1900" id="rfc.xref.RFC1900.1"><cite title="Renumbering Needs Work">[RFC1900]</cite></a>). If the abs_path is not present in the URL, it <em class="bcp14">MUST</em> be given as "/" when used as a Request-URI for a resource (<a href="#request-uri" title="Request-URI">Section&nbsp;5.1.2</a>). If a proxy receives a host name which is not a fully qualified domain name, it <em class="bcp14">MAY</em> add its domain to the host name it received. If a proxy receives a fully qualified domain name, the proxy <em class="bcp14">MUST NOT</em> change the host name.
     
    10601060         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.
    10611061      </p>
    1062       <div id="rfc.figure.u.17"></div><pre class="inline"><span id="rfc.iref.g.26"></span><span id="rfc.iref.g.27"></span><span id="rfc.iref.g.28"></span><span id="rfc.iref.g.29"></span><span id="rfc.iref.g.30"></span><span id="rfc.iref.g.31"></span><span id="rfc.iref.g.32"></span><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>    HTTP-date    = rfc1123-date | rfc850-date | asctime-date
    1063     rfc1123-date = wkday "," SP date1 SP time SP "GMT"
    1064     rfc850-date  = weekday "," SP date2 SP time SP "GMT"
    1065     asctime-date = wkday SP date3 SP time SP 4DIGIT
    1066     date1        = 2DIGIT SP month SP 4DIGIT
    1067                    ; day month year (e.g., 02 Jun 1982)
    1068     date2        = 2DIGIT "-" month "-" 2DIGIT
    1069                    ; day-month-year (e.g., 02-Jun-82)
    1070     date3        = month SP ( 2DIGIT | ( SP 1DIGIT ))
    1071                    ; month day (e.g., Jun  2)
    1072     time         = 2DIGIT ":" 2DIGIT ":" 2DIGIT
    1073                    ; 00:00:00 - 23:59:59
    1074     wkday        = "Mon" | "Tue" | "Wed"
    1075                  | "Thu" | "Fri" | "Sat" | "Sun"
    1076     weekday      = "Monday" | "Tuesday" | "Wednesday"
    1077                  | "Thursday" | "Friday" | "Saturday" | "Sunday"
    1078     month        = "Jan" | "Feb" | "Mar" | "Apr"
    1079                  | "May" | "Jun" | "Jul" | "Aug"
    1080                  | "Sep" | "Oct" | "Nov" | "Dec"
     1062      <div id="rfc.figure.u.17"></div><pre class="inline"><span id="rfc.iref.g.26"></span><span id="rfc.iref.g.27"></span><span id="rfc.iref.g.28"></span><span id="rfc.iref.g.29"></span><span id="rfc.iref.g.30"></span><span id="rfc.iref.g.31"></span><span id="rfc.iref.g.32"></span><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>  HTTP-date    = rfc1123-date | rfc850-date | asctime-date
     1063  rfc1123-date = wkday "," SP date1 SP time SP "GMT"
     1064  rfc850-date  = weekday "," SP date2 SP time SP "GMT"
     1065  asctime-date = wkday SP date3 SP time SP 4DIGIT
     1066  date1        = 2DIGIT SP month SP 4DIGIT
     1067                 ; day month year (e.g., 02 Jun 1982)
     1068  date2        = 2DIGIT "-" month "-" 2DIGIT
     1069                 ; day-month-year (e.g., 02-Jun-82)
     1070  date3        = month SP ( 2DIGIT | ( SP 1DIGIT ))
     1071                 ; month day (e.g., Jun  2)
     1072  time         = 2DIGIT ":" 2DIGIT ":" 2DIGIT
     1073                 ; 00:00:00 - 23:59:59
     1074  wkday        = "Mon" | "Tue" | "Wed"
     1075               | "Thu" | "Fri" | "Sat" | "Sun"
     1076  weekday      = "Monday" | "Tuesday" | "Wednesday"
     1077               | "Thursday" | "Friday" | "Saturday" | "Sunday"
     1078  month        = "Jan" | "Feb" | "Mar" | "Apr"
     1079               | "May" | "Jun" | "Jul" | "Aug"
     1080               | "Sep" | "Oct" | "Nov" | "Dec"
    10811081</pre><p id="rfc.section.3.3.1.p.7"> <b>Note:</b> HTTP requirements for the date/time stamp format apply only to their usage within the protocol stream. Clients and servers
    10821082         are not required to use these formats for user presentation, request logging, etc.
     
    10871087         is a property of the message, not of the original entity.
    10881088      </p>
    1089       <div id="rfc.figure.u.18"></div><pre class="inline"><span id="rfc.iref.g.37"></span><span id="rfc.iref.g.38"></span>    transfer-coding         = "chunked" | transfer-extension
    1090     transfer-extension      = token *( ";" parameter )
     1089      <div id="rfc.figure.u.18"></div><pre class="inline"><span id="rfc.iref.g.37"></span><span id="rfc.iref.g.38"></span>  transfer-coding         = "chunked" | transfer-extension
     1090  transfer-extension      = token *( ";" parameter )
    10911091</pre><p id="rfc.section.3.4.p.3">Parameters are in the form of attribute/value pairs.</p>
    1092       <div id="rfc.figure.u.19"></div><pre class="inline"><span id="rfc.iref.g.39"></span><span id="rfc.iref.g.40"></span><span id="rfc.iref.g.41"></span>    parameter               = attribute "=" value
    1093     attribute               = token
    1094     value                   = token | quoted-string
     1092      <div id="rfc.figure.u.19"></div><pre class="inline"><span id="rfc.iref.g.39"></span><span id="rfc.iref.g.40"></span><span id="rfc.iref.g.41"></span>  parameter               = attribute "=" value
     1093  attribute               = token
     1094  value                   = token | quoted-string
    10951095</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>).
    10961096      </p>
     
    11151115         necessary for the recipient to verify that it has received the full message.
    11161116      </p>
    1117       <div id="rfc.figure.u.20"></div><pre class="inline"><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><span id="rfc.iref.g.47"></span><span id="rfc.iref.g.48"></span><span id="rfc.iref.g.49"></span><span id="rfc.iref.g.50"></span>    Chunked-Body   = *chunk
    1118                      last-chunk
    1119                      trailer
    1120                      CRLF
    1121 
    1122     chunk          = chunk-size [ chunk-extension ] CRLF
    1123                      chunk-data CRLF
    1124     chunk-size     = 1*HEX
    1125     last-chunk     = 1*("0") [ chunk-extension ] CRLF
    1126 
    1127     chunk-extension= *( ";" chunk-ext-name [ "=" chunk-ext-val ] )
    1128     chunk-ext-name = token
    1129     chunk-ext-val  = token | quoted-string
    1130     chunk-data     = chunk-size(OCTET)
    1131     trailer        = *(entity-header CRLF)
     1117      <div id="rfc.figure.u.20"></div><pre class="inline"><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><span id="rfc.iref.g.47"></span><span id="rfc.iref.g.48"></span><span id="rfc.iref.g.49"></span><span id="rfc.iref.g.50"></span>  Chunked-Body   = *chunk
     1118                   last-chunk
     1119                   trailer
     1120                   CRLF
     1121 
     1122  chunk          = chunk-size [ chunk-extension ] CRLF
     1123                   chunk-data CRLF
     1124  chunk-size     = 1*HEX
     1125  last-chunk     = 1*("0") [ chunk-extension ] CRLF
     1126 
     1127  chunk-extension= *( ";" chunk-ext-name [ "=" chunk-ext-val ] )
     1128  chunk-ext-name = token
     1129  chunk-ext-val  = token | quoted-string
     1130  chunk-data     = chunk-size(OCTET)
     1131  trailer        = *(entity-header CRLF)
    11321132</pre><p id="rfc.section.3.4.1.p.3">The chunk-size field is a string of hex digits indicating the size of the chunk-data in octets. The chunked encoding is ended
    11331133         by any chunk whose size is zero, followed by the trailer, which is terminated by an empty line.
     
    11721172      <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>
    11731173      <p id="rfc.section.4.1.p.1">HTTP messages consist of requests from client to server and responses from server to client.</p>
    1174       <div id="rfc.figure.u.22"></div><pre class="inline"><span id="rfc.iref.g.51"></span>    HTTP-message   = Request | Response     ; HTTP/1.1 messages
     1174      <div id="rfc.figure.u.22"></div><pre class="inline"><span id="rfc.iref.g.51"></span>  HTTP-message   = Request | Response     ; HTTP/1.1 messages
    11751175</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="#RFC2822" id="rfc.xref.RFC2822.2"><cite title="Internet Message Format">[RFC2822]</cite></a> for transferring entities (the payload of the message). Both types of message consist of a start-line, zero or more header
    11761176         fields (also known as "headers"), an empty line (i.e., a line with nothing preceding the CRLF) indicating the end of the header
    11771177         fields, and possibly a message-body.
    11781178      </p>
    1179       <div id="rfc.figure.u.23"></div><pre class="inline"><span id="rfc.iref.g.52"></span><span id="rfc.iref.g.53"></span>     generic-message = start-line
    1180                        *(message-header CRLF)
    1181                        CRLF
    1182                        [ message-body ]
    1183      start-line      = Request-Line | Status-Line
     1179      <div id="rfc.figure.u.23"></div><pre class="inline"><span id="rfc.iref.g.52"></span><span id="rfc.iref.g.53"></span>  generic-message = start-line
     1180                    *(message-header CRLF)
     1181                    CRLF
     1182                    [ message-body ]
     1183  start-line      = Request-Line | Status-Line
    11841184</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
    11851185         stream at the beginning of a message and receives a CRLF first, it should ignore the CRLF.
     
    11941194         generating HTTP constructs, since there might exist some implementations that fail to accept anything beyond the common forms.
    11951195      </p>
    1196       <div id="rfc.figure.u.24"></div><pre class="inline"><span id="rfc.iref.g.54"></span><span id="rfc.iref.g.55"></span><span id="rfc.iref.g.56"></span><span id="rfc.iref.g.57"></span>    message-header = field-name ":" [ field-value ]
    1197     field-name     = token
    1198     field-value    = *( field-content | LWS )
    1199     field-content  = &lt;the OCTETs making up the field-value
    1200                      and consisting of either *TEXT or combinations
    1201                      of token, separators, and quoted-string&gt;
     1196      <div id="rfc.figure.u.24"></div><pre class="inline"><span id="rfc.iref.g.54"></span><span id="rfc.iref.g.55"></span><span id="rfc.iref.g.56"></span><span id="rfc.iref.g.57"></span>  message-header = field-name ":" [ field-value ]
     1197  field-name     = token
     1198  field-value    = *( field-content | LWS )
     1199  field-content  = &lt;the OCTETs making up the field-value
     1200                   and consisting of either *TEXT or combinations
     1201                   of token, separators, and quoted-string&gt;
    12021202</pre><p id="rfc.section.4.2.p.3">The field-content does not include any leading or trailing LWS: linear white space occurring before the first non-whitespace
    12031203         character of the field-value or after the last non-whitespace character of the field-value. Such leading or trailing LWS <em class="bcp14">MAY</em> be removed without changing the semantics of the field value. Any LWS that occurs between field-content <em class="bcp14">MAY</em> be replaced with a single SP before interpreting the field value or forwarding the message downstream.
     
    12181218         header field (<a href="#header.transfer-encoding" id="rfc.xref.header.transfer-encoding.2" title="Transfer-Encoding">Section&nbsp;8.7</a>).
    12191219      </p>
    1220       <div id="rfc.figure.u.25"></div><pre class="inline"><span id="rfc.iref.g.58"></span>    message-body = entity-body
    1221                  | &lt;entity-body encoded as per Transfer-Encoding&gt;
     1220      <div id="rfc.figure.u.25"></div><pre class="inline"><span id="rfc.iref.g.58"></span>  message-body = entity-body
     1221               | &lt;entity-body encoded as per Transfer-Encoding&gt;
    12221222</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
    12231223         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.)
     
    12841284         to the entity being transferred. These header fields apply only to the message being transmitted.
    12851285      </p>
    1286       <div id="rfc.figure.u.26"></div><pre class="inline"><span id="rfc.iref.g.59"></span>    general-header = Cache-Control            ; <a href="#Part6" id="rfc.xref.Part6.3"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.cache-control" title="Cache-Control">Section 3.2</a>
    1287                    | Connection               ; <a href="#header.connection" id="rfc.xref.header.connection.1" title="Connection">Section&nbsp;8.1</a>
    1288                    | Date                     ; <a href="#header.date" id="rfc.xref.header.date.1" title="Date">Section&nbsp;8.3</a>
    1289                    | Pragma                   ; <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.pragma" title="Pragma">Section 3.4</a>
    1290                    | Trailer                  ; <a href="#header.trailer" id="rfc.xref.header.trailer.2" title="Trailer">Section&nbsp;8.6</a>
    1291                    | Transfer-Encoding        ; <a href="#header.transfer-encoding" id="rfc.xref.header.transfer-encoding.4" title="Transfer-Encoding">Section&nbsp;8.7</a>
    1292                    | Upgrade                  ; <a href="#header.upgrade" id="rfc.xref.header.upgrade.1" title="Upgrade">Section&nbsp;8.8</a>
    1293                    | Via                      ; <a href="#header.via" id="rfc.xref.header.via.1" title="Via">Section&nbsp;8.9</a>
    1294                    | Warning                  ; <a href="#Part6" id="rfc.xref.Part6.5"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.warning" title="Warning">Section 3.6</a>
     1286      <div id="rfc.figure.u.26"></div><pre class="inline"><span id="rfc.iref.g.59"></span>  general-header = Cache-Control            ; <a href="#Part6" id="rfc.xref.Part6.3"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.cache-control" title="Cache-Control">Section 3.2</a>
     1287                 | Connection               ; <a href="#header.connection" id="rfc.xref.header.connection.1" title="Connection">Section&nbsp;8.1</a>
     1288                 | Date                     ; <a href="#header.date" id="rfc.xref.header.date.1" title="Date">Section&nbsp;8.3</a>
     1289                 | Pragma                   ; <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.pragma" title="Pragma">Section 3.4</a>
     1290                 | Trailer                  ; <a href="#header.trailer" id="rfc.xref.header.trailer.2" title="Trailer">Section&nbsp;8.6</a>
     1291                 | Transfer-Encoding        ; <a href="#header.transfer-encoding" id="rfc.xref.header.transfer-encoding.4" title="Transfer-Encoding">Section&nbsp;8.7</a>
     1292                 | Upgrade                  ; <a href="#header.upgrade" id="rfc.xref.header.upgrade.1" title="Upgrade">Section&nbsp;8.8</a>
     1293                 | Via                      ; <a href="#header.via" id="rfc.xref.header.via.1" title="Via">Section&nbsp;8.9</a>
     1294                 | Warning                  ; <a href="#Part6" id="rfc.xref.Part6.5"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.warning" title="Warning">Section 3.6</a>
    12951295</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
    12961296         or experimental header fields may be given the semantics of general header fields if all parties in the communication recognize
     
    13011301         resource, the identifier of the resource, and the protocol version in use.
    13021302      </p>
    1303       <div id="rfc.figure.u.27"></div><pre class="inline"><span id="rfc.iref.g.60"></span>     Request       = Request-Line              ; <a href="#request-line" title="Request-Line">Section&nbsp;5.1</a>
    1304                      *(( general-header        ; <a href="#general.header.fields" title="General Header Fields">Section&nbsp;4.5</a>
    1305                       | request-header         ; <a href="#Part2" id="rfc.xref.Part2.5"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>, <a href="p2-semantics.html#request.header.fields" title="Request Header Fields">Section 4</a>
    1306                       | entity-header ) CRLF)  ; <a href="#Part3" id="rfc.xref.Part3.9"><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 3.1</a>
    1307                      CRLF
    1308                      [ message-body ]          ; <a href="#message.body" title="Message Body">Section&nbsp;4.3</a>
     1303      <div id="rfc.figure.u.27"></div><pre class="inline"><span id="rfc.iref.g.60"></span>  Request       = Request-Line              ; <a href="#request-line" title="Request-Line">Section&nbsp;5.1</a>
     1304                  *(( general-header        ; <a href="#general.header.fields" title="General Header Fields">Section&nbsp;4.5</a>
     1305                   | request-header         ; <a href="#Part2" id="rfc.xref.Part2.5"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>, <a href="p2-semantics.html#request.header.fields" title="Request Header Fields">Section 4</a>
     1306                   | entity-header ) CRLF)  ; <a href="#Part3" id="rfc.xref.Part3.9"><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 3.1</a>
     1307                  CRLF
     1308                  [ message-body ]          ; <a href="#message.body" title="Message Body">Section&nbsp;4.3</a>
    13091309</pre><h2 id="rfc.section.5.1"><a href="#rfc.section.5.1">5.1</a>&nbsp;<a id="request-line" href="#request-line">Request-Line</a></h2>
    13101310      <p id="rfc.section.5.1.p.1">The Request-Line begins with a method token, followed by the Request-URI and the protocol version, and ending with CRLF. The
    13111311         elements are separated by SP characters. No CR or LF is allowed except in the final CRLF sequence.
    13121312      </p>
    1313       <div id="rfc.figure.u.28"></div><pre class="inline"><span id="rfc.iref.g.61"></span>     Request-Line   = Method SP Request-URI SP HTTP-Version CRLF
     1313      <div id="rfc.figure.u.28"></div><pre class="inline"><span id="rfc.iref.g.61"></span>  Request-Line   = Method SP Request-URI SP HTTP-Version CRLF
    13141314</pre><h3 id="rfc.section.5.1.1"><a href="#rfc.section.5.1.1">5.1.1</a>&nbsp;<a id="method" href="#method">Method</a></h3>
    13151315      <p id="rfc.section.5.1.1.p.1">The Method token indicates the method to be performed on the resource identified by the Request-URI. The method is case-sensitive.</p>
    1316       <div id="rfc.figure.u.29"></div><pre class="inline"><span id="rfc.iref.g.62"></span><span id="rfc.iref.g.63"></span>    Method         = token
     1316      <div id="rfc.figure.u.29"></div><pre class="inline"><span id="rfc.iref.g.62"></span><span id="rfc.iref.g.63"></span>  Method         = token
    13171317</pre><h3 id="rfc.section.5.1.2"><a href="#rfc.section.5.1.2">5.1.2</a>&nbsp;<a id="request-uri" href="#request-uri">Request-URI</a></h3>
    13181318      <p id="rfc.section.5.1.2.p.1">The Request-URI is a Uniform Resource Identifier (<a href="#uri" title="Uniform Resource Identifiers">Section&nbsp;3.2</a>) and identifies the resource upon which to apply the request.
    13191319      </p>
    1320       <div id="rfc.figure.u.30"></div><pre class="inline"><span id="rfc.iref.g.64"></span>    Request-URI    = "*"
    1321                    | absoluteURI
    1322                    | ( abs_path [ "?" query ] )
    1323                    | authority
     1320      <div id="rfc.figure.u.30"></div><pre class="inline"><span id="rfc.iref.g.64"></span>  Request-URI    = "*"
     1321                 | absoluteURI
     1322                 | ( abs_path [ "?" query ] )
     1323                 | authority
    13241324</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
    13251325         not apply to a particular resource, but to the server itself, and is only allowed when the method used does not necessarily
     
    13791379      <h1 id="rfc.section.6"><a href="#rfc.section.6">6.</a>&nbsp;<a id="response" href="#response">Response</a></h1>
    13801380      <p id="rfc.section.6.p.1">After receiving and interpreting a request message, a server responds with an HTTP response message.</p>
    1381       <div id="rfc.figure.u.34"></div><pre class="inline"><span id="rfc.iref.g.65"></span>    Response      = Status-Line               ; <a href="#status-line" title="Status-Line">Section&nbsp;6.1</a>
    1382                     *(( general-header        ; <a href="#general.header.fields" title="General Header Fields">Section&nbsp;4.5</a>
    1383                      | response-header        ; <a href="#Part2" id="rfc.xref.Part2.7"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>, <a href="p2-semantics.html#response.header.fields" title="Response Header Fields">Section 6</a>
    1384                      | entity-header ) CRLF)  ; <a href="#Part3" id="rfc.xref.Part3.10"><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 3.1</a>
    1385                     CRLF
    1386                     [ message-body ]          ; <a href="#message.body" title="Message Body">Section&nbsp;4.3</a>
     1381      <div id="rfc.figure.u.34"></div><pre class="inline"><span id="rfc.iref.g.65"></span>  Response      = Status-Line               ; <a href="#status-line" title="Status-Line">Section&nbsp;6.1</a>
     1382                  *(( general-header        ; <a href="#general.header.fields" title="General Header Fields">Section&nbsp;4.5</a>
     1383                   | response-header        ; <a href="#Part2" id="rfc.xref.Part2.7"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>, <a href="p2-semantics.html#response.header.fields" title="Response Header Fields">Section 6</a>
     1384                   | entity-header ) CRLF)  ; <a href="#Part3" id="rfc.xref.Part3.10"><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 3.1</a>
     1385                  CRLF
     1386                  [ message-body ]          ; <a href="#message.body" title="Message Body">Section&nbsp;4.3</a>
    13871387</pre><h2 id="rfc.section.6.1"><a href="#rfc.section.6.1">6.1</a>&nbsp;<a id="status-line" href="#status-line">Status-Line</a></h2>
    13881388      <p id="rfc.section.6.1.p.1">The first line of a Response message is the Status-Line, consisting of the protocol version followed by a numeric status code
     
    13901390         CRLF sequence.
    13911391      </p>
    1392       <div id="rfc.figure.u.35"></div><pre class="inline"><span id="rfc.iref.g.66"></span>    Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF
     1392      <div id="rfc.figure.u.35"></div><pre class="inline"><span id="rfc.iref.g.66"></span>  Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF
    13931393</pre><h3 id="rfc.section.6.1.1"><a href="#rfc.section.6.1.1">6.1.1</a>&nbsp;<a id="status.code.and.reason.phrase" href="#status.code.and.reason.phrase">Status Code and Reason Phrase</a></h3>
    13941394      <p id="rfc.section.6.1.1.p.1">The Status-Code element is a 3-digit integer result code of the attempt to understand and satisfy the request. These codes
     
    14061406         <li>5xx: Server Error - The server failed to fulfill an apparently valid request</li>
    14071407      </ul>
    1408       <div id="rfc.figure.u.36"></div><pre class="inline"><span id="rfc.iref.g.67"></span><span id="rfc.iref.g.68"></span><span id="rfc.iref.g.69"></span>   Status-Code    = 3DIGIT
    1409    Reason-Phrase  = *&lt;TEXT, excluding CR, LF&gt;
     1408      <div id="rfc.figure.u.36"></div><pre class="inline"><span id="rfc.iref.g.67"></span><span id="rfc.iref.g.68"></span><span id="rfc.iref.g.69"></span>  Status-Code    = 3DIGIT
     1409  Reason-Phrase  = *&lt;TEXT, excluding CR, LF&gt;
    14101410</pre><h1 id="rfc.section.7"><a href="#rfc.section.7">7.</a>&nbsp;<a id="connections" href="#connections">Connections</a></h1>
    14111411      <h2 id="rfc.section.7.1"><a href="#rfc.section.7.1">7.1</a>&nbsp;<a id="persistent.connections" href="#persistent.connections">Persistent Connections</a></h2>
     
    15971597      </p>
    15981598      <p id="rfc.section.8.1.p.2">The Connection header has the following grammar:</p>
    1599       <div id="rfc.figure.u.37"></div><pre class="inline"><span id="rfc.iref.g.70"></span><span id="rfc.iref.g.71"></span>    Connection = "Connection" ":" 1#(connection-token)
    1600     connection-token  = token
     1599      <div id="rfc.figure.u.37"></div><pre class="inline"><span id="rfc.iref.g.70"></span><span id="rfc.iref.g.71"></span>  Connection = "Connection" ":" 1#(connection-token)
     1600  connection-token  = token
    16011601</pre><p id="rfc.section.8.1.p.4">HTTP/1.1 proxies <em class="bcp14">MUST</em> parse the Connection header field before a message is forwarded and, for each connection-token in this field, remove any header
    16021602         field(s) from the message with the same name as the connection-token. Connection options are signaled by the presence of a
     
    16251625         or, in the case of the HEAD method, the size of the entity-body that would have been sent had the request been a GET.
    16261626      </p>
    1627       <div id="rfc.figure.u.39"></div><pre class="inline"><span id="rfc.iref.g.72"></span>    Content-Length    = "Content-Length" ":" 1*DIGIT
     1627      <div id="rfc.figure.u.39"></div><pre class="inline"><span id="rfc.iref.g.72"></span>  Content-Length    = "Content-Length" ":" 1*DIGIT
    16281628</pre><p id="rfc.section.8.2.p.3">An example is</p>
    16291629      <div id="rfc.figure.u.40"></div><pre class="text">    Content-Length: 3495
     
    16421642         as orig-date in <a href="http://tools.ietf.org/html/rfc2822#section-3.6.1">Section 3.6.1</a> of <a href="#RFC2822" id="rfc.xref.RFC2822.4"><cite title="Internet Message Format">[RFC2822]</cite></a>. The field value is an HTTP-date, as described in <a href="#full.date" title="Full Date">Section&nbsp;3.3.1</a>; it <em class="bcp14">MUST</em> be sent in rfc1123-date format.
    16431643      </p>
    1644       <div id="rfc.figure.u.41"></div><pre class="inline"><span id="rfc.iref.g.73"></span>    Date  = "Date" ":" HTTP-date
     1644      <div id="rfc.figure.u.41"></div><pre class="inline"><span id="rfc.iref.g.73"></span>  Date  = "Date" ":" HTTP-date
    16451645</pre><p id="rfc.section.8.3.p.3">An example is</p>
    16461646      <div id="rfc.figure.u.42"></div><pre class="text">    Date: Tue, 15 Nov 1994 08:12:31 GMT
     
    16801680         a single IP address.
    16811681      </p>
    1682       <div id="rfc.figure.u.43"></div><pre class="inline"><span id="rfc.iref.g.74"></span>    Host = "Host" ":" host [ ":" port ] ; <a href="#http.url" title="http URL">Section&nbsp;3.2.2</a>
     1682      <div id="rfc.figure.u.43"></div><pre class="inline"><span id="rfc.iref.g.74"></span>  Host = "Host" ":" host [ ":" port ] ; <a href="#http.url" title="http URL">Section&nbsp;3.2.2</a>
    16831683</pre><p id="rfc.section.8.4.p.3">A "host" without any trailing port information implies the default port for the service requested (e.g., "80" for an HTTP
    16841684         URL). For example, a request on the origin server for &lt;http://www.example.org/pub/WWW/&gt; would properly include:
     
    16991699         and/or a comma-separated list of extension transfer-coding names with optional accept parameters (as described in <a href="#transfer.codings" title="Transfer Codings">Section&nbsp;3.4</a>).
    17001700      </p>
    1701       <div id="rfc.figure.u.45"></div><pre class="inline"><span id="rfc.iref.g.75"></span><span id="rfc.iref.g.76"></span>    TE        = "TE" ":" #( t-codings )
    1702     t-codings = "trailers" | ( transfer-extension [ accept-params ] )
     1701      <div id="rfc.figure.u.45"></div><pre class="inline"><span id="rfc.iref.g.75"></span><span id="rfc.iref.g.76"></span>  TE        = "TE" ":" #( t-codings )
     1702  t-codings = "trailers" | ( transfer-extension [ accept-params ] )
    17031703</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,
    17041704         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.
     
    17421742         with chunked transfer-coding.
    17431743      </p>
    1744       <div id="rfc.figure.u.47"></div><pre class="inline"><span id="rfc.iref.g.77"></span>    Trailer  = "Trailer" ":" 1#field-name
     1744      <div id="rfc.figure.u.47"></div><pre class="inline"><span id="rfc.iref.g.77"></span>  Trailer  = "Trailer" ":" 1#field-name
    17451745</pre><p id="rfc.section.8.6.p.3">An HTTP/1.1 message <em class="bcp14">SHOULD</em> include a Trailer header field in a message using chunked transfer-coding with a non-empty trailer. Doing so allows the recipient
    17461746         to know which header fields to expect in the trailer.
     
    17751775         to use if the server finds it appropriate to switch protocols. The server <em class="bcp14">MUST</em> use the Upgrade header field within a 101 (Switching Protocols) response to indicate which protocol(s) are being switched.
    17761776      </p>
    1777       <div id="rfc.figure.u.50"></div><pre class="inline"><span id="rfc.iref.g.79"></span>    Upgrade        = "Upgrade" ":" 1#product
     1777      <div id="rfc.figure.u.50"></div><pre class="inline"><span id="rfc.iref.g.79"></span>  Upgrade        = "Upgrade" ":" 1#product
    17781778</pre><p id="rfc.section.8.8.p.3">For example,</p>
    17791779      <div id="rfc.figure.u.51"></div><pre class="text">    Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11
     
    18061806         of all senders along the request/response chain.
    18071807      </p>
    1808       <div id="rfc.figure.u.52"></div><pre class="inline"><span id="rfc.iref.g.80"></span><span id="rfc.iref.g.81"></span><span id="rfc.iref.g.82"></span><span id="rfc.iref.g.83"></span><span id="rfc.iref.g.84"></span><span id="rfc.iref.g.85"></span>   Via =  "Via" ":" 1#( received-protocol received-by [ comment ] )
    1809    received-protocol = [ protocol-name "/" ] protocol-version
    1810    protocol-name     = token
    1811    protocol-version  = token
    1812    received-by       = ( host [ ":" port ] ) | pseudonym
    1813    pseudonym         = token
     1808      <div id="rfc.figure.u.52"></div><pre class="inline"><span id="rfc.iref.g.80"></span><span id="rfc.iref.g.81"></span><span id="rfc.iref.g.82"></span><span id="rfc.iref.g.83"></span><span id="rfc.iref.g.84"></span><span id="rfc.iref.g.85"></span>  Via =  "Via" ":" 1#( received-protocol received-by [ comment ] )
     1809  received-protocol = [ protocol-name "/" ] protocol-version
     1810  protocol-name     = token
     1811  protocol-version  = token
     1812  received-by       = ( host [ ":" port ] ) | pseudonym
     1813  pseudonym         = token
    18141814</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
    18151815         the request/response chain. The received-protocol version is appended to the Via field value when the message is forwarded
  • draft-ietf-httpbis/latest/p1-messaging.xml

    r134 r135  
    818818</t>
    819819<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="OCTET"/><iref primary="true" item="Grammar" subitem="CHAR"/><iref primary="true" item="Grammar" subitem="UPALPHA"/><iref primary="true" item="Grammar" subitem="LOALPHA"/><iref primary="true" item="Grammar" subitem="ALPHA"/><iref primary="true" item="Grammar" subitem="DIGIT"/><iref primary="true" item="Grammar" subitem="CTL"/><iref primary="true" item="Grammar" subitem="CR"/><iref primary="true" item="Grammar" subitem="LF"/><iref primary="true" item="Grammar" subitem="SP"/><iref primary="true" item="Grammar" subitem="HT"/>
    820     OCTET          = &lt;any 8-bit sequence of data&gt;
    821     CHAR           = &lt;any US-ASCII character (octets 0 - 127)&gt;
    822     UPALPHA        = &lt;any US-ASCII uppercase letter "A".."Z"&gt;
    823     LOALPHA        = &lt;any US-ASCII lowercase letter "a".."z"&gt;
    824     ALPHA          = UPALPHA | LOALPHA
    825     DIGIT          = &lt;any US-ASCII digit "0".."9"&gt;
    826     CTL            = &lt;any US-ASCII control character
    827                      (octets 0 - 31) and DEL (127)&gt;
    828     CR             = &lt;US-ASCII CR, carriage return (13)&gt;
    829     LF             = &lt;US-ASCII LF, linefeed (10)&gt;
    830     SP             = &lt;US-ASCII SP, space (32)&gt;
    831     HT             = &lt;US-ASCII HT, horizontal-tab (9)&gt;
    832     &lt;"&gt;            = &lt;US-ASCII double-quote mark (34)&gt;
     820  OCTET          = &lt;any 8-bit sequence of data&gt;
     821  CHAR           = &lt;any US-ASCII character (octets 0 - 127)&gt;
     822  UPALPHA        = &lt;any US-ASCII uppercase letter "A".."Z"&gt;
     823  LOALPHA        = &lt;any US-ASCII lowercase letter "a".."z"&gt;
     824  ALPHA          = UPALPHA | LOALPHA
     825  DIGIT          = &lt;any US-ASCII digit "0".."9"&gt;
     826  CTL            = &lt;any US-ASCII control character
     827                   (octets 0 - 31) and DEL (127)&gt;
     828  CR             = &lt;US-ASCII CR, carriage return (13)&gt;
     829  LF             = &lt;US-ASCII LF, linefeed (10)&gt;
     830  SP             = &lt;US-ASCII SP, space (32)&gt;
     831  HT             = &lt;US-ASCII HT, horizontal-tab (9)&gt;
     832  &lt;"&gt;            = &lt;US-ASCII double-quote mark (34)&gt;
    833833</artwork></figure>
    834834<t>
     
    839839</t>
    840840<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="CRLF"/>
    841     CRLF           = CR LF
     841  CRLF           = CR LF
    842842</artwork></figure>
    843843<t>
     
    849849</t>
    850850<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="LWS"/>
    851     LWS            = [CRLF] 1*( SP | HT )
     851  LWS            = [CRLF] 1*( SP | HT )
    852852</artwork></figure>
    853853<t>
     
    859859</t>
    860860<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="TEXT"/>
    861     TEXT           = &lt;any OCTET except CTLs,
    862                      but including LWS&gt;
     861  TEXT           = &lt;any OCTET except CTLs,
     862                   but including LWS&gt;
    863863</artwork></figure>
    864864<t>
     
    871871</t>
    872872<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="HEX"/>
    873     HEX            = "A" | "B" | "C" | "D" | "E" | "F"
    874                    | "a" | "b" | "c" | "d" | "e" | "f" | DIGIT
     873  HEX            = "A" | "B" | "C" | "D" | "E" | "F"
     874                 | "a" | "b" | "c" | "d" | "e" | "f" | DIGIT
    875875</artwork></figure>
    876876<t>
     
    881881</t>
    882882<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="token"/><iref primary="true" item="Grammar" subitem="separators"/>
    883     token          = 1*&lt;any CHAR except CTLs or separators&gt;
    884     separators     = "(" | ")" | "&lt;" | "&gt;" | "@"
    885                    | "," | ";" | ":" | "\" | &lt;"&gt;
    886                    | "/" | "[" | "]" | "?" | "="
    887                    | "{" | "}" | SP | HT
     883  token          = 1*&lt;any CHAR except CTLs or separators&gt;
     884  separators     = "(" | ")" | "&lt;" | "&gt;" | "@"
     885                 | "," | ";" | ":" | "\" | &lt;"&gt;
     886                 | "/" | "[" | "]" | "?" | "="
     887                 | "{" | "}" | SP | HT
    888888</artwork></figure>
    889889<t>
     
    895895</t>
    896896<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="comment"/><iref primary="true" item="Grammar" subitem="ctext"/>
    897     comment        = "(" *( ctext | quoted-pair | comment ) ")"
    898     ctext          = &lt;any TEXT excluding "(" and ")"&gt;
     897  comment        = "(" *( ctext | quoted-pair | comment ) ")"
     898  ctext          = &lt;any TEXT excluding "(" and ")"&gt;
    899899</artwork></figure>
    900900<t>
     
    903903</t>
    904904<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="quoted-string"/><iref primary="true" item="Grammar" subitem="qdtext"/>
    905     quoted-string  = ( &lt;"&gt; *(qdtext | quoted-pair ) &lt;"&gt; )
    906     qdtext         = &lt;any TEXT excluding &lt;"> and "\">
     905  quoted-string  = ( &lt;"&gt; *(qdtext | quoted-pair ) &lt;"&gt; )
     906  qdtext         = &lt;any TEXT excluding &lt;"> and "\">
    907907</artwork></figure>
    908908<t>
     
    911911</t>
    912912<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="quoted-pair"/>
    913     quoted-pair    = "\" CHAR
     913  quoted-pair    = "\" CHAR
    914914</artwork></figure>
    915915</section>
     
    939939</t>
    940940<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="HTTP-Version"/>
    941        HTTP-Version   = "HTTP" "/" 1*DIGIT "." 1*DIGIT
     941  HTTP-Version   = "HTTP" "/" 1*DIGIT "." 1*DIGIT
    942942</artwork></figure>
    943943<t>
     
    10371037</t>
    10381038<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="http_URL"/>
    1039 http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]
     1039  http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]
    10401040</artwork></figure>
    10411041<t>
     
    11211121</t>
    11221122<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="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"/>
    1123     HTTP-date    = rfc1123-date | rfc850-date | asctime-date
    1124     rfc1123-date = wkday "," SP date1 SP time SP "GMT"
    1125     rfc850-date  = weekday "," SP date2 SP time SP "GMT"
    1126     asctime-date = wkday SP date3 SP time SP 4DIGIT
    1127     date1        = 2DIGIT SP month SP 4DIGIT
    1128                    ; day month year (e.g., 02 Jun 1982)
    1129     date2        = 2DIGIT "-" month "-" 2DIGIT
    1130                    ; day-month-year (e.g., 02-Jun-82)
    1131     date3        = month SP ( 2DIGIT | ( SP 1DIGIT ))
    1132                    ; month day (e.g., Jun  2)
    1133     time         = 2DIGIT ":" 2DIGIT ":" 2DIGIT
    1134                    ; 00:00:00 - 23:59:59
    1135     wkday        = "Mon" | "Tue" | "Wed"
    1136                  | "Thu" | "Fri" | "Sat" | "Sun"
    1137     weekday      = "Monday" | "Tuesday" | "Wednesday"
    1138                  | "Thursday" | "Friday" | "Saturday" | "Sunday"
    1139     month        = "Jan" | "Feb" | "Mar" | "Apr"
    1140                  | "May" | "Jun" | "Jul" | "Aug"
    1141                  | "Sep" | "Oct" | "Nov" | "Dec"
     1123  HTTP-date    = rfc1123-date | rfc850-date | asctime-date
     1124  rfc1123-date = wkday "," SP date1 SP time SP "GMT"
     1125  rfc850-date  = weekday "," SP date2 SP time SP "GMT"
     1126  asctime-date = wkday SP date3 SP time SP 4DIGIT
     1127  date1        = 2DIGIT SP month SP 4DIGIT
     1128                 ; day month year (e.g., 02 Jun 1982)
     1129  date2        = 2DIGIT "-" month "-" 2DIGIT
     1130                 ; day-month-year (e.g., 02-Jun-82)
     1131  date3        = month SP ( 2DIGIT | ( SP 1DIGIT ))
     1132                 ; month day (e.g., Jun  2)
     1133  time         = 2DIGIT ":" 2DIGIT ":" 2DIGIT
     1134                 ; 00:00:00 - 23:59:59
     1135  wkday        = "Mon" | "Tue" | "Wed"
     1136               | "Thu" | "Fri" | "Sat" | "Sun"
     1137  weekday      = "Monday" | "Tuesday" | "Wednesday"
     1138               | "Thursday" | "Friday" | "Saturday" | "Sunday"
     1139  month        = "Jan" | "Feb" | "Mar" | "Apr"
     1140               | "May" | "Jun" | "Jul" | "Aug"
     1141               | "Sep" | "Oct" | "Nov" | "Dec"
    11421142</artwork></figure>
    11431143<t>
     
    11591159</t>
    11601160<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="transfer-coding"/><iref primary="true" item="Grammar" subitem="transfer-extension"/>
    1161     transfer-coding         = "chunked" | transfer-extension
    1162     transfer-extension      = token *( ";" parameter )
     1161  transfer-coding         = "chunked" | transfer-extension
     1162  transfer-extension      = token *( ";" parameter )
    11631163</artwork></figure>
    11641164<t>
     
    11661166</t>
    11671167<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="parameter"/><iref primary="true" item="Grammar" subitem="attribute"/><iref primary="true" item="Grammar" subitem="value"/>
    1168     parameter               = attribute "=" value
    1169     attribute               = token
    1170     value                   = token | quoted-string
     1168  parameter               = attribute "=" value
     1169  attribute               = token
     1170  value                   = token | quoted-string
    11711171</artwork></figure>
    11721172<t>
     
    12201220</t>
    12211221<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Chunked-Body"/><iref primary="true" item="Grammar" subitem="chunk"/><iref primary="true" item="Grammar" subitem="chunk-size"/><iref primary="true" item="Grammar" subitem="last-chunk"/><iref primary="true" item="Grammar" subitem="chunk-extension"/><iref primary="true" item="Grammar" subitem="chunk-ext-name"/><iref primary="true" item="Grammar" subitem="chunk-ext-val"/><iref primary="true" item="Grammar" subitem="chunk-data"/><iref primary="true" item="Grammar" subitem="trailer"/>
    1222     Chunked-Body   = *chunk
    1223                      last-chunk
    1224                      trailer
    1225                      CRLF
    1226 
    1227     chunk          = chunk-size [ chunk-extension ] CRLF
    1228                      chunk-data CRLF
    1229     chunk-size     = 1*HEX
    1230     last-chunk     = 1*("0") [ chunk-extension ] CRLF
    1231 
    1232     chunk-extension= *( ";" chunk-ext-name [ "=" chunk-ext-val ] )
    1233     chunk-ext-name = token
    1234     chunk-ext-val  = token | quoted-string
    1235     chunk-data     = chunk-size(OCTET)
    1236     trailer        = *(entity-header CRLF)
     1222  Chunked-Body   = *chunk
     1223                   last-chunk
     1224                   trailer
     1225                   CRLF
     1226 
     1227  chunk          = chunk-size [ chunk-extension ] CRLF
     1228                   chunk-data CRLF
     1229  chunk-size     = 1*HEX
     1230  last-chunk     = 1*("0") [ chunk-extension ] CRLF
     1231 
     1232  chunk-extension= *( ";" chunk-ext-name [ "=" chunk-ext-val ] )
     1233  chunk-ext-name = token
     1234  chunk-ext-val  = token | quoted-string
     1235  chunk-data     = chunk-size(OCTET)
     1236  trailer        = *(entity-header CRLF)
    12371237</artwork></figure>
    12381238<t>
     
    13101310</t>
    13111311<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="HTTP-message"/>
    1312     HTTP-message   = Request | Response     ; HTTP/1.1 messages
     1312  HTTP-message   = Request | Response     ; HTTP/1.1 messages
    13131313</artwork></figure>
    13141314<t>
     
    13211321</t>
    13221322<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="generic-message"/><iref primary="true" item="Grammar" subitem="start-line"/>
    1323      generic-message = start-line
    1324                        *(message-header CRLF)
    1325                        CRLF
    1326                        [ message-body ]
    1327      start-line      = Request-Line | Status-Line
     1323  generic-message = start-line
     1324                    *(message-header CRLF)
     1325                    CRLF
     1326                    [ message-body ]
     1327  start-line      = Request-Line | Status-Line
    13281328</artwork></figure>
    13291329<t>
     
    13571357</t>
    13581358<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="message-header"/><iref primary="true" item="Grammar" subitem="field-name"/><iref primary="true" item="Grammar" subitem="field-value"/><iref primary="true" item="Grammar" subitem="field-content"/>
    1359     message-header = field-name ":" [ field-value ]
    1360     field-name     = token
    1361     field-value    = *( field-content | LWS )
    1362     field-content  = &lt;the OCTETs making up the field-value
    1363                      and consisting of either *TEXT or combinations
    1364                      of token, separators, and quoted-string&gt;
     1359  message-header = field-name ":" [ field-value ]
     1360  field-name     = token
     1361  field-value    = *( field-content | LWS )
     1362  field-content  = &lt;the OCTETs making up the field-value
     1363                   and consisting of either *TEXT or combinations
     1364                   of token, separators, and quoted-string&gt;
    13651365</artwork></figure>
    13661366<t>
     
    14021402</t>
    14031403<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="message-body"/>
    1404     message-body = entity-body
    1405                  | &lt;entity-body encoded as per Transfer-Encoding&gt;
     1404  message-body = entity-body
     1405               | &lt;entity-body encoded as per Transfer-Encoding&gt;
    14061406</artwork></figure>
    14071407<t>
     
    15291529</t>
    15301530<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="general-header"/>
    1531     general-header = Cache-Control            ; &header-cache-control;
    1532                    | Connection               ; <xref target="header.connection"/>
    1533                    | Date                     ; <xref target="header.date"/>
    1534                    | Pragma                   ; &header-pragma;
    1535                    | Trailer                  ; <xref target="header.trailer"/>
    1536                    | Transfer-Encoding        ; <xref target="header.transfer-encoding"/>
    1537                    | Upgrade                  ; <xref target="header.upgrade"/>
    1538                    | Via                      ; <xref target="header.via"/>
    1539                    | Warning                  ; &header-warning;
     1531  general-header = Cache-Control            ; &header-cache-control;
     1532                 | Connection               ; <xref target="header.connection"/>
     1533                 | Date                     ; <xref target="header.date"/>
     1534                 | Pragma                   ; &header-pragma;
     1535                 | Trailer                  ; <xref target="header.trailer"/>
     1536                 | Transfer-Encoding        ; <xref target="header.transfer-encoding"/>
     1537                 | Upgrade                  ; <xref target="header.upgrade"/>
     1538                 | Via                      ; <xref target="header.via"/>
     1539                 | Warning                  ; &header-warning;
    15401540</artwork></figure>
    15411541<t>
     
    15581558<!--                 Host                      ; should be moved here eventually -->
    15591559<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Request"/>
    1560      Request       = Request-Line              ; <xref target="request-line"/>
    1561                      *(( general-header        ; <xref target="general.header.fields"/>
    1562                       | request-header         ; &request-header-fields;
    1563                       | entity-header ) CRLF)  ; &entity-header-fields;
    1564                      CRLF
    1565                      [ message-body ]          ; <xref target="message.body"/>
     1560  Request       = Request-Line              ; <xref target="request-line"/>
     1561                  *(( general-header        ; <xref target="general.header.fields"/>
     1562                   | request-header         ; &request-header-fields;
     1563                   | entity-header ) CRLF)  ; &entity-header-fields;
     1564                  CRLF
     1565                  [ message-body ]          ; <xref target="message.body"/>
    15661566</artwork></figure>
    15671567
     
    15741574</t>
    15751575<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Request-Line"/>
    1576      Request-Line   = Method SP Request-URI SP HTTP-Version CRLF
     1576  Request-Line   = Method SP Request-URI SP HTTP-Version CRLF
    15771577</artwork></figure>
    15781578
     
    15831583</t>
    15841584<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Method"/><iref primary="true" item="Grammar" subitem="extension-method"/>
    1585     Method         = token
     1585  Method         = token
    15861586</artwork></figure>
    15871587</section>
     
    15931593</t>
    15941594<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Request-URI"/>
    1595     Request-URI    = "*"
    1596                    | absoluteURI
    1597                    | ( abs_path [ "?" query ] )
    1598                    | authority
     1595  Request-URI    = "*"
     1596                 | absoluteURI
     1597                 | ( abs_path [ "?" query ] )
     1598                 | authority
    15991599</artwork></figure>
    16001600<t>
     
    17181718</t>
    17191719<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Response"/>
    1720     Response      = Status-Line               ; <xref target="status-line"/>
    1721                     *(( general-header        ; <xref target="general.header.fields"/>
    1722                      | response-header        ; &response-header-fields;
    1723                      | entity-header ) CRLF)  ; &entity-header-fields;
    1724                     CRLF
    1725                     [ message-body ]          ; <xref target="message.body"/>
     1720  Response      = Status-Line               ; <xref target="status-line"/>
     1721                  *(( general-header        ; <xref target="general.header.fields"/>
     1722                   | response-header        ; &response-header-fields;
     1723                   | entity-header ) CRLF)  ; &entity-header-fields;
     1724                  CRLF
     1725                  [ message-body ]          ; <xref target="message.body"/>
    17261726</artwork></figure>
    17271727
     
    17341734</t>
    17351735<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Status-Line"/>
    1736     Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF
     1736  Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF
    17371737</artwork></figure>
    17381738
     
    17731773</t>
    17741774<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Status-Code"/><iref primary="true" item="Grammar" subitem="extension-code"/><iref primary="true" item="Grammar" subitem="Reason-Phrase"/>
    1775    Status-Code    = 3DIGIT
    1776    Reason-Phrase  = *&lt;TEXT, excluding CR, LF&gt;
     1775  Status-Code    = 3DIGIT
     1776  Reason-Phrase  = *&lt;TEXT, excluding CR, LF&gt;
    17771777</artwork></figure>
    17781778</section>
     
    22032203</t>
    22042204<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Connection"/><iref primary="true" item="Grammar" subitem="connection-token"/>
    2205     Connection = "Connection" ":" 1#(connection-token)
    2206     connection-token  = token
     2205  Connection = "Connection" ":" 1#(connection-token)
     2206  connection-token  = token
    22072207</artwork></figure>
    22082208<t>
     
    22612261</t>
    22622262<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Content-Length"/>
    2263     Content-Length    = "Content-Length" ":" 1*DIGIT
     2263  Content-Length    = "Content-Length" ":" 1*DIGIT
    22642264</artwork></figure>
    22652265<t>
     
    22982298</t>
    22992299<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Date"/>
    2300     Date  = "Date" ":" HTTP-date
     2300  Date  = "Date" ":" HTTP-date
    23012301</artwork></figure>
    23022302<t>
     
    23782378</t>
    23792379<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Host"/>
    2380     Host = "Host" ":" host [ ":" port ] ; <xref target="http.url"/>
     2380  Host = "Host" ":" host [ ":" port ] ; <xref target="http.url"/>
    23812381</artwork></figure>
    23822382<t>
     
    24202420</t>
    24212421<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="TE"/><iref primary="true" item="Grammar" subitem="t-codings"/>
    2422     TE        = "TE" ":" #( t-codings )
    2423     t-codings = "trailers" | ( transfer-extension [ accept-params ] )
     2422  TE        = "TE" ":" #( t-codings )
     2423  t-codings = "trailers" | ( transfer-extension [ accept-params ] )
    24242424</artwork></figure>
    24252425<t>
     
    24912491</t>
    24922492<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Trailer"/>
    2493     Trailer  = "Trailer" ":" 1#field-name
     2493  Trailer  = "Trailer" ":" 1#field-name
    24942494</artwork></figure>
    24952495<t>
     
    25572557</t>
    25582558<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Upgrade"/>
    2559     Upgrade        = "Upgrade" ":" 1#product
     2559  Upgrade        = "Upgrade" ":" 1#product
    25602560</artwork></figure>
    25612561<t>
     
    26222622</t>
    26232623<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Via"/><iref primary="true" item="Grammar" subitem="received-protocol"/><iref primary="true" item="Grammar" subitem="protocol-name"/><iref primary="true" item="Grammar" subitem="protocol-version"/><iref primary="true" item="Grammar" subitem="received-by"/><iref primary="true" item="Grammar" subitem="pseudonym"/>
    2624    Via =  "Via" ":" 1#( received-protocol received-by [ comment ] )
    2625    received-protocol = [ protocol-name "/" ] protocol-version
    2626    protocol-name     = token
    2627    protocol-version  = token
    2628    received-by       = ( host [ ":" port ] ) | pseudonym
    2629    pseudonym         = token
     2624  Via =  "Via" ":" 1#( received-protocol received-by [ comment ] )
     2625  received-protocol = [ protocol-name "/" ] protocol-version
     2626  protocol-name     = token
     2627  protocol-version  = token
     2628  received-by       = ( host [ ":" port ] ) | pseudonym
     2629  pseudonym         = token
    26302630</artwork></figure>
    26312631<t>
  • draft-ietf-httpbis/latest/p2-semantics.html

    r133 r135  
    628628         space. By convention, the products are listed in order of their significance for identifying the application.
    629629      </p>
    630       <div id="rfc.figure.u.1"></div><pre class="inline"><span id="rfc.iref.g.1"></span><span id="rfc.iref.g.2"></span>    product         = token ["/" product-version]
    631     product-version = token
     630      <div id="rfc.figure.u.1"></div><pre class="inline"><span id="rfc.iref.g.1"></span><span id="rfc.iref.g.2"></span>  product         = token ["/" product-version]
     631  product-version = token
    632632</pre><p id="rfc.section.2.p.3">Examples:</p>
    633633      <div id="rfc.figure.u.2"></div><pre class="text">    User-Agent: CERN-LineMode/2.15 libwww/2.17b3
     
    637637      <h1 id="rfc.section.3"><a href="#rfc.section.3">3.</a>&nbsp;<a id="method" href="#method">Method</a></h1>
    638638      <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>
    639       <div id="rfc.figure.u.3"></div><pre class="inline"><span id="rfc.iref.g.3"></span><span id="rfc.iref.g.4"></span>    Method         = "OPTIONS"                ; <a href="#OPTIONS" id="rfc.xref.OPTIONS.1" title="OPTIONS">Section&nbsp;8.2</a>
    640                    | "GET"                    ; <a href="#GET" id="rfc.xref.GET.1" title="GET">Section&nbsp;8.3</a>
    641                    | "HEAD"                   ; <a href="#HEAD" id="rfc.xref.HEAD.1" title="HEAD">Section&nbsp;8.4</a>
    642                    | "POST"                   ; <a href="#POST" id="rfc.xref.POST.1" title="POST">Section&nbsp;8.5</a>
    643                    | "PUT"                    ; <a href="#PUT" id="rfc.xref.PUT.1" title="PUT">Section&nbsp;8.6</a>
    644                    | "DELETE"                 ; <a href="#DELETE" id="rfc.xref.DELETE.1" title="DELETE">Section&nbsp;8.7</a>
    645                    | "TRACE"                  ; <a href="#TRACE" id="rfc.xref.TRACE.1" title="TRACE">Section&nbsp;8.8</a>
    646                    | "CONNECT"                ; <a href="#CONNECT" id="rfc.xref.CONNECT.1" title="CONNECT">Section&nbsp;8.9</a>
    647                    | extension-method
    648     extension-method = token
     639      <div id="rfc.figure.u.3"></div><pre class="inline"><span id="rfc.iref.g.3"></span><span id="rfc.iref.g.4"></span>  Method         = "OPTIONS"                ; <a href="#OPTIONS" id="rfc.xref.OPTIONS.1" title="OPTIONS">Section&nbsp;8.2</a>
     640                 | "GET"                    ; <a href="#GET" id="rfc.xref.GET.1" title="GET">Section&nbsp;8.3</a>
     641                 | "HEAD"                   ; <a href="#HEAD" id="rfc.xref.HEAD.1" title="HEAD">Section&nbsp;8.4</a>
     642                 | "POST"                   ; <a href="#POST" id="rfc.xref.POST.1" title="POST">Section&nbsp;8.5</a>
     643                 | "PUT"                    ; <a href="#PUT" id="rfc.xref.PUT.1" title="PUT">Section&nbsp;8.6</a>
     644                 | "DELETE"                 ; <a href="#DELETE" id="rfc.xref.DELETE.1" title="DELETE">Section&nbsp;8.7</a>
     645                 | "TRACE"                  ; <a href="#TRACE" id="rfc.xref.TRACE.1" title="TRACE">Section&nbsp;8.8</a>
     646                 | "CONNECT"                ; <a href="#CONNECT" id="rfc.xref.CONNECT.1" title="CONNECT">Section&nbsp;8.9</a>
     647                 | extension-method
     648  extension-method = token
    649649</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
    650650         set of allowed methods can change dynamically. An origin server <em class="bcp14">SHOULD</em> return the status code 405 (Method Not Allowed) if the method is known by the origin server but not allowed for the requested
     
    657657         method invocation.
    658658      </p>
    659       <div id="rfc.figure.u.4"></div><pre class="inline"><span id="rfc.iref.g.5"></span>    request-header = Accept                   ; <a href="#Part3" id="rfc.xref.Part3.2"><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 5.1</a>
    660                    | Accept-Charset           ; <a href="#Part3" id="rfc.xref.Part3.3"><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 5.2</a>
    661                    | Accept-Encoding          ; <a href="#Part3" id="rfc.xref.Part3.4"><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 5.3</a>
    662                    | Accept-Language          ; <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-language" title="Accept-Language">Section 5.4</a>
    663                    | Authorization            ; <a href="#Part7" id="rfc.xref.Part7.1"><cite title="HTTP/1.1, part 7: Authentication">[Part7]</cite></a>, <a href="p7-auth.html#header.authorization" title="Authorization">Section 3.1</a>
    664                    | Expect                   ; <a href="#header.expect" id="rfc.xref.header.expect.1" title="Expect">Section&nbsp;10.2</a>
    665                    | From                     ; <a href="#header.from" id="rfc.xref.header.from.1" title="From">Section&nbsp;10.3</a>
    666                    | Host                     ; <a href="#Part1" id="rfc.xref.Part1.1"><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>
    667                    | If-Match                 ; <a href="#Part4" id="rfc.xref.Part4.1"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>, <a href="p4-conditional.html#header.if-match" title="If-Match">Section 6.2</a>
    668                    | If-Modified-Since        ; <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.if-modified-since" title="If-Modified-Since">Section 6.3</a>
    669                    | If-None-Match            ; <a href="#Part4" id="rfc.xref.Part4.3"><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 6.4</a>
    670                    | If-Range                 ; <a href="#Part5" id="rfc.xref.Part5.1"><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 5.3</a>
    671                    | If-Unmodified-Since      ; <a href="#Part4" id="rfc.xref.Part4.4"><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 6.5</a>
    672                    | Max-Forwards             ; <a href="#header.max-forwards" id="rfc.xref.header.max-forwards.1" title="Max-Forwards">Section&nbsp;10.5</a>
    673                    | Proxy-Authorization      ; <a href="#Part7" id="rfc.xref.Part7.2"><cite title="HTTP/1.1, part 7: Authentication">[Part7]</cite></a>, <a href="p7-auth.html#header.proxy-authorization" title="Proxy-Authorization">Section 3.3</a>
    674                    | Range                    ; <a href="#Part5" id="rfc.xref.Part5.2"><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 5.4</a>
    675                    | Referer                  ; <a href="#header.referer" id="rfc.xref.header.referer.1" title="Referer">Section&nbsp;10.6</a>
    676                    | TE                       ; <a href="#Part1" id="rfc.xref.Part1.2"><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>
    677                    | User-Agent               ; <a href="#header.user-agent" id="rfc.xref.header.user-agent.1" title="User-Agent">Section&nbsp;10.9</a>
     659      <div id="rfc.figure.u.4"></div><pre class="inline"><span id="rfc.iref.g.5"></span>  request-header = Accept                   ; <a href="#Part3" id="rfc.xref.Part3.2"><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 5.1</a>
     660                 | Accept-Charset           ; <a href="#Part3" id="rfc.xref.Part3.3"><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 5.2</a>
     661                 | Accept-Encoding          ; <a href="#Part3" id="rfc.xref.Part3.4"><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 5.3</a>
     662                 | Accept-Language          ; <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-language" title="Accept-Language">Section 5.4</a>
     663                 | Authorization            ; <a href="#Part7" id="rfc.xref.Part7.1"><cite title="HTTP/1.1, part 7: Authentication">[Part7]</cite></a>, <a href="p7-auth.html#header.authorization" title="Authorization">Section 3.1</a>
     664                 | Expect                   ; <a href="#header.expect" id="rfc.xref.header.expect.1" title="Expect">Section&nbsp;10.2</a>
     665                 | From                     ; <a href="#header.from" id="rfc.xref.header.from.1" title="From">Section&nbsp;10.3</a>
     666                 | Host                     ; <a href="#Part1" id="rfc.xref.Part1.1"><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>
     667                 | If-Match                 ; <a href="#Part4" id="rfc.xref.Part4.1"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>, <a href="p4-conditional.html#header.if-match" title="If-Match">Section 6.2</a>
     668                 | If-Modified-Since        ; <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.if-modified-since" title="If-Modified-Since">Section 6.3</a>
     669                 | If-None-Match            ; <a href="#Part4" id="rfc.xref.Part4.3"><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 6.4</a>
     670                 | If-Range                 ; <a href="#Part5" id="rfc.xref.Part5.1"><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 5.3</a>
     671                 | If-Unmodified-Since      ; <a href="#Part4" id="rfc.xref.Part4.4"><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 6.5</a>
     672                 | Max-Forwards             ; <a href="#header.max-forwards" id="rfc.xref.header.max-forwards.1" title="Max-Forwards">Section&nbsp;10.5</a>
     673                 | Proxy-Authorization      ; <a href="#Part7" id="rfc.xref.Part7.2"><cite title="HTTP/1.1, part 7: Authentication">[Part7]</cite></a>, <a href="p7-auth.html#header.proxy-authorization" title="Proxy-Authorization">Section 3.3</a>
     674                 | Range                    ; <a href="#Part5" id="rfc.xref.Part5.2"><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 5.4</a>
     675                 | Referer                  ; <a href="#header.referer" id="rfc.xref.header.referer.1" title="Referer">Section&nbsp;10.6</a>
     676                 | TE                       ; <a href="#Part1" id="rfc.xref.Part1.2"><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>
     677                 | User-Agent               ; <a href="#header.user-agent" id="rfc.xref.header.user-agent.1" title="User-Agent">Section&nbsp;10.9</a>
    678678</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
    679679         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.
     
    688688         are presented below. The reason phrases listed here are only recommendations -- they <em class="bcp14">MAY</em> be replaced by local equivalents without affecting the protocol.
    689689      </p>
    690       <div id="rfc.figure.u.5"></div><pre class="inline"><span id="rfc.iref.g.6"></span><span id="rfc.iref.g.7"></span><span id="rfc.iref.g.8"></span>   Status-Code    =
     690      <div id="rfc.figure.u.5"></div><pre class="inline"><span id="rfc.iref.g.6"></span><span id="rfc.iref.g.7"></span><span id="rfc.iref.g.8"></span>  Status-Code    =
    691691         "100"  ; <a href="#status.100" id="rfc.xref.status.100.1" title="100 Continue">Section&nbsp;9.1.1</a>: Continue
    692692       | "101"  ; <a href="#status.101" id="rfc.xref.status.101.1" title="101 Switching Protocols">Section&nbsp;9.1.2</a>: Switching Protocols
     
    731731       | extension-code
    732732
    733    extension-code = 3DIGIT
    734    Reason-Phrase  = *&lt;TEXT, excluding CR, LF&gt;
     733  extension-code = 3DIGIT
     734  Reason-Phrase  = *&lt;TEXT, excluding CR, LF&gt;
    735735</pre><p id="rfc.section.5.p.4">HTTP status codes are extensible. HTTP applications are not required to understand the meaning of all registered status codes,
    736736         though such understanding is obviously desirable. However, applications <em class="bcp14">MUST</em> understand the class of any status code, as indicated by the first digit, and treat any unrecognized response as being equivalent
     
    744744         the Request-URI.
    745745      </p>
    746       <div id="rfc.figure.u.6"></div><pre class="inline"><span id="rfc.iref.g.9"></span>    response-header = Accept-Ranges           ; <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.accept-ranges" title="Accept-Ranges">Section 5.1</a>
    747                     | Age                     ; <a href="#Part6" id="rfc.xref.Part6.1"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.age" title="Age">Section 3.1</a>
    748                     | ETag                    ; <a href="#Part4" id="rfc.xref.Part4.5"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>, <a href="p4-conditional.html#header.etag" title="ETag">Section 6.1</a>
    749                     | Location                ; <a href="#header.location" id="rfc.xref.header.location.1" title="Location">Section&nbsp;10.4</a>
    750                     | Proxy-Authenticate      ; <a href="#Part7" id="rfc.xref.Part7.3"><cite title="HTTP/1.1, part 7: Authentication">[Part7]</cite></a>, <a href="p7-auth.html#header.proxy-authenticate" title="Proxy-Authenticate">Section 3.2</a>
    751                     | Retry-After             ; <a href="#header.retry-after" id="rfc.xref.header.retry-after.1" title="Retry-After">Section&nbsp;10.7</a>
    752                     | Server                  ; <a href="#header.server" id="rfc.xref.header.server.1" title="Server">Section&nbsp;10.8</a>
    753                     | Vary                    ; <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.vary" title="Vary">Section 3.5</a>
    754                     | WWW-Authenticate        ; <a href="#Part7" id="rfc.xref.Part7.4"><cite title="HTTP/1.1, part 7: Authentication">[Part7]</cite></a>, <a href="p7-auth.html#header.www-authenticate" title="WWW-Authenticate">Section 3.4</a>
     746      <div id="rfc.figure.u.6"></div><pre class="inline"><span id="rfc.iref.g.9"></span>  response-header = Accept-Ranges           ; <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.accept-ranges" title="Accept-Ranges">Section 5.1</a>
     747                  | Age                     ; <a href="#Part6" id="rfc.xref.Part6.1"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.age" title="Age">Section 3.1</a>
     748                  | ETag                    ; <a href="#Part4" id="rfc.xref.Part4.5"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>, <a href="p4-conditional.html#header.etag" title="ETag">Section 6.1</a>
     749                  | Location                ; <a href="#header.location" id="rfc.xref.header.location.1" title="Location">Section&nbsp;10.4</a>
     750                  | Proxy-Authenticate      ; <a href="#Part7" id="rfc.xref.Part7.3"><cite title="HTTP/1.1, part 7: Authentication">[Part7]</cite></a>, <a href="p7-auth.html#header.proxy-authenticate" title="Proxy-Authenticate">Section 3.2</a>
     751                  | Retry-After             ; <a href="#header.retry-after" id="rfc.xref.header.retry-after.1" title="Retry-After">Section&nbsp;10.7</a>
     752                  | Server                  ; <a href="#header.server" id="rfc.xref.header.server.1" title="Server">Section&nbsp;10.8</a>
     753                  | Vary                    ; <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.vary" title="Vary">Section 3.5</a>
     754                  | WWW-Authenticate        ; <a href="#Part7" id="rfc.xref.Part7.4"><cite title="HTTP/1.1, part 7: Authentication">[Part7]</cite></a>, <a href="p7-auth.html#header.www-authenticate" title="WWW-Authenticate">Section 3.4</a>
    755755</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
    756756         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
     
    13541354         of this field is strictly to inform the recipient of valid methods associated with the resource. An Allow header field <em class="bcp14">MUST</em> be present in a 405 (Method Not Allowed) response.
    13551355      </p>
    1356       <div id="rfc.figure.u.7"></div><pre class="inline"><span id="rfc.iref.g.11"></span>       Allow   = "Allow" ":" #Method
     1356      <div id="rfc.figure.u.7"></div><pre class="inline"><span id="rfc.iref.g.11"></span>  Allow   = "Allow" ":" #Method
    13571357</pre><p id="rfc.section.10.1.p.3">Example of use:</p>
    13581358      <div id="rfc.figure.u.8"></div><pre class="text">       Allow: GET, HEAD, PUT
     
    13691369      <h2 id="rfc.section.10.2"><a href="#rfc.section.10.2">10.2</a>&nbsp;<a id="header.expect" href="#header.expect">Expect</a></h2>
    13701370      <p id="rfc.section.10.2.p.1">The Expect request-header field is used to indicate that particular server behaviors are required by the client.</p>
    1371       <div id="rfc.figure.u.9"></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>   Expect       =  "Expect" ":" 1#expectation
    1372 
    1373    expectation  =  "100-continue" | expectation-extension
    1374    expectation-extension =  token [ "=" ( token | quoted-string )
    1375                             *expect-params ]
    1376    expect-params =  ";" token [ "=" ( token | quoted-string ) ]
     1371      <div id="rfc.figure.u.9"></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>  Expect       =  "Expect" ":" 1#expectation
     1372 
     1373  expectation  =  "100-continue" | expectation-extension
     1374  expectation-extension =  token [ "=" ( token | quoted-string )
     1375                           *expect-params ]
     1376  expect-params =  ";" token [ "=" ( token | quoted-string ) ]
    13771377</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
    13781378         the request, some other 4xx status.
     
    13951395      <p id="rfc.section.10.3.p.1">The From request-header field, if given, <em class="bcp14">SHOULD</em> contain an Internet e-mail address for the human user who controls the requesting user agent. The address <em class="bcp14">SHOULD</em> be machine-usable, as defined by "mailbox" in <a href="http://tools.ietf.org/html/rfc2822#section-3.4">Section 3.4</a> of <a href="#RFC2822" id="rfc.xref.RFC2822.1"><cite title="Internet Message Format">[RFC2822]</cite></a>:
    13961396      </p>
    1397       <div id="rfc.figure.u.10"></div><pre class="inline"><span id="rfc.iref.g.16"></span>    From   = "From" ":" mailbox
     1397      <div id="rfc.figure.u.10"></div><pre class="inline"><span id="rfc.iref.g.16"></span>  From   = "From" ":" mailbox
    13981398</pre><p id="rfc.section.10.3.p.3">An example is:</p>
    13991399      <div id="rfc.figure.u.11"></div><pre class="text">    From: webmaster@example.org
     
    14171417         URI.
    14181418      </p>
    1419       <div id="rfc.figure.u.12"></div><pre class="inline"><span id="rfc.iref.g.17"></span>    Location       = "Location" ":" absoluteURI [ "#" fragment ]
     1419      <div id="rfc.figure.u.12"></div><pre class="inline"><span id="rfc.iref.g.17"></span>  Location       = "Location" ":" absoluteURI [ "#" fragment ]
    14201420</pre><p id="rfc.section.10.4.p.3">An example is:</p>
    14211421      <div id="rfc.figure.u.13"></div><pre class="text">    Location: http://www.example.org/pub/WWW/People.html
     
    14401440         useful when the client is attempting to trace a request chain which appears to be failing or looping in mid-chain.
    14411441      </p>
    1442       <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.18"></span>    Max-Forwards   = "Max-Forwards" ":" 1*DIGIT
     1442      <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.18"></span>  Max-Forwards   = "Max-Forwards" ":" 1*DIGIT
    14431443</pre><p id="rfc.section.10.5.p.3">The Max-Forwards value is a decimal integer indicating the remaining number of times this request message may be forwarded.</p>
    14441444      <p id="rfc.section.10.5.p.4">Each proxy or gateway recipient of a TRACE or OPTIONS request containing a Max-Forwards header field <em class="bcp14">MUST</em> check and update its value prior to forwarding the request. If the received value is zero (0), the recipient <em class="bcp14">MUST NOT</em> forward the request; instead, it <em class="bcp14">MUST</em> respond as the final recipient. If the received Max-Forwards value is greater than zero, then the forwarded message <em class="bcp14">MUST</em> contain an updated Max-Forwards field with a value decremented by one (1).
     
    14551455         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.
    14561456      </p>
    1457       <div id="rfc.figure.u.15"></div><pre class="inline"><span id="rfc.iref.g.19"></span>    Referer        = "Referer" ":" ( absoluteURI | relativeURI )
     1457      <div id="rfc.figure.u.15"></div><pre class="inline"><span id="rfc.iref.g.19"></span>  Referer        = "Referer" ":" ( absoluteURI | relativeURI )
    14581458</pre><p id="rfc.section.10.6.p.3">Example:</p>
    14591459      <div id="rfc.figure.u.16"></div><pre class="text">    Referer: http://www.example.org/hypertext/Overview.html
     
    14681468         the time of the response.
    14691469      </p>
    1470       <div id="rfc.figure.u.17"></div><pre class="inline"><span id="rfc.iref.g.20"></span>    Retry-After  = "Retry-After" ":" ( HTTP-date | delta-seconds )
     1470      <div id="rfc.figure.u.17"></div><pre class="inline"><span id="rfc.iref.g.20"></span>  Retry-After  = "Retry-After" ":" ( HTTP-date | delta-seconds )
    14711471</pre><p id="rfc.section.10.7.p.3">Two examples of its use are</p>
    14721472      <div id="rfc.figure.u.18"></div><pre class="text">    Retry-After: Fri, 31 Dec 1999 23:59:59 GMT
     
    14801480         for identifying the application.
    14811481      </p>
    1482       <div id="rfc.figure.u.19"></div><pre class="inline"><span id="rfc.iref.g.21"></span>    Server         = "Server" ":" 1*( product | comment )
     1482      <div id="rfc.figure.u.19"></div><pre class="inline"><span id="rfc.iref.g.21"></span>  Server         = "Server" ":" 1*( product | comment )
    14831483</pre><p id="rfc.section.10.8.p.3">Example:</p>
    14841484      <div id="rfc.figure.u.20"></div><pre class="text">    Server: CERN/3.0 libwww/2.17
     
    14991499         product tokens are listed in order of their significance for identifying the application.
    15001500      </p>
    1501       <div id="rfc.figure.u.21"></div><pre class="inline"><span id="rfc.iref.g.22"></span>    User-Agent     = "User-Agent" ":" 1*( product | comment )
     1501      <div id="rfc.figure.u.21"></div><pre class="inline"><span id="rfc.iref.g.22"></span>  User-Agent     = "User-Agent" ":" 1*( product | comment )
    15021502</pre><p id="rfc.section.10.9.p.3">Example:</p>
    15031503      <div id="rfc.figure.u.22"></div><pre class="text">    User-Agent: CERN-LineMode/2.15 libwww/2.17b3
  • draft-ietf-httpbis/latest/p2-semantics.xml

    r133 r135  
    283283</t>
    284284<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="product"/><iref primary="true" item="Grammar" subitem="product-version"/>
    285     product         = token ["/" product-version]
    286     product-version = token
     285  product         = token ["/" product-version]
     286  product-version = token
    287287</artwork></figure>
    288288<t>
     
    309309</t>
    310310<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Method"/><iref primary="true" item="Grammar" subitem="extension-method"/>
    311     Method         = "OPTIONS"                ; <xref target="OPTIONS"/>
    312                    | "GET"                    ; <xref target="GET"/>
    313                    | "HEAD"                   ; <xref target="HEAD"/>
    314                    | "POST"                   ; <xref target="POST"/>
    315                    | "PUT"                    ; <xref target="PUT"/>
    316                    | "DELETE"                 ; <xref target="DELETE"/>
    317                    | "TRACE"                  ; <xref target="TRACE"/>
    318                    | "CONNECT"                ; <xref target="CONNECT"/>
    319                    | extension-method
    320     extension-method = token
     311  Method         = "OPTIONS"                ; <xref target="OPTIONS"/>
     312                 | "GET"                    ; <xref target="GET"/>
     313                 | "HEAD"                   ; <xref target="HEAD"/>
     314                 | "POST"                   ; <xref target="POST"/>
     315                 | "PUT"                    ; <xref target="PUT"/>
     316                 | "DELETE"                 ; <xref target="DELETE"/>
     317                 | "TRACE"                  ; <xref target="TRACE"/>
     318                 | "CONNECT"                ; <xref target="CONNECT"/>
     319                 | extension-method
     320  extension-method = token
    321321</artwork></figure>
    322322<t>
     
    345345</t>
    346346<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="request-header"/>
    347     request-header = Accept                   ; &header-accept;
    348                    | Accept-Charset           ; &header-accept-charset;
    349                    | Accept-Encoding          ; &header-accept-encoding;
    350                    | Accept-Language          ; &header-accept-language;
    351                    | Authorization            ; &header-authorization;
    352                    | Expect                   ; <xref target="header.expect"/>
    353                    | From                     ; <xref target="header.from"/>
    354                    | Host                     ; &header-host;
    355                    | If-Match                 ; &header-if-match;
    356                    | If-Modified-Since        ; &header-if-modified-since;
    357                    | If-None-Match            ; &header-if-none-match;
    358                    | If-Range                 ; &header-if-range;
    359                    | If-Unmodified-Since      ; &header-if-unmodified-since;
    360                    | Max-Forwards             ; <xref target="header.max-forwards"/>
    361                    | Proxy-Authorization      ; &header-proxy-authorization;
    362                    | Range                    ; &header-range;
    363                    | Referer                  ; <xref target="header.referer"/>
    364                    | TE                       ; &header-te;
    365                    | User-Agent               ; <xref target="header.user-agent"/>
     347  request-header = Accept                   ; &header-accept;
     348                 | Accept-Charset           ; &header-accept-charset;
     349                 | Accept-Encoding          ; &header-accept-encoding;
     350                 | Accept-Language          ; &header-accept-language;
     351                 | Authorization            ; &header-authorization;
     352                 | Expect                   ; <xref target="header.expect"/>
     353                 | From                     ; <xref target="header.from"/>
     354                 | Host                     ; &header-host;
     355                 | If-Match                 ; &header-if-match;
     356                 | If-Modified-Since        ; &header-if-modified-since;
     357                 | If-None-Match            ; &header-if-none-match;
     358                 | If-Range                 ; &header-if-range;
     359                 | If-Unmodified-Since      ; &header-if-unmodified-since;
     360                 | Max-Forwards             ; <xref target="header.max-forwards"/>
     361                 | Proxy-Authorization      ; &header-proxy-authorization;
     362                 | Range                    ; &header-range;
     363                 | Referer                  ; <xref target="header.referer"/>
     364                 | TE                       ; &header-te;
     365                 | User-Agent               ; <xref target="header.user-agent"/>
    366366</artwork></figure>
    367367<t>
     
    392392</t>
    393393<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Status-Code"/><iref primary="true" item="Grammar" subitem="extension-code"/><iref primary="true" item="Grammar" subitem="Reason-Phrase"/>
    394    Status-Code    =
     394  Status-Code    =
    395395         "100"  ; <xref target="status.100"/>: Continue
    396396       | "101"  ; <xref target="status.101"/>: Switching Protocols
     
    435435       | extension-code
    436436
    437    extension-code = 3DIGIT
    438    Reason-Phrase  = *&lt;TEXT, excluding CR, LF&gt;
     437  extension-code = 3DIGIT
     438  Reason-Phrase  = *&lt;TEXT, excluding CR, LF&gt;
    439439</artwork></figure>
    440440<t>
     
    463463</t>
    464464<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="response-header"/>
    465     response-header = Accept-Ranges           ; &header-accept-ranges;
    466                     | Age                     ; &header-age;
    467                     | ETag                    ; &header-etag;
    468                     | Location                ; <xref target="header.location"/>
    469                     | Proxy-Authenticate      ; &header-proxy-authenticate;
    470                     | Retry-After             ; <xref target="header.retry-after"/>
    471                     | Server                  ; <xref target="header.server"/>
    472                     | Vary                    ; &header-vary;
    473                     | WWW-Authenticate        ; &header-www-authenticate;
     465  response-header = Accept-Ranges           ; &header-accept-ranges;
     466                  | Age                     ; &header-age;
     467                  | ETag                    ; &header-etag;
     468                  | Location                ; <xref target="header.location"/>
     469                  | Proxy-Authenticate      ; &header-proxy-authenticate;
     470                  | Retry-After             ; <xref target="header.retry-after"/>
     471                  | Server                  ; <xref target="header.server"/>
     472                  | Vary                    ; &header-vary;
     473                  | WWW-Authenticate        ; &header-www-authenticate;
    474474</artwork></figure>
    475475<t>
     
    16511651</t>
    16521652<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Allow"/>
    1653        Allow   = "Allow" ":" #Method
     1653  Allow   = "Allow" ":" #Method
    16541654</artwork></figure>
    16551655<t>
     
    16871687</t>
    16881688<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Expect"/><iref primary="true" item="Grammar" subitem="expectation"/><iref primary="true" item="Grammar" subitem="expectation-extension"/><iref primary="true" item="Grammar" subitem="expect-params"/>
    1689    Expect       =  "Expect" ":" 1#expectation
    1690 
    1691    expectation  =  "100-continue" | expectation-extension
    1692    expectation-extension =  token [ "=" ( token | quoted-string )
    1693                             *expect-params ]
    1694    expect-params =  ";" token [ "=" ( token | quoted-string ) ]
     1689  Expect       =  "Expect" ":" 1#expectation
     1690 
     1691  expectation  =  "100-continue" | expectation-extension
     1692  expectation-extension =  token [ "=" ( token | quoted-string )
     1693                           *expect-params ]
     1694  expect-params =  ";" token [ "=" ( token | quoted-string ) ]
    16951695</artwork></figure>
    16961696<t>
     
    17391739</t>
    17401740<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="From"/>
    1741     From   = "From" ":" mailbox
     1741  From   = "From" ":" mailbox
    17421742</artwork></figure>
    17431743<t>
     
    17851785</t>
    17861786<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Location"/>
    1787     Location       = "Location" ":" absoluteURI [ "#" fragment ]
     1787  Location       = "Location" ":" absoluteURI [ "#" fragment ]
    17881788</artwork></figure>
    17891789<t>
     
    18241824</t>
    18251825<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Max-Forwards"/>
    1826     Max-Forwards   = "Max-Forwards" ":" 1*DIGIT
     1826  Max-Forwards   = "Max-Forwards" ":" 1*DIGIT
    18271827</artwork></figure>
    18281828<t>
     
    18611861</t>
    18621862<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Referer"/>
    1863     Referer        = "Referer" ":" ( absoluteURI | relativeURI )
     1863  Referer        = "Referer" ":" ( absoluteURI | relativeURI )
    18641864</artwork></figure>
    18651865<t>
     
    18891889</t>
    18901890<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Retry-After"/>
    1891     Retry-After  = "Retry-After" ":" ( HTTP-date | delta-seconds )
     1891  Retry-After  = "Retry-After" ":" ( HTTP-date | delta-seconds )
    18921892</artwork></figure>
    18931893<t>
     
    19151915</t>
    19161916<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Server"/>
    1917     Server         = "Server" ":" 1*( product | comment )
     1917  Server         = "Server" ":" 1*( product | comment )
    19181918</artwork></figure>
    19191919<t>
     
    19531953</t>
    19541954<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="User-Agent"/>
    1955     User-Agent     = "User-Agent" ":" 1*( product | comment )
     1955  User-Agent     = "User-Agent" ":" 1*( product | comment )
    19561956</artwork></figure>
    19571957<t>
  • draft-ietf-httpbis/latest/p3-payload.html

    r133 r135  
    595595         Set registry (&lt;<a href="http://www.iana.org/assignments/character-sets">http://www.iana.org/assignments/character-sets</a>&gt;).
    596596      </p>
    597       <div id="rfc.figure.u.1"></div><pre class="inline"><span id="rfc.iref.g.1"></span>    charset = token
     597      <div id="rfc.figure.u.1"></div><pre class="inline"><span id="rfc.iref.g.1"></span>  charset = token
    598598</pre><p id="rfc.section.2.1.p.6">Although HTTP allows an arbitrary token to be used as a charset value, any token that has a predefined value within the IANA
    599599         Character Set registry <em class="bcp14">MUST</em> represent the character set defined by that registry. Applications <em class="bcp14">SHOULD</em> limit their use of character sets to those defined by the IANA registry.
     
    618618         decoded by the recipient.
    619619      </p>
    620       <div id="rfc.figure.u.2"></div><pre class="inline"><span id="rfc.iref.g.2"></span>    content-coding   = token
     620      <div id="rfc.figure.u.2"></div><pre class="inline"><span id="rfc.iref.g.2"></span>  content-coding   = token
    621621</pre><p id="rfc.section.2.2.p.3">All content-coding values are case-insensitive. HTTP/1.1 uses content-coding values in the Accept-Encoding (<a href="#header.accept-encoding" id="rfc.xref.header.accept-encoding.1" title="Accept-Encoding">Section&nbsp;5.3</a>) and Content-Encoding (<a href="#header.content-encoding" id="rfc.xref.header.content-encoding.1" title="Content-Encoding">Section&nbsp;5.5</a>) header fields. Although the value describes the content-coding, what is more important is that it indicates what decoding
    622622         mechanism will be required to remove the encoding.
     
    662662      <p id="rfc.section.2.3.p.1">HTTP uses Internet Media Types <a href="#RFC4288" id="rfc.xref.RFC4288.1"><cite title="Media Type Specifications and Registration Procedures">[RFC4288]</cite></a> in the Content-Type (<a href="#header.content-type" id="rfc.xref.header.content-type.1" title="Content-Type">Section&nbsp;5.9</a>) and Accept (<a href="#header.accept" id="rfc.xref.header.accept.1" title="Accept">Section&nbsp;5.1</a>) header fields in order to provide open and extensible data typing and type negotiation.
    663663      </p>
    664       <div id="rfc.figure.u.3"></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>    media-type     = type "/" subtype *( ";" parameter )
    665     type           = token
    666     subtype        = token
     664      <div id="rfc.figure.u.3"></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>  media-type     = type "/" subtype *( ";" parameter )
     665  type           = token
     666  subtype        = token
    667667</pre><p id="rfc.section.2.3.p.3">Parameters <em class="bcp14">MAY</em> follow the type/subtype in the form of attribute/value pairs.
    668668      </p>
    669       <div id="rfc.figure.u.4"></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>    parameter               = attribute "=" value
    670     attribute               = token
    671     value                   = token | quoted-string
     669      <div id="rfc.figure.u.4"></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>  parameter               = attribute "=" value
     670  attribute               = token
     671  value                   = token | quoted-string
    672672</pre><p id="rfc.section.2.3.p.5">The type, subtype, and parameter attribute names are case-insensitive. Parameter values might or might not be case-sensitive,
    673673         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
     
    720720         a quality value of 0, then content with this parameter is `not acceptable' for the client. HTTP/1.1 applications <em class="bcp14">MUST NOT</em> generate more than three digits after the decimal point. User configuration of these values <em class="bcp14">SHOULD</em> also be limited in this fashion.
    721721      </p>
    722       <div id="rfc.figure.u.5"></div><pre class="inline"><span id="rfc.iref.g.10"></span>    qvalue         = ( "0" [ "." 0*3DIGIT ] )
    723                    | ( "1" [ "." 0*3("0") ] )
     722      <div id="rfc.figure.u.5"></div><pre class="inline"><span id="rfc.iref.g.10"></span>  qvalue         = ( "0" [ "." 0*3DIGIT ] )
     723                 | ( "1" [ "." 0*3("0") ] )
    724724</pre><p id="rfc.section.2.4.p.3">"Quality values" is a misnomer, since these values merely represent relative degradation in desired quality.</p>
    725725      <h2 id="rfc.section.2.5"><a href="#rfc.section.2.5">2.5</a>&nbsp;<a id="language.tags" href="#language.tags">Language Tags</a></h2>
     
    730730      <p id="rfc.section.2.5.p.2">The syntax and registry of HTTP language tags is the same as that defined by <a href="#RFC1766" id="rfc.xref.RFC1766.1"><cite title="Tags for the Identification of Languages">[RFC1766]</cite></a>. In summary, a language tag is composed of 1 or more parts: A primary language tag and a possibly empty series of subtags:
    731731      </p>
    732       <div id="rfc.figure.u.6"></div><pre class="inline"><span id="rfc.iref.g.11"></span><span id="rfc.iref.g.12"></span><span id="rfc.iref.g.13"></span>     language-tag  = primary-tag *( "-" subtag )
    733      primary-tag   = 1*8ALPHA
    734      subtag        = 1*8ALPHA
     732      <div id="rfc.figure.u.6"></div><pre class="inline"><span id="rfc.iref.g.11"></span><span id="rfc.iref.g.12"></span><span id="rfc.iref.g.13"></span>  language-tag  = primary-tag *( "-" subtag )
     733  primary-tag   = 1*8ALPHA
     734  subtag        = 1*8ALPHA
    735735</pre><p id="rfc.section.2.5.p.4">White space is not allowed within the tag and all tags are case-insensitive. The name space of language tags is administered
    736736         by the IANA. Example tags include:
     
    752752         by the request. Some of this metainformation is <em class="bcp14">OPTIONAL</em>; some might be <em class="bcp14">REQUIRED</em> by portions of this specification.
    753753      </p>
    754       <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span>    entity-header  = Allow                    ; <a href="#Part2" id="rfc.xref.Part2.1"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>, <a href="p2-semantics.html#header.allow" title="Allow">Section 10.1</a>
    755                    | Content-Encoding         ; <a href="#header.content-encoding" id="rfc.xref.header.content-encoding.2" title="Content-Encoding">Section&nbsp;5.5</a>
    756                    | Content-Language         ; <a href="#header.content-language" id="rfc.xref.header.content-language.1" title="Content-Language">Section&nbsp;5.6</a>
    757                    | Content-Length           ; <a href="#Part1" id="rfc.xref.Part1.1"><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>
    758                    | Content-Location         ; <a href="#header.content-location" id="rfc.xref.header.content-location.1" title="Content-Location">Section&nbsp;5.7</a>
    759                    | Content-MD5              ; <a href="#header.content-md5" id="rfc.xref.header.content-md5.1" title="Content-MD5">Section&nbsp;5.8</a>
    760                    | Content-Range            ; <a href="#Part5" id="rfc.xref.Part5.2"><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 5.2</a>
    761                    | Content-Type             ; <a href="#header.content-type" id="rfc.xref.header.content-type.2" title="Content-Type">Section&nbsp;5.9</a>
    762                    | Expires                  ; <a href="#Part6" id="rfc.xref.Part6.1"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.expires" title="Expires">Section 3.3</a>
    763                    | Last-Modified            ; <a href="#Part4" id="rfc.xref.Part4.1"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>, <a href="p4-conditional.html#header.last-modified" title="Last-Modified">Section 6.6</a>
    764                    | extension-header
    765 
    766     extension-header = message-header
     754      <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span>  entity-header  = Allow                    ; <a href="#Part2" id="rfc.xref.Part2.1"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>, <a href="p2-semantics.html#header.allow" title="Allow">Section 10.1</a>
     755                 | Content-Encoding         ; <a href="#header.content-encoding" id="rfc.xref.header.content-encoding.2" title="Content-Encoding">Section&nbsp;5.5</a>
     756                 | Content-Language         ; <a href="#header.content-language" id="rfc.xref.header.content-language.1" title="Content-Language">Section&nbsp;5.6</a>
     757                 | Content-Length           ; <a href="#Part1" id="rfc.xref.Part1.1"><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>
     758                 | Content-Location         ; <a href="#header.content-location" id="rfc.xref.header.content-location.1" title="Content-Location">Section&nbsp;5.7</a>
     759                 | Content-MD5              ; <a href="#header.content-md5" id="rfc.xref.header.content-md5.1" title="Content-MD5">Section&nbsp;5.8</a>
     760                 | Content-Range            ; <a href="#Part5" id="rfc.xref.Part5.2"><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 5.2</a>
     761                 | Content-Type             ; <a href="#header.content-type" id="rfc.xref.header.content-type.2" title="Content-Type">Section&nbsp;5.9</a>
     762                 | Expires                  ; <a href="#Part6" id="rfc.xref.Part6.1"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.expires" title="Expires">Section 3.3</a>
     763                 | Last-Modified            ; <a href="#Part4" id="rfc.xref.Part4.1"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>, <a href="p4-conditional.html#header.last-modified" title="Last-Modified">Section 6.6</a>
     764                 | extension-header
     765 
     766  extension-header = message-header
    767767</pre><p id="rfc.section.3.1.p.3">The extension-header mechanism allows additional entity-header fields to be defined without changing the protocol, but these
    768768         fields cannot be assumed to be recognizable by the recipient. Unrecognized header fields <em class="bcp14">SHOULD</em> be ignored by the recipient and <em class="bcp14">MUST</em> be forwarded by transparent proxies.
     
    770770      <h2 id="rfc.section.3.2"><a href="#rfc.section.3.2">3.2</a>&nbsp;<a id="entity.body" href="#entity.body">Entity Body</a></h2>
    771771      <p id="rfc.section.3.2.p.1">The entity-body (if any) sent with an HTTP request or response is in a format and encoding defined by the entity-header fields.</p>
    772       <div id="rfc.figure.u.9"></div><pre class="inline"><span id="rfc.iref.g.16"></span>    entity-body    = *OCTET
     772      <div id="rfc.figure.u.9"></div><pre class="inline"><span id="rfc.iref.g.16"></span>  entity-body    = *OCTET
    773773</pre><p id="rfc.section.3.2.p.3">An entity-body is only present in a message when a message-body is present, as described in <a href="p1-messaging.html#message.body" title="Message Body">Section 4.3</a> of <a href="#Part1" id="rfc.xref.Part1.2"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. The entity-body is obtained from the message-body by decoding any Transfer-Encoding that might have been applied to ensure
    774774         safe and proper transfer of the message.
     
    882882         for an in-line image.
    883883      </p>
    884       <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.17"></span><span id="rfc.iref.g.18"></span><span id="rfc.iref.g.19"></span><span id="rfc.iref.g.20"></span>    Accept         = "Accept" ":"
    885                      #( media-range [ accept-params ] )
    886 
    887     media-range    = ( "*/*"
    888                      | ( type "/" "*" )
    889                      | ( type "/" subtype )
    890                      ) *( ";" parameter )
    891     accept-params  = ";" "q" "=" qvalue *( accept-extension )
    892     accept-extension = ";" token [ "=" ( token | quoted-string ) ]
     884      <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.17"></span><span id="rfc.iref.g.18"></span><span id="rfc.iref.g.19"></span><span id="rfc.iref.g.20"></span>  Accept         = "Accept" ":"
     885                   #( media-range [ accept-params ] )
     886 
     887  media-range    = ( "*/*"
     888                   | ( type "/" "*" )
     889                   | ( type "/" subtype )
     890                   ) *( ";" parameter )
     891  accept-params  = ";" "q" "=" qvalue *( accept-extension )
     892  accept-extension = ";" token [ "=" ( token | quoted-string ) ]
    893893</pre><p id="rfc.section.5.1.p.3">The asterisk "*" character is used to group media types into ranges, with "*/*" indicating all media types and "type/*" indicating
    894894         all subtypes of that type. The media-range <em class="bcp14">MAY</em> include media type parameters that are applicable to that range.
     
    951951         to a server which is capable of representing documents in those character sets.
    952952      </p>
    953       <div id="rfc.figure.u.18"></div><pre class="inline"><span id="rfc.iref.g.21"></span>   Accept-Charset = "Accept-Charset" ":"
    954            1#( ( charset | "*" )[ ";" "q" "=" qvalue ] )
     953      <div id="rfc.figure.u.18"></div><pre class="inline"><span id="rfc.iref.g.21"></span>  Accept-Charset = "Accept-Charset" ":"
     954          1#( ( charset | "*" )[ ";" "q" "=" qvalue ] )
    955955</pre><p id="rfc.section.5.2.p.3">Character set values are described in <a href="#character.sets" title="Character Sets">Section&nbsp;2.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
    956956         example is
     
    970970      <p id="rfc.section.5.3.p.1">The Accept-Encoding request-header field is similar to Accept, but restricts the content-codings (<a href="#content.codings" title="Content Codings">Section&nbsp;2.2</a>) that are acceptable in the response.
    971971      </p>
    972       <div id="rfc.figure.u.20"></div><pre class="inline"><span id="rfc.iref.g.22"></span><span id="rfc.iref.g.23"></span>    Accept-Encoding  = "Accept-Encoding" ":"
    973                        #( codings [ ";" "q" "=" qvalue ] )
    974     codings          = ( content-coding | "*" )
     972      <div id="rfc.figure.u.20"></div><pre class="inline"><span id="rfc.iref.g.22"></span><span id="rfc.iref.g.23"></span>  Accept-Encoding  = "Accept-Encoding" ":"
     973                     #( codings [ ";" "q" "=" qvalue ] )
     974  codings          = ( content-coding | "*" )
    975975</pre><p id="rfc.section.5.3.p.3">Examples of its use are:</p>
    976976      <div id="rfc.figure.u.21"></div><pre class="text">    Accept-Encoding: compress, gzip
     
    10161016         as a response to the request. Language tags are defined in <a href="#language.tags" title="Language Tags">Section&nbsp;2.5</a>.
    10171017      </p>
    1018       <div id="rfc.figure.u.22"></div><pre class="inline"><span id="rfc.iref.g.24"></span><span id="rfc.iref.g.25"></span>    Accept-Language = "Accept-Language" ":"
    1019                       1#( language-range [ ";" "q" "=" qvalue ] )
    1020     language-range  = ( ( 1*8ALPHA *( "-" 1*8ALPHA ) ) | "*" )
     1018      <div id="rfc.figure.u.22"></div><pre class="inline"><span id="rfc.iref.g.24"></span><span id="rfc.iref.g.25"></span>  Accept-Language = "Accept-Language" ":"
     1019                    1#( language-range [ ";" "q" "=" qvalue ] )
     1020  language-range  = ( ( 1*8ALPHA *( "-" 1*8ALPHA ) ) | "*" )
    10211021</pre><p id="rfc.section.5.4.p.3">Each language-range <em class="bcp14">MAY</em> be given an associated quality value which represents an estimate of the user's preference for the languages specified by
    10221022         that range. The quality value defaults to "q=1". For example,
     
    10601060         without losing the identity of its underlying media type.
    10611061      </p>
    1062       <div id="rfc.figure.u.24"></div><pre class="inline"><span id="rfc.iref.g.26"></span>    Content-Encoding  = "Content-Encoding" ":" 1#content-coding
     1062      <div id="rfc.figure.u.24"></div><pre class="inline"><span id="rfc.iref.g.26"></span>  Content-Encoding  = "Content-Encoding" ":" 1#content-coding
    10631063</pre><p id="rfc.section.5.5.p.3">Content codings are defined in <a href="#content.codings" title="Content Codings">Section&nbsp;2.2</a>. An example of its use is
    10641064      </p>
     
    10801080         Note that this might not be equivalent to all the languages used within the entity-body.
    10811081      </p>
    1082       <div id="rfc.figure.u.26"></div><pre class="inline"><span id="rfc.iref.g.27"></span>    Content-Language  = "Content-Language" ":" 1#language-tag
     1082      <div id="rfc.figure.u.26"></div><pre class="inline"><span id="rfc.iref.g.27"></span>  Content-Language  = "Content-Language" ":" 1#language-tag
    10831083</pre><p id="rfc.section.5.6.p.3">Language tags are defined in <a href="#language.tags" title="Language Tags">Section&nbsp;2.5</a>. The primary purpose of Content-Language is to allow a user to identify and differentiate entities according to the user's
    10841084         own preferred language. Thus, if the body content is intended only for a Danish-literate audience, the appropriate field is
     
    11071107         accessed, the server <em class="bcp14">SHOULD</em> provide a Content-Location for the particular variant which is returned.
    11081108      </p>
    1109       <div id="rfc.figure.u.29"></div><pre class="inline"><span id="rfc.iref.g.28"></span>    Content-Location = "Content-Location" ":"
    1110                       ( absoluteURI | relativeURI )
     1109      <div id="rfc.figure.u.29"></div><pre class="inline"><span id="rfc.iref.g.28"></span>  Content-Location = "Content-Location" ":"
     1110                    ( absoluteURI | relativeURI )
    11111111</pre><p id="rfc.section.5.7.p.3">The value of Content-Location also defines the base URI for the entity.</p>
    11121112      <p id="rfc.section.5.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
     
    11261126         attacks.)
    11271127      </p>
    1128       <div id="rfc.figure.u.30"></div><pre class="inline"><span id="rfc.iref.g.29"></span><span id="rfc.iref.g.30"></span>     Content-MD5   = "Content-MD5" ":" md5-digest
    1129      md5-digest   = &lt;base64 of 128 bit MD5 digest as per <a href="#RFC1864" id="rfc.xref.RFC1864.2"><cite title="The Content-MD5 Header Field">[RFC1864]</cite></a>&gt;
     1128      <div id="rfc.figure.u.30"></div><pre class="inline"><span id="rfc.iref.g.29"></span><span id="rfc.iref.g.30"></span>  Content-MD5   = "Content-MD5" ":" md5-digest
     1129  md5-digest    = &lt;base64 of 128 bit MD5 digest as per <a href="#RFC1864" id="rfc.xref.RFC1864.2"><cite title="The Content-MD5 Header Field">[RFC1864]</cite></a>&gt;
    11301130</pre><p id="rfc.section.5.8.p.3">The Content-MD5 header field <em class="bcp14">MAY</em> be generated by an origin server or client to function as an integrity check of the entity-body. Only origin servers or clients <em class="bcp14">MAY</em> generate the Content-MD5 header field; proxies and gateways <em class="bcp14">MUST NOT</em> generate it, as this would defeat its value as an end-to-end integrity check. Any recipient of the entity-body, including
    11311131         gateways and proxies, <em class="bcp14">MAY</em> check that the digest value in this header field matches that of the entity-body as received.
     
    11631163         the HEAD method, the media type that would have been sent had the request been a GET.
    11641164      </p>
    1165       <div id="rfc.figure.u.31"></div><pre class="inline"><span id="rfc.iref.g.31"></span>    Content-Type   = "Content-Type" ":" media-type
     1165      <div id="rfc.figure.u.31"></div><pre class="inline"><span id="rfc.iref.g.31"></span>  Content-Type   = "Content-Type" ":" media-type
    11661166</pre><p id="rfc.section.5.9.p.3">Media types are defined in <a href="#media.types" title="Media Types">Section&nbsp;2.3</a>. An example of the field is
    11671167      </p>
     
    13851385         environments.
    13861386      </p>
    1387       <div id="rfc.figure.u.33"></div><pre class="inline"><span id="rfc.iref.g.32"></span>    MIME-Version   = "MIME-Version" ":" 1*DIGIT "." 1*DIGIT
     1387      <div id="rfc.figure.u.33"></div><pre class="inline"><span id="rfc.iref.g.32"></span>  MIME-Version   = "MIME-Version" ":" 1*DIGIT "." 1*DIGIT
    13881388</pre><p id="rfc.section.A.1.p.3">MIME version "1.0" is the default for use in HTTP/1.1. However, HTTP/1.1 message parsing and semantics are defined by this
    13891389         document and not the MIME specification.
     
    14391439         in <a href="#RFC1806" id="rfc.xref.RFC1806.3"><cite title="Communicating Presentation Information in Internet Messages: The Content-Disposition Header">[RFC1806]</cite></a>.
    14401440      </p>
    1441       <div id="rfc.figure.u.34"></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>     content-disposition = "Content-Disposition" ":"
    1442                            disposition-type *( ";" disposition-parm )
    1443      disposition-type = "attachment" | disp-extension-token
    1444      disposition-parm = filename-parm | disp-extension-parm
    1445      filename-parm = "filename" "=" quoted-string
    1446      disp-extension-token = token
    1447      disp-extension-parm = token "=" ( token | quoted-string )
     1441      <div id="rfc.figure.u.34"></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>  content-disposition = "Content-Disposition" ":"
     1442                        disposition-type *( ";" disposition-parm )
     1443  disposition-type = "attachment" | disp-extension-token
     1444  disposition-parm = filename-parm | disp-extension-parm
     1445  filename-parm = "filename" "=" quoted-string
     1446  disp-extension-token = token
     1447  disp-extension-parm = token "=" ( token | quoted-string )
    14481448</pre><p id="rfc.section.B.1.p.3">An example is</p>
    14491449      <div id="rfc.figure.u.35"></div><pre class="text">     Content-Disposition: attachment; filename="fname.ext"
  • draft-ietf-httpbis/latest/p3-payload.xml

    r133 r135  
    266266</t>
    267267<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="charset"/>
    268     charset = token
     268  charset = token
    269269</artwork></figure>
    270270<t>
     
    317317</t>
    318318<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="content-coding"/>
    319     content-coding   = token
     319  content-coding   = token
    320320</artwork></figure>
    321321<t>
     
    389389</t>
    390390<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="media-type"/><iref primary="true" item="Grammar" subitem="type"/><iref primary="true" item="Grammar" subitem="subtype"/>
    391     media-type     = type "/" subtype *( ";" parameter )
    392     type           = token
    393     subtype        = token
     391  media-type     = type "/" subtype *( ";" parameter )
     392  type           = token
     393  subtype        = token
    394394</artwork></figure>
    395395<t>
     
    398398</t>
    399399<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="parameter"/><iref primary="true" item="Grammar" subitem="attribute"/><iref primary="true" item="Grammar" subitem="value"/>
    400     parameter               = attribute "=" value
    401     attribute               = token
    402     value                   = token | quoted-string
     400  parameter               = attribute "=" value
     401  attribute               = token
     402  value                   = token | quoted-string
    403403</artwork></figure>
    404404<t>
     
    517517</t>
    518518<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="qvalue"/>
    519     qvalue         = ( "0" [ "." 0*3DIGIT ] )
    520                    | ( "1" [ "." 0*3("0") ] )
     519  qvalue         = ( "0" [ "." 0*3DIGIT ] )
     520                 | ( "1" [ "." 0*3("0") ] )
    521521</artwork></figure>
    522522<t>
     
    541541</t>
    542542<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="language-tag"/><iref primary="true" item="Grammar" subitem="primary-tag"/><iref primary="true" item="Grammar" subitem="subtag"/>
    543      language-tag  = primary-tag *( "-" subtag )
    544      primary-tag   = 1*8ALPHA
    545      subtag        = 1*8ALPHA
     543  language-tag  = primary-tag *( "-" subtag )
     544  primary-tag   = 1*8ALPHA
     545  subtag        = 1*8ALPHA
    546546</artwork></figure>
    547547<t>
     
    582582</t>
    583583<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="entity-header"/><iref primary="true" item="Grammar" subitem="extension-header"/>
    584     entity-header  = Allow                    ; &header-allow;
    585                    | Content-Encoding         ; <xref target="header.content-encoding"/>
    586                    | Content-Language         ; <xref target="header.content-language"/>
    587                    | Content-Length           ; &header-content-length;
    588                    | Content-Location         ; <xref target="header.content-location"/>
    589                    | Content-MD5              ; <xref target="header.content-md5"/>
    590                    | Content-Range            ; &header-content-range;
    591                    | Content-Type             ; <xref target="header.content-type"/>
    592                    | Expires                  ; &header-expires;
    593                    | Last-Modified            ; &header-last-modified;
    594                    | extension-header
    595 
    596     extension-header = message-header
     584  entity-header  = Allow                    ; &header-allow;
     585                 | Content-Encoding         ; <xref target="header.content-encoding"/>
     586                 | Content-Language         ; <xref target="header.content-language"/>
     587                 | Content-Length           ; &header-content-length;
     588                 | Content-Location         ; <xref target="header.content-location"/>
     589                 | Content-MD5              ; <xref target="header.content-md5"/>
     590                 | Content-Range            ; &header-content-range;
     591                 | Content-Type             ; <xref target="header.content-type"/>
     592                 | Expires                  ; &header-expires;
     593                 | Last-Modified            ; &header-last-modified;
     594                 | extension-header
     595 
     596  extension-header = message-header
    597597</artwork></figure>
    598598<t>
     
    611611</t>
    612612<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="entity-body"/>
    613     entity-body    = *OCTET
     613  entity-body    = *OCTET
    614614</artwork></figure>
    615615<t>
     
    836836</t>
    837837<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Accept"/><iref primary="true" item="Grammar" subitem="media-range"/><iref primary="true" item="Grammar" subitem="accept-params"/><iref primary="true" item="Grammar" subitem="accept-extension"/>
    838     Accept         = "Accept" ":"
    839                      #( media-range [ accept-params ] )
    840 
    841     media-range    = ( "*/*"
    842                      | ( type "/" "*" )
    843                      | ( type "/" subtype )
    844                      ) *( ";" parameter )
    845     accept-params  = ";" "q" "=" qvalue *( accept-extension )
    846     accept-extension = ";" token [ "=" ( token | quoted-string ) ]
     838  Accept         = "Accept" ":"
     839                   #( media-range [ accept-params ] )
     840 
     841  media-range    = ( "*/*"
     842                   | ( type "/" "*" )
     843                   | ( type "/" subtype )
     844                   ) *( ";" parameter )
     845  accept-params  = ";" "q" "=" qvalue *( accept-extension )
     846  accept-extension = ";" token [ "=" ( token | quoted-string ) ]
    847847</artwork></figure>
    848848<t>
     
    957957</t>
    958958<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Accept-Charset"/>
    959    Accept-Charset = "Accept-Charset" ":"
    960            1#( ( charset | "*" )[ ";" "q" "=" qvalue ] )
     959  Accept-Charset = "Accept-Charset" ":"
     960          1#( ( charset | "*" )[ ";" "q" "=" qvalue ] )
    961961</artwork></figure>
    962962<t>
     
    995995</t>
    996996<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Accept-Encoding"/><iref primary="true" item="Grammar" subitem="codings"/>
    997     Accept-Encoding  = "Accept-Encoding" ":"
    998                        #( codings [ ";" "q" "=" qvalue ] )
    999     codings          = ( content-coding | "*" )
     997  Accept-Encoding  = "Accept-Encoding" ":"
     998                     #( codings [ ";" "q" "=" qvalue ] )
     999  codings          = ( content-coding | "*" )
    10001000</artwork></figure>
    10011001<t>
     
    10711071</t>
    10721072<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Accept-Language"/><iref primary="true" item="Grammar" subitem="language-range"/>
    1073     Accept-Language = "Accept-Language" ":"
    1074                       1#( language-range [ ";" "q" "=" qvalue ] )
    1075     language-range  = ( ( 1*8ALPHA *( "-" 1*8ALPHA ) ) | "*" )
     1073  Accept-Language = "Accept-Language" ":"
     1074                    1#( language-range [ ";" "q" "=" qvalue ] )
     1075  language-range  = ( ( 1*8ALPHA *( "-" 1*8ALPHA ) ) | "*" )
    10761076</artwork></figure>
    10771077<t>
     
    11501150</t>
    11511151<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Content-Encoding"/>
    1152     Content-Encoding  = "Content-Encoding" ":" 1#content-coding
     1152  Content-Encoding  = "Content-Encoding" ":" 1#content-coding
    11531153</artwork></figure>
    11541154<t>
     
    11941194</t>
    11951195<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Content-Language"/>
    1196     Content-Language  = "Content-Language" ":" 1#language-tag
     1196  Content-Language  = "Content-Language" ":" 1#language-tag
    11971197</artwork></figure>
    11981198<t>
     
    12501250</t>
    12511251<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Content-Location"/>
    1252     Content-Location = "Content-Location" ":"
    1253                       ( absoluteURI | relativeURI )
     1252  Content-Location = "Content-Location" ":"
     1253                    ( absoluteURI | relativeURI )
    12541254</artwork></figure>
    12551255<t>
     
    12931293</t>
    12941294<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Content-MD5"/><iref primary="true" item="Grammar" subitem="md5-digest"/>
    1295      Content-MD5   = "Content-MD5" ":" md5-digest
    1296      md5-digest   = &lt;base64 of 128 bit MD5 digest as per <xref target="RFC1864"/>&gt;
     1295  Content-MD5   = "Content-MD5" ":" md5-digest
     1296  md5-digest    = &lt;base64 of 128 bit MD5 digest as per <xref target="RFC1864"/>&gt;
    12971297</artwork></figure>
    12981298<t>
     
    13641364</t>
    13651365<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Content-Type"/>
    1366     Content-Type   = "Content-Type" ":" media-type
     1366  Content-Type   = "Content-Type" ":" media-type
    13671367</artwork></figure>
    13681368<t>
     
    21212121</t>
    21222122<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="MIME-Version"/>
    2123     MIME-Version   = "MIME-Version" ":" 1*DIGIT "." 1*DIGIT
     2123  MIME-Version   = "MIME-Version" ":" 1*DIGIT "." 1*DIGIT
    21242124</artwork></figure>
    21252125<t>
     
    22402240</t>
    22412241<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="content-disposition"/><iref primary="true" item="Grammar" subitem="disposition-type"/><iref primary="true" item="Grammar" subitem="disposition-parm"/><iref primary="true" item="Grammar" subitem="filename-parm"/><iref primary="true" item="Grammar" subitem="disp-extension-token"/><iref primary="true" item="Grammar" subitem="disp-extension-parm"/>
    2242      content-disposition = "Content-Disposition" ":"
    2243                            disposition-type *( ";" disposition-parm )
    2244      disposition-type = "attachment" | disp-extension-token
    2245      disposition-parm = filename-parm | disp-extension-parm
    2246      filename-parm = "filename" "=" quoted-string
    2247      disp-extension-token = token
    2248      disp-extension-parm = token "=" ( token | quoted-string )
     2242  content-disposition = "Content-Disposition" ":"
     2243                        disposition-type *( ";" disposition-parm )
     2244  disposition-type = "attachment" | disp-extension-token
     2245  disposition-parm = filename-parm | disp-extension-parm
     2246  filename-parm = "filename" "=" quoted-string
     2247  disp-extension-token = token
     2248  disp-extension-parm = token "=" ( token | quoted-string )
    22492249</artwork></figure>
    22502250<t>
  • draft-ietf-httpbis/latest/p4-conditional.html

    r129 r135  
    534534         ETag (<a href="#header.etag" id="rfc.xref.header.etag.1" title="ETag">Section&nbsp;6.1</a>), If-Match (<a href="#header.if-match" id="rfc.xref.header.if-match.1" title="If-Match">Section&nbsp;6.2</a>), If-None-Match (<a href="#header.if-none-match" id="rfc.xref.header.if-none-match.1" title="If-None-Match">Section&nbsp;6.4</a>), and If-Range (<a href="p5-range.html#header.if-range" title="If-Range">Section 5.3</a> of <a href="#Part5" id="rfc.xref.Part5.1"><cite title="HTTP/1.1, part 5: Range Requests and Partial Responses">[Part5]</cite></a>) header fields. The definition of how they are used and compared as cache validators is in <a href="#weak.and.strong.validators" title="Weak and Strong Validators">Section&nbsp;4</a>. An entity tag consists of an opaque quoted string, possibly prefixed by a weakness indicator.
    535535      </p>
    536       <div id="rfc.figure.u.1"></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>   entity-tag = [ weak ] opaque-tag
    537    weak       = "W/"
    538    opaque-tag = quoted-string
     536      <div id="rfc.figure.u.1"></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>  entity-tag = [ weak ] opaque-tag
     537  weak       = "W/"
     538  opaque-tag = quoted-string
    539539</pre><p id="rfc.section.2.p.3">A "strong entity tag" <em class="bcp14">MAY</em> be shared by two entities of a resource only if they are equivalent by octet equality.
    540540      </p>
     
    729729         entity tags are described in Sections <a href="#header.if-match" id="rfc.xref.header.if-match.2" title="If-Match">6.2</a> and <a href="#header.if-none-match" id="rfc.xref.header.if-none-match.2" title="If-None-Match">6.4</a> of this document, and in <a href="p5-range.html#header.if-range" title="If-Range">Section 5.3</a> of <a href="#Part5" id="rfc.xref.Part5.2"><cite title="HTTP/1.1, part 5: Range Requests and Partial Responses">[Part5]</cite></a>. The entity tag <em class="bcp14">MAY</em> be used for comparison with other entities from the same resource (see <a href="#weak.and.strong.validators" title="Weak and Strong Validators">Section&nbsp;4</a>).
    730730      </p>
    731       <div id="rfc.figure.u.2"></div><pre class="inline"><span id="rfc.iref.g.4"></span>    ETag = "ETag" ":" entity-tag
     731      <div id="rfc.figure.u.2"></div><pre class="inline"><span id="rfc.iref.g.4"></span>  ETag = "ETag" ":" entity-tag
    732732</pre><div id="rfc.figure.u.3"></div>
    733733      <p>Examples:</p>  <pre class="text">   ETag: "xyzzy"
     
    743743         case, the value "*" matches any current entity of the resource.
    744744      </p>
    745       <div id="rfc.figure.u.4"></div><pre class="inline"><span id="rfc.iref.g.5"></span>    If-Match = "If-Match" ":" ( "*" | 1#entity-tag )
     745      <div id="rfc.figure.u.4"></div><pre class="inline"><span id="rfc.iref.g.5"></span>  If-Match = "If-Match" ":" ( "*" | 1#entity-tag )
    746746</pre><p id="rfc.section.6.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
    747747         request (without the If-Match header) on that resource, or if "*" is given and any current entity exists for that resource,
     
    775775         modified) response will be returned without any message-body.
    776776      </p>
    777       <div id="rfc.figure.u.6"></div><pre class="inline"><span id="rfc.iref.g.6"></span>    If-Modified-Since = "If-Modified-Since" ":" HTTP-date
     777      <div id="rfc.figure.u.6"></div><pre class="inline"><span id="rfc.iref.g.6"></span>  If-Modified-Since = "If-Modified-Since" ":" HTTP-date
    778778</pre><p id="rfc.section.6.3.p.3">An example of the field is:</p>
    779779      <div id="rfc.figure.u.7"></div><pre class="text">    If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT
     
    823823      </p>
    824824      <p id="rfc.section.6.4.p.2">As a special case, the value "*" matches any current entity of the resource.</p>
    825       <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g.7"></span>    If-None-Match = "If-None-Match" ":" ( "*" | 1#entity-tag )
     825      <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g.7"></span>  If-None-Match = "If-None-Match" ":" ( "*" | 1#entity-tag )
    826826</pre><p id="rfc.section.6.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
    827827         request (without the If-None-Match header) on that resource, or if "*" is given and any current entity exists for that resource,
     
    856856      <p id="rfc.section.6.5.p.2">If the requested variant has been modified since the specified time, the server <em class="bcp14">MUST NOT</em> perform the requested operation, and <em class="bcp14">MUST</em> return a 412 (Precondition Failed).
    857857      </p>
    858       <div id="rfc.figure.u.10"></div><pre class="inline"><span id="rfc.iref.g.8"></span>   If-Unmodified-Since = "If-Unmodified-Since" ":" HTTP-date
     858      <div id="rfc.figure.u.10"></div><pre class="inline"><span id="rfc.iref.g.8"></span>  If-Unmodified-Since = "If-Unmodified-Since" ":" HTTP-date
    859859</pre><p id="rfc.section.6.5.p.4">An example of the field is:</p>
    860860      <div id="rfc.figure.u.11"></div><pre class="text">    If-Unmodified-Since: Sat, 29 Oct 1994 19:43:31 GMT
     
    872872         modified.
    873873      </p>
    874       <div id="rfc.figure.u.12"></div><pre class="inline"><span id="rfc.iref.g.9"></span>    Last-Modified  = "Last-Modified" ":" HTTP-date
     874      <div id="rfc.figure.u.12"></div><pre class="inline"><span id="rfc.iref.g.9"></span>  Last-Modified  = "Last-Modified" ":" HTTP-date
    875875</pre><p id="rfc.section.6.6.p.3">An example of its use is</p>
    876876      <div id="rfc.figure.u.13"></div><pre class="text">    Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT
  • draft-ietf-httpbis/latest/p4-conditional.xml

    r129 r135  
    237237</t>
    238238<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="entity-tag"/><iref primary="true" item="Grammar" subitem="weak"/><iref primary="true" item="Grammar" subitem="opaque-tag"/>
    239    entity-tag = [ weak ] opaque-tag
    240    weak       = "W/"
    241    opaque-tag = quoted-string
     239  entity-tag = [ weak ] opaque-tag
     240  weak       = "W/"
     241  opaque-tag = quoted-string
    242242</artwork></figure>
    243243<t>
     
    582582</t>
    583583<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="ETag"/>
    584     ETag = "ETag" ":" entity-tag
     584  ETag = "ETag" ":" entity-tag
    585585</artwork></figure>
    586586<figure><preamble>
     
    610610</t>
    611611<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="If-Match"/>
    612     If-Match = "If-Match" ":" ( "*" | 1#entity-tag )
     612  If-Match = "If-Match" ":" ( "*" | 1#entity-tag )
    613613</artwork></figure>
    614614<t>
     
    675675</t>
    676676<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="If-Modified-Since"/>
    677     If-Modified-Since = "If-Modified-Since" ":" HTTP-date
     677  If-Modified-Since = "If-Modified-Since" ":" HTTP-date
    678678</artwork></figure>
    679679<t>
     
    764764</t>
    765765<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="If-None-Match"/>
    766     If-None-Match = "If-None-Match" ":" ( "*" | 1#entity-tag )
     766  If-None-Match = "If-None-Match" ":" ( "*" | 1#entity-tag )
    767767</artwork></figure>
    768768<t>
     
    840840</t>
    841841<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="If-Unmodified-Since"/>
    842    If-Unmodified-Since = "If-Unmodified-Since" ":" HTTP-date
     842  If-Unmodified-Since = "If-Unmodified-Since" ":" HTTP-date
    843843</artwork></figure>
    844844<t>
     
    871871</t>
    872872<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Last-Modified"/>
    873     Last-Modified  = "Last-Modified" ":" HTTP-date
     873  Last-Modified  = "Last-Modified" ":" HTTP-date
    874874</artwork></figure>
    875875<t>
  • draft-ietf-httpbis/latest/p5-range.html

    r131 r135  
    537537         uses range units in the Range (<a href="#header.range" id="rfc.xref.header.range.1" title="Range">Section&nbsp;5.4</a>) and Content-Range (<a href="#header.content-range" id="rfc.xref.header.content-range.1" title="Content-Range">Section&nbsp;5.2</a>) header fields. An entity can be broken down into subranges according to various structural units.
    538538      </p>
    539       <div id="rfc.figure.u.1"></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>   range-unit       = bytes-unit | other-range-unit
    540    bytes-unit       = "bytes"
    541    other-range-unit = token
     539      <div id="rfc.figure.u.1"></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>  range-unit       = bytes-unit | other-range-unit
     540  bytes-unit       = "bytes"
     541  other-range-unit = token
    542542</pre><p id="rfc.section.2.p.3">The only range unit defined by HTTP/1.1 is "bytes". HTTP/1.1 implementations <em class="bcp14">MAY</em> ignore ranges specified using other units.
    543543      </p>
     
    602602      <h2 id="rfc.section.5.1"><a href="#rfc.section.5.1">5.1</a>&nbsp;<a id="header.accept-ranges" href="#header.accept-ranges">Accept-Ranges</a></h2>
    603603      <p id="rfc.section.5.1.p.1">The Accept-Ranges response-header field allows the server to indicate its acceptance of range requests for a resource:</p>
    604       <div id="rfc.figure.u.2"></div><pre class="inline"><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span>       Accept-Ranges     = "Accept-Ranges" ":" acceptable-ranges
    605        acceptable-ranges = 1#range-unit | "none"
     604      <div id="rfc.figure.u.2"></div><pre class="inline"><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span>  Accept-Ranges     = "Accept-Ranges" ":" acceptable-ranges
     605  acceptable-ranges = 1#range-unit | "none"
    606606</pre><p id="rfc.section.5.1.p.3">Origin servers that accept byte-range requests <em class="bcp14">MAY</em> send
    607607      </p>
     
    619619         should be applied. Range units are defined in <a href="#range.units" title="Range Units">Section&nbsp;2</a>.
    620620      </p>
    621       <div id="rfc.figure.u.5"></div><pre class="inline"><span id="rfc.iref.g.6"></span><span id="rfc.iref.g.7"></span><span id="rfc.iref.g.8"></span><span id="rfc.iref.g.9"></span><span id="rfc.iref.g.10"></span>    Content-Range = "Content-Range" ":" content-range-spec
    622 
    623     content-range-spec      = byte-content-range-spec
    624     byte-content-range-spec = bytes-unit SP
    625                               byte-range-resp-spec "/"
    626                               ( instance-length | "*" )
    627 
    628     byte-range-resp-spec = (first-byte-pos "-" last-byte-pos)
    629                                    | "*"
    630     instance-length           = 1*DIGIT
     621      <div id="rfc.figure.u.5"></div><pre class="inline"><span id="rfc.iref.g.6"></span><span id="rfc.iref.g.7"></span><span id="rfc.iref.g.8"></span><span id="rfc.iref.g.9"></span><span id="rfc.iref.g.10"></span>  Content-Range = "Content-Range" ":" content-range-spec
     622 
     623  content-range-spec      = byte-content-range-spec
     624  byte-content-range-spec = bytes-unit SP
     625                            byte-range-resp-spec "/"
     626                            ( instance-length | "*" )
     627 
     628  byte-range-resp-spec = (first-byte-pos "-" last-byte-pos)
     629                                 | "*"
     630  instance-length           = 1*DIGIT
    631631</pre><p id="rfc.section.5.2.p.3">The header <em class="bcp14">SHOULD</em> indicate the total length of the full entity-body, unless this length is unknown or difficult to determine. The asterisk "*"
    632632         character means that the instance-length is unknown at the time when the response was generated.
     
    696696         send me the part(s) that I am missing; otherwise, send me the entire new entity'.
    697697      </p>
    698       <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.11"></span>     If-Range = "If-Range" ":" ( entity-tag | HTTP-date )
     698      <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.11"></span>  If-Range = "If-Range" ":" ( entity-tag | HTTP-date )
    699699</pre><p id="rfc.section.5.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
    700700         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.
     
    713713      <p id="rfc.section.5.4.1.p.3">A byte range operation <em class="bcp14">MAY</em> specify a single range of bytes, or a set of ranges within a single entity.
    714714      </p>
    715       <div id="rfc.figure.u.12"></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>    ranges-specifier = byte-ranges-specifier
    716     byte-ranges-specifier = bytes-unit "=" byte-range-set
    717     byte-range-set  = 1#( byte-range-spec | suffix-byte-range-spec )
    718     byte-range-spec = first-byte-pos "-" [last-byte-pos]
    719     first-byte-pos  = 1*DIGIT
    720     last-byte-pos   = 1*DIGIT
     715      <div id="rfc.figure.u.12"></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>  ranges-specifier = byte-ranges-specifier
     716  byte-ranges-specifier = bytes-unit "=" byte-range-set
     717  byte-range-set  = 1#( byte-range-spec | suffix-byte-range-spec )
     718  byte-range-spec = first-byte-pos "-" [last-byte-pos]
     719  first-byte-pos  = 1*DIGIT
     720  last-byte-pos   = 1*DIGIT
    721721</pre><p id="rfc.section.5.4.1.p.5">The first-byte-pos value in a byte-range-spec gives the byte-offset of the first byte in a range. The last-byte-pos value
    722722         gives the byte-offset of the last byte in the range; that is, the byte positions specified are inclusive. Byte offsets start
     
    730730      </p>
    731731      <p id="rfc.section.5.4.1.p.8">By its choice of last-byte-pos, a client can limit the number of bytes retrieved without knowing the size of the entity.</p>
    732       <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.18"></span><span id="rfc.iref.g.19"></span>    suffix-byte-range-spec = "-" suffix-length
    733     suffix-length = 1*DIGIT
     732      <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.18"></span><span id="rfc.iref.g.19"></span>  suffix-byte-range-spec = "-" suffix-length
     733  suffix-length = 1*DIGIT
    734734</pre><p id="rfc.section.5.4.1.p.10">A suffix-byte-range-spec is used to specify the suffix of the entity-body, of a length given by the suffix-length value. (That
    735735         is, this form specifies the last N bytes of an entity-body.) If the entity is shorter than the specified suffix-length, the
     
    754754         to the entity returned as the result of the request:
    755755      </p>
    756       <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.20"></span>   Range = "Range" ":" ranges-specifier
     756      <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.20"></span>  Range = "Range" ":" ranges-specifier
    757757</pre><p id="rfc.section.5.4.2.p.3">A server <em class="bcp14">MAY</em> ignore the Range header. However, HTTP/1.1 origin servers and intermediate caches ought to support byte ranges when possible,
    758758         since Range supports efficient recovery from partially failed transfers, and supports efficient partial retrieval of large
  • draft-ietf-httpbis/latest/p5-range.xml

    r131 r135  
    231231</t>
    232232<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"/>
    233    range-unit       = bytes-unit | other-range-unit
    234    bytes-unit       = "bytes"
    235    other-range-unit = token
     233  range-unit       = bytes-unit | other-range-unit
     234  bytes-unit       = "bytes"
     235  other-range-unit = token
    236236</artwork></figure>
    237237<t>
     
    364364</t>
    365365<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Accept-Ranges"/><iref primary="true" item="Grammar" subitem="acceptable-ranges"/>
    366        Accept-Ranges     = "Accept-Ranges" ":" acceptable-ranges
    367        acceptable-ranges = 1#range-unit | "none"
     366  Accept-Ranges     = "Accept-Ranges" ":" acceptable-ranges
     367  acceptable-ranges = 1#range-unit | "none"
    368368</artwork></figure>
    369369<t>
     
    399399</t>
    400400<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Content-Range"/><iref primary="true" item="Grammar" subitem="content-range-spec"/><iref primary="true" item="Grammar" subitem="byte-content-range-spec"/><iref primary="true" item="Grammar" subitem="byte-range-resp-spec"/><iref primary="true" item="Grammar" subitem="instance-length"/>
    401     Content-Range = "Content-Range" ":" content-range-spec
    402 
    403     content-range-spec      = byte-content-range-spec
    404     byte-content-range-spec = bytes-unit SP
    405                               byte-range-resp-spec "/"
    406                               ( instance-length | "*" )
    407 
    408     byte-range-resp-spec = (first-byte-pos "-" last-byte-pos)
    409                                    | "*"
    410     instance-length           = 1*DIGIT
     401  Content-Range = "Content-Range" ":" content-range-spec
     402 
     403  content-range-spec      = byte-content-range-spec
     404  byte-content-range-spec = bytes-unit SP
     405                            byte-range-resp-spec "/"
     406                            ( instance-length | "*" )
     407 
     408  byte-range-resp-spec = (first-byte-pos "-" last-byte-pos)
     409                                 | "*"
     410  instance-length           = 1*DIGIT
    411411</artwork></figure>
    412412<t>
     
    542542</t>
    543543<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="If-Range"/>
    544      If-Range = "If-Range" ":" ( entity-tag | HTTP-date )
     544  If-Range = "If-Range" ":" ( entity-tag | HTTP-date )
    545545</artwork></figure>
    546546<t>
     
    582582</t>
    583583<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="ranges-specifier"/><iref primary="true" item="Grammar" subitem="byte-ranges-specifier"/><iref primary="true" item="Grammar" subitem="byte-range-set"/><iref primary="true" item="Grammar" subitem="byte-range-spec"/><iref primary="true" item="Grammar" subitem="first-byte-pos"/><iref primary="true" item="Grammar" subitem="last-byte-pos"/>
    584     ranges-specifier = byte-ranges-specifier
    585     byte-ranges-specifier = bytes-unit "=" byte-range-set
    586     byte-range-set  = 1#( byte-range-spec | suffix-byte-range-spec )
    587     byte-range-spec = first-byte-pos "-" [last-byte-pos]
    588     first-byte-pos  = 1*DIGIT
    589     last-byte-pos   = 1*DIGIT
     584  ranges-specifier = byte-ranges-specifier
     585  byte-ranges-specifier = bytes-unit "=" byte-range-set
     586  byte-range-set  = 1#( byte-range-spec | suffix-byte-range-spec )
     587  byte-range-spec = first-byte-pos "-" [last-byte-pos]
     588  first-byte-pos  = 1*DIGIT
     589  last-byte-pos   = 1*DIGIT
    590590</artwork></figure>
    591591<t>
     
    613613</t>
    614614<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="suffix-byte-range-spec"/><iref primary="true" item="Grammar" subitem="suffix-length"/>
    615     suffix-byte-range-spec = "-" suffix-length
    616     suffix-length = 1*DIGIT
     615  suffix-byte-range-spec = "-" suffix-length
     616  suffix-length = 1*DIGIT
    617617</artwork></figure>
    618618<t>
     
    667667</t>
    668668<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Range"/>
    669    Range = "Range" ":" ranges-specifier
     669  Range = "Range" ":" ranges-specifier
    670670</artwork></figure>
    671671<t>
  • draft-ietf-httpbis/latest/p6-cache.html

    r131 r135  
    648648         the time that the message was received.
    649649      </p>
    650       <div id="rfc.figure.u.1"></div><pre class="inline"><span id="rfc.iref.g.1"></span>    delta-seconds  = 1*DIGIT
     650      <div id="rfc.figure.u.1"></div><pre class="inline"><span id="rfc.iref.g.1"></span>  delta-seconds  = 1*DIGIT
    651651</pre><h1 id="rfc.section.2"><a href="#rfc.section.2">2.</a>&nbsp;<a id="caching" href="#caching">Caching in HTTP</a></h1>
    652652      <h2 id="rfc.section.2.1"><a href="#rfc.section.2.1">2.1</a>&nbsp;<a id="caching.overview" href="#caching.overview">Overview</a></h2>
     
    12281228         are calculated as specified in <a href="#age.calculations" title="Age Calculations">Section&nbsp;2.2.3</a>.
    12291229      </p>
    1230       <div id="rfc.figure.u.10"></div><pre class="inline"><span id="rfc.iref.g.2"></span><span id="rfc.iref.g.3"></span>        Age = "Age" ":" age-value
    1231         age-value = delta-seconds
     1230      <div id="rfc.figure.u.10"></div><pre class="inline"><span id="rfc.iref.g.2"></span><span id="rfc.iref.g.3"></span>  Age = "Age" ":" age-value
     1231  age-value = delta-seconds
    12321232</pre><p id="rfc.section.3.1.p.3">Age values are non-negative decimal integers, representing time in seconds.</p>
    12331233      <p id="rfc.section.3.1.p.4">If a cache receives a value larger than the largest positive integer it can represent, or if any of its age calculations overflows,
     
    12501250         a specific cache.
    12511251      </p>
    1252       <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><span id="rfc.iref.g.7"></span><span id="rfc.iref.g.8"></span>   Cache-Control   = "Cache-Control" ":" 1#cache-directive
     1252      <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><span id="rfc.iref.g.7"></span><span id="rfc.iref.g.8"></span>  Cache-Control   = "Cache-Control" ":" 1#cache-directive
    12531253
    1254    cache-directive = cache-request-directive
    1255         | cache-response-directive
     1254  cache-directive = cache-request-directive
     1255       | cache-response-directive
    12561256
    1257    cache-request-directive =
    1258           "no-cache"                          ; <a href="#what.is.cacheable" title="What is Cacheable">Section&nbsp;3.2.1</a>
    1259         | "no-store"                          ; <a href="#what.may.be.stored.by.caches" title="What May be Stored by Caches">Section&nbsp;3.2.2</a>
    1260         | "max-age" "=" delta-seconds         ; <a href="#modifications.of.the.basic.expiration.mechanism" title="Modifications of the Basic Expiration Mechanism">Section&nbsp;3.2.3</a>, <a href="#cache.revalidation.and.reload.controls" title="Cache Revalidation and Reload Controls">3.2.4</a>
    1261         | "max-stale" [ "=" delta-seconds ]   ; <a href="#modifications.of.the.basic.expiration.mechanism" title="Modifications of the Basic Expiration Mechanism">Section&nbsp;3.2.3</a>
    1262         | "min-fresh" "=" delta-seconds       ; <a href="#modifications.of.the.basic.expiration.mechanism" title="Modifications of the Basic Expiration Mechanism">Section&nbsp;3.2.3</a>
    1263         | "no-transform"                      ; <a href="#no-transform.directive" title="No-Transform Directive">Section&nbsp;3.2.5</a>
    1264         | "only-if-cached"                    ; <a href="#cache.revalidation.and.reload.controls" title="Cache Revalidation and Reload Controls">Section&nbsp;3.2.4</a>
    1265         | cache-extension                     ; <a href="#cache.control.extensions" title="Cache Control Extensions">Section&nbsp;3.2.6</a>
     1257  cache-request-directive =
     1258         "no-cache"                          ; <a href="#what.is.cacheable" title="What is Cacheable">Section&nbsp;3.2.1</a>
     1259       | "no-store"                          ; <a href="#what.may.be.stored.by.caches" title="What May be Stored by Caches">Section&nbsp;3.2.2</a>
     1260       | "max-age" "=" delta-seconds         ; <a href="#modifications.of.the.basic.expiration.mechanism" title="Modifications of the Basic Expiration Mechanism">Section&nbsp;3.2.3</a>, <a href="#cache.revalidation.and.reload.controls" title="Cache Revalidation and Reload Controls">3.2.4</a>
     1261       | "max-stale" [ "=" delta-seconds ]   ; <a href="#modifications.of.the.basic.expiration.mechanism" title="Modifications of the Basic Expiration Mechanism">Section&nbsp;3.2.3</a>
     1262       | "min-fresh" "=" delta-seconds       ; <a href="#modifications.of.the.basic.expiration.mechanism" title="Modifications of the Basic Expiration Mechanism">Section&nbsp;3.2.3</a>
     1263       | "no-transform"                      ; <a href="#no-transform.directive" title="No-Transform Directive">Section&nbsp;3.2.5</a>
     1264       | "only-if-cached"                    ; <a href="#cache.revalidation.and.reload.controls" title="Cache Revalidation and Reload Controls">Section&nbsp;3.2.4</a>
     1265       | cache-extension                     ; <a href="#cache.control.extensions" title="Cache Control Extensions">Section&nbsp;3.2.6</a>
    12661266
    1267     cache-response-directive =
    1268           "public"                               ; <a href="#what.is.cacheable" title="What is Cacheable">Section&nbsp;3.2.1</a>
    1269         | "private" [ "=" &lt;"&gt; 1#field-name &lt;"&gt; ] ; <a href="#what.is.cacheable" title="What is Cacheable">Section&nbsp;3.2.1</a>
    1270         | "no-cache" [ "=" &lt;"&gt; 1#field-name &lt;"&gt; ]; <a href="#what.is.cacheable" title="What is Cacheable">Section&nbsp;3.2.1</a>
    1271         | "no-store"                             ; <a href="#what.may.be.stored.by.caches" title="What May be Stored by Caches">Section&nbsp;3.2.2</a>
    1272         | "no-transform"                         ; <a href="#no-transform.directive" title="No-Transform Directive">Section&nbsp;3.2.5</a>
    1273         | "must-revalidate"                      ; <a href="#cache.revalidation.and.reload.controls" title="Cache Revalidation and Reload Controls">Section&nbsp;3.2.4</a>
    1274         | "proxy-revalidate"                     ; <a href="#cache.revalidation.and.reload.controls" title="Cache Revalidation and Reload Controls">Section&nbsp;3.2.4</a>
    1275         | "max-age" "=" delta-seconds            ; <a href="#modifications.of.the.basic.expiration.mechanism" title="Modifications of the Basic Expiration Mechanism">Section&nbsp;3.2.3</a>
    1276         | "s-maxage" "=" delta-seconds           ; <a href="#modifications.of.the.basic.expiration.mechanism" title="Modifications of the Basic Expiration Mechanism">Section&nbsp;3.2.3</a>
    1277         | cache-extension                        ; <a href="#cache.control.extensions" title="Cache Control Extensions">Section&nbsp;3.2.6</a>
     1267  cache-response-directive =
     1268         "public"                               ; <a href="#what.is.cacheable" title="What is Cacheable">Section&nbsp;3.2.1</a>
     1269       | "private" [ "=" &lt;"&gt; 1#field-name &lt;"&gt; ] ; <a href="#what.is.cacheable" title="What is Cacheable">Section&nbsp;3.2.1</a>
     1270       | "no-cache" [ "=" &lt;"&gt; 1#field-name &lt;"&gt; ]; <a href="#what.is.cacheable" title="What is Cacheable">Section&nbsp;3.2.1</a>
     1271       | "no-store"                             ; <a href="#what.may.be.stored.by.caches" title="What May be Stored by Caches">Section&nbsp;3.2.2</a>
     1272       | "no-transform"                         ; <a href="#no-transform.directive" title="No-Transform Directive">Section&nbsp;3.2.5</a>
     1273       | "must-revalidate"                      ; <a href="#cache.revalidation.and.reload.controls" title="Cache Revalidation and Reload Controls">Section&nbsp;3.2.4</a>
     1274       | "proxy-revalidate"                     ; <a href="#cache.revalidation.and.reload.controls" title="Cache Revalidation and Reload Controls">Section&nbsp;3.2.4</a>
     1275       | "max-age" "=" delta-seconds            ; <a href="#modifications.of.the.basic.expiration.mechanism" title="Modifications of the Basic Expiration Mechanism">Section&nbsp;3.2.3</a>
     1276       | "s-maxage" "=" delta-seconds           ; <a href="#modifications.of.the.basic.expiration.mechanism" title="Modifications of the Basic Expiration Mechanism">Section&nbsp;3.2.3</a>
     1277       | cache-extension                        ; <a href="#cache.control.extensions" title="Cache Control Extensions">Section&nbsp;3.2.6</a>
    12781278
    1279    cache-extension = token [ "=" ( token | quoted-string ) ]
     1279  cache-extension = token [ "=" ( token | quoted-string ) ]
    12801280</pre><p id="rfc.section.3.2.p.4">When a directive appears without any 1#field-name parameter, the directive applies to the entire request or response. When
    12811281         such a directive appears with a 1#field-name parameter, it applies only to the named field or fields, and not to the rest
     
    15541554      <p id="rfc.section.3.3.p.3">The format is an absolute date and time as defined by HTTP-date in <a href="p1-messaging.html#full.date" title="Full Date">Section 3.3.1</a> of <a href="#Part1" id="rfc.xref.Part1.6"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>; it <em class="bcp14">MUST</em> be sent in rfc1123-date format.
    15551555      </p>
    1556       <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.9"></span>   Expires = "Expires" ":" HTTP-date
     1556      <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.9"></span>  Expires = "Expires" ":" HTTP-date
    15571557</pre><p id="rfc.section.3.3.p.5">An example of its use is</p>
    15581558      <div id="rfc.figure.u.14"></div><pre class="text">   Expires: Thu, 01 Dec 1994 16:00:00 GMT
     
    15811581         systems <em class="bcp14">MAY</em> require that behavior be consistent with the directives.
    15821582      </p>
    1583       <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>    Pragma            = "Pragma" ":" 1#pragma-directive
    1584     pragma-directive  = "no-cache" | extension-pragma
    1585     extension-pragma  = token [ "=" ( token | quoted-string ) ]
     1583      <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>  Pragma            = "Pragma" ":" 1#pragma-directive
     1584  pragma-directive  = "no-cache" | extension-pragma
     1585  extension-pragma  = token [ "=" ( token | quoted-string ) ]
    15861586</pre><p id="rfc.section.3.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
    15871587         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;3.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.
     
    16081608         appropriate representation. See <a href="#caching.negotiated.responses" title="Caching Negotiated Responses">Section&nbsp;2.6</a> for use of the Vary header field by caches.
    16091609      </p>
    1610       <div id="rfc.figure.u.16"></div><pre class="inline"><span id="rfc.iref.g.13"></span>    Vary  = "Vary" ":" ( "*" | 1#field-name )
     1610      <div id="rfc.figure.u.16"></div><pre class="inline"><span id="rfc.iref.g.13"></span>  Vary  = "Vary" ":" ( "*" | 1#field-name )
    16111611</pre><p id="rfc.section.3.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
    16121612         to properly interpret future requests on that resource and informs the user agent about the presence of negotiation on that
     
    16331633      </p>
    16341634      <p id="rfc.section.3.6.p.2">Warning headers are sent with responses using:</p>
    1635       <div id="rfc.figure.u.17"></div><pre class="inline"><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span><span id="rfc.iref.g.16"></span><span id="rfc.iref.g.17"></span><span id="rfc.iref.g.18"></span><span id="rfc.iref.g.19"></span>    Warning    = "Warning" ":" 1#warning-value
    1636 
    1637     warning-value = warn-code SP warn-agent SP warn-text
    1638                                           [SP warn-date]
    1639 
    1640     warn-code  = 3DIGIT
    1641     warn-agent = ( host [ ":" port ] ) | pseudonym
    1642                     ; the name or pseudonym of the server adding
    1643                     ; the Warning header, for use in debugging
    1644     warn-text  = quoted-string
    1645     warn-date  = &lt;"&gt; HTTP-date &lt;"&gt;
     1635      <div id="rfc.figure.u.17"></div><pre class="inline"><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span><span id="rfc.iref.g.16"></span><span id="rfc.iref.g.17"></span><span id="rfc.iref.g.18"></span><span id="rfc.iref.g.19"></span>  Warning    = "Warning" ":" 1#warning-value
     1636 
     1637  warning-value = warn-code SP warn-agent SP warn-text
     1638                                        [SP warn-date]
     1639 
     1640  warn-code  = 3DIGIT
     1641  warn-agent = ( host [ ":" port ] ) | pseudonym
     1642                  ; the name or pseudonym of the server adding
     1643                  ; the Warning header, for use in debugging
     1644  warn-text  = quoted-string
     1645  warn-date  = &lt;"&gt; HTTP-date &lt;"&gt;
    16461646</pre><p id="rfc.section.3.6.p.4">A response <em class="bcp14">MAY</em> carry more than one Warning header.
    16471647      </p>
  • draft-ietf-httpbis/latest/p6-cache.xml

    r131 r135  
    372372</t>
    373373<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="delta-seconds"/>
    374     delta-seconds  = 1*DIGIT
     374  delta-seconds  = 1*DIGIT
    375375</artwork></figure>
    376376</section>
     
    15491549</t>
    15501550<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Age"/><iref primary="true" item="Grammar" subitem="age-value"/>
    1551         Age = "Age" ":" age-value
    1552         age-value = delta-seconds
     1551  Age = "Age" ":" age-value
     1552  age-value = delta-seconds
    15531553</artwork></figure>
    15541554<t>
     
    15921592</t>
    15931593<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Cache-Control"/><iref primary="true" item="Grammar" subitem="cache-directive"/><iref primary="true" item="Grammar" subitem="cache-request-directive"/><iref primary="true" item="Grammar" subitem="cache-response-directive"/><iref primary="true" item="Grammar" subitem="cache-extension"/>
    1594    Cache-Control   = "Cache-Control" ":" 1#cache-directive
    1595 
    1596    cache-directive = cache-request-directive
    1597         | cache-response-directive
    1598 
    1599    cache-request-directive =
    1600           "no-cache"                          ; <xref target="what.is.cacheable"/>
    1601         | "no-store"                          ; <xref target="what.may.be.stored.by.caches"/>
    1602         | "max-age" "=" delta-seconds         ; <xref target="modifications.of.the.basic.expiration.mechanism"/>, <xref format="counter" target="cache.revalidation.and.reload.controls"/>
    1603         | "max-stale" [ "=" delta-seconds ]   ; <xref target="modifications.of.the.basic.expiration.mechanism"/>
    1604         | "min-fresh" "=" delta-seconds       ; <xref target="modifications.of.the.basic.expiration.mechanism"/>
    1605         | "no-transform"                      ; <xref target="no-transform.directive"/>
    1606         | "only-if-cached"                    ; <xref target="cache.revalidation.and.reload.controls"/>
    1607         | cache-extension                     ; <xref target="cache.control.extensions"/>
    1608 
    1609     cache-response-directive =
    1610           "public"                               ; <xref target="what.is.cacheable"/>
    1611         | "private" [ "=" &lt;"&gt; 1#field-name &lt;"&gt; ] ; <xref target="what.is.cacheable"/>
    1612         | "no-cache" [ "=" &lt;"&gt; 1#field-name &lt;"&gt; ]; <xref target="what.is.cacheable"/>
    1613         | "no-store"                             ; <xref target="what.may.be.stored.by.caches"/>
    1614         | "no-transform"                         ; <xref target="no-transform.directive"/>
    1615         | "must-revalidate"                      ; <xref target="cache.revalidation.and.reload.controls"/>
    1616         | "proxy-revalidate"                     ; <xref target="cache.revalidation.and.reload.controls"/>
    1617         | "max-age" "=" delta-seconds            ; <xref target="modifications.of.the.basic.expiration.mechanism"/>
    1618         | "s-maxage" "=" delta-seconds           ; <xref target="modifications.of.the.basic.expiration.mechanism"/>
    1619         | cache-extension                        ; <xref target="cache.control.extensions"/>
    1620 
    1621    cache-extension = token [ "=" ( token | quoted-string ) ]
     1594  Cache-Control   = "Cache-Control" ":" 1#cache-directive
     1595
     1596  cache-directive = cache-request-directive
     1597       | cache-response-directive
     1598
     1599  cache-request-directive =
     1600         "no-cache"                          ; <xref target="what.is.cacheable"/>
     1601       | "no-store"                          ; <xref target="what.may.be.stored.by.caches"/>
     1602       | "max-age" "=" delta-seconds         ; <xref target="modifications.of.the.basic.expiration.mechanism"/>, <xref format="counter" target="cache.revalidation.and.reload.controls"/>
     1603       | "max-stale" [ "=" delta-seconds ]   ; <xref target="modifications.of.the.basic.expiration.mechanism"/>
     1604       | "min-fresh" "=" delta-seconds       ; <xref target="modifications.of.the.basic.expiration.mechanism"/>
     1605       | "no-transform"                      ; <xref target="no-transform.directive"/>
     1606       | "only-if-cached"                    ; <xref target="cache.revalidation.and.reload.controls"/>
     1607       | cache-extension                     ; <xref target="cache.control.extensions"/>
     1608
     1609  cache-response-directive =
     1610         "public"                               ; <xref target="what.is.cacheable"/>
     1611       | "private" [ "=" &lt;"&gt; 1#field-name &lt;"&gt; ] ; <xref target="what.is.cacheable"/>
     1612       | "no-cache" [ "=" &lt;"&gt; 1#field-name &lt;"&gt; ]; <xref target="what.is.cacheable"/>
     1613       | "no-store"                             ; <xref target="what.may.be.stored.by.caches"/>
     1614       | "no-transform"                         ; <xref target="no-transform.directive"/>
     1615       | "must-revalidate"                      ; <xref target="cache.revalidation.and.reload.controls"/>
     1616       | "proxy-revalidate"                     ; <xref target="cache.revalidation.and.reload.controls"/>
     1617       | "max-age" "=" delta-seconds            ; <xref target="modifications.of.the.basic.expiration.mechanism"/>
     1618       | "s-maxage" "=" delta-seconds           ; <xref target="modifications.of.the.basic.expiration.mechanism"/>
     1619       | cache-extension                        ; <xref target="cache.control.extensions"/>
     1620
     1621  cache-extension = token [ "=" ( token | quoted-string ) ]
    16221622</artwork></figure>
    16231623<t>
     
    21322132</t>
    21332133<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Expires"/>
    2134    Expires = "Expires" ":" HTTP-date
     2134  Expires = "Expires" ":" HTTP-date
    21352135</artwork></figure>
    21362136<t>
     
    21822182</t>
    21832183<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"/>
    2184     Pragma            = "Pragma" ":" 1#pragma-directive
    2185     pragma-directive  = "no-cache" | extension-pragma
    2186     extension-pragma  = token [ "=" ( token | quoted-string ) ]
     2184  Pragma            = "Pragma" ":" 1#pragma-directive
     2185  pragma-directive  = "no-cache" | extension-pragma
     2186  extension-pragma  = token [ "=" ( token | quoted-string ) ]
    21872187</artwork></figure>
    21882188<t>
     
    22302230</t>
    22312231<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Vary"/>
    2232     Vary  = "Vary" ":" ( "*" | 1#field-name )
     2232  Vary  = "Vary" ":" ( "*" | 1#field-name )
    22332233</artwork></figure>
    22342234<t>
     
    22812281</t>
    22822282<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Warning"/><iref primary="true" item="Grammar" subitem="warning-value"/><iref primary="true" item="Grammar" subitem="warn-code"/><iref primary="true" item="Grammar" subitem="warn-agent"/><iref primary="true" item="Grammar" subitem="warn-text"/><iref primary="true" item="Grammar" subitem="warn-date"/>
    2283     Warning    = "Warning" ":" 1#warning-value
    2284 
    2285     warning-value = warn-code SP warn-agent SP warn-text
    2286                                           [SP warn-date]
    2287 
    2288     warn-code  = 3DIGIT
    2289     warn-agent = ( host [ ":" port ] ) | pseudonym
    2290                     ; the name or pseudonym of the server adding
    2291                     ; the Warning header, for use in debugging
    2292     warn-text  = quoted-string
    2293     warn-date  = &lt;"&gt; HTTP-date &lt;"&gt;
     2283  Warning    = "Warning" ":" 1#warning-value
     2284 
     2285  warning-value = warn-code SP warn-agent SP warn-text
     2286                                        [SP warn-date]
     2287 
     2288  warn-code  = 3DIGIT
     2289  warn-agent = ( host [ ":" port ] ) | pseudonym
     2290                  ; the name or pseudonym of the server adding
     2291                  ; the Warning header, for use in debugging
     2292  warn-text  = quoted-string
     2293  warn-date  = &lt;"&gt; HTTP-date &lt;"&gt;
    22942294</artwork></figure>
    22952295<t>
  • draft-ietf-httpbis/latest/p7-auth.html

    r129 r135  
    555555         containing the authentication information of the user agent for the realm of the resource being requested.
    556556      </p>
    557       <div id="rfc.figure.u.1"></div><pre class="inline"><span id="rfc.iref.g.1"></span>       Authorization  = "Authorization" ":" credentials
     557      <div id="rfc.figure.u.1"></div><pre class="inline"><span id="rfc.iref.g.1"></span>  Authorization  = "Authorization" ":" credentials
    558558</pre><p id="rfc.section.3.1.p.3">HTTP access authentication is described in "HTTP Authentication: Basic and Digest Access Authentication" <a href="#RFC2617" id="rfc.xref.RFC2617.4"><cite title="HTTP Authentication: Basic and Digest Access Authentication">[RFC2617]</cite></a>. If a request is authenticated and a realm specified, the same credentials <em class="bcp14">SHOULD</em> be valid for all other requests within this realm (assuming that the authentication scheme itself does not require otherwise,
    559559         such as credentials that vary according to a challenge value or using synchronized clocks).
     
    578578         the authentication scheme and parameters applicable to the proxy for this Request-URI.
    579579      </p>
    580       <div id="rfc.figure.u.2"></div><pre class="inline"><span id="rfc.iref.g.2"></span>    Proxy-Authenticate  = "Proxy-Authenticate" ":" 1#challenge
     580      <div id="rfc.figure.u.2"></div><pre class="inline"><span id="rfc.iref.g.2"></span>  Proxy-Authenticate  = "Proxy-Authenticate" ":" 1#challenge
    581581</pre><p id="rfc.section.3.2.p.3">The HTTP access authentication process is described in "HTTP Authentication: Basic and Digest Access Authentication" <a href="#RFC2617" id="rfc.xref.RFC2617.5"><cite title="HTTP Authentication: Basic and Digest Access Authentication">[RFC2617]</cite></a>. Unlike WWW-Authenticate, the Proxy-Authenticate header field applies only to the current connection and <em class="bcp14">SHOULD NOT</em> be passed on to downstream clients. However, an intermediate proxy might need to obtain its own credentials by requesting
    582582         them from the downstream client, which in some circumstances will appear as if the proxy is forwarding the Proxy-Authenticate
     
    590590         user agent for the proxy and/or realm of the resource being requested.
    591591      </p>
    592       <div id="rfc.figure.u.3"></div><pre class="inline"><span id="rfc.iref.g.3"></span>    Proxy-Authorization     = "Proxy-Authorization" ":" credentials
     592      <div id="rfc.figure.u.3"></div><pre class="inline"><span id="rfc.iref.g.3"></span>  Proxy-Authorization     = "Proxy-Authorization" ":" credentials
    593593</pre><p id="rfc.section.3.3.p.3">The HTTP access authentication process is described in "HTTP Authentication: Basic and Digest Access Authentication" <a href="#RFC2617" id="rfc.xref.RFC2617.6"><cite title="HTTP Authentication: Basic and Digest Access Authentication">[RFC2617]</cite></a>. Unlike Authorization, the Proxy-Authorization header field applies only to the next outbound proxy that demanded authentication
    594594         using the Proxy-Authenticate field. When multiple proxies are used in a chain, the Proxy-Authorization header field is consumed
     
    602602         authentication scheme(s) and parameters applicable to the Request-URI.
    603603      </p>
    604       <div id="rfc.figure.u.4"></div><pre class="inline"><span id="rfc.iref.g.4"></span>    WWW-Authenticate  = "WWW-Authenticate" ":" 1#challenge
     604      <div id="rfc.figure.u.4"></div><pre class="inline"><span id="rfc.iref.g.4"></span>  WWW-Authenticate  = "WWW-Authenticate" ":" 1#challenge
    605605</pre><p id="rfc.section.3.4.p.3">The HTTP access authentication process is described in "HTTP Authentication: Basic and Digest Access Authentication" <a href="#RFC2617" id="rfc.xref.RFC2617.7"><cite title="HTTP Authentication: Basic and Digest Access Authentication">[RFC2617]</cite></a>. User agents are advised to take special care in parsing the WWW-Authenticate field value as it might contain more than one
    606606         challenge, or if more than one WWW-Authenticate header field is provided, the contents of a challenge itself can contain a
  • draft-ietf-httpbis/latest/p7-auth.xml

    r129 r135  
    283283</t>
    284284<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Authorization"/>
    285        Authorization  = "Authorization" ":" credentials
     285  Authorization  = "Authorization" ":" credentials
    286286</artwork></figure>
    287287<t>
     
    335335</t>
    336336<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Proxy-Authenticate"/>
    337     Proxy-Authenticate  = "Proxy-Authenticate" ":" 1#challenge
     337  Proxy-Authenticate  = "Proxy-Authenticate" ":" 1#challenge
    338338</artwork></figure>
    339339<t>
     
    360360</t>
    361361<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Proxy-Authorization"/>
    362     Proxy-Authorization     = "Proxy-Authorization" ":" credentials
     362  Proxy-Authorization     = "Proxy-Authorization" ":" credentials
    363363</artwork></figure>
    364364<t>
     
    386386</t>
    387387<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="WWW-Authenticate"/>
    388     WWW-Authenticate  = "WWW-Authenticate" ":" 1#challenge
     388  WWW-Authenticate  = "WWW-Authenticate" ":" 1#challenge
    389389</artwork></figure>
    390390<t>
Note: See TracChangeset for help on using the changeset viewer.