Changeset 1831


Ignore:
Timestamp:
Aug 19, 2012, 2:46:53 AM (7 years ago)
Author:
fielding@…
Message:

clean up TE, move qvalues to p2, and make its usage consistent for accept(-*)

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

Legend:

Unmodified
Added
Removed
  • draft-ietf-httpbis/latest/httpbis.abnf

    r1815 r1831  
    44
    55Accept = [ ( "," / ( media-range [ accept-params ] ) ) *( OWS "," [ OWS ( media-range [ accept-params ] ) ] ) ]
    6 Accept-Charset = *( "," OWS ) ( ( charset / "*" ) [ OWS ";" OWS "q=" qvalue ] ) *( OWS "," [ OWS ( ( charset / "*" ) [ OWS ";" OWS "q=" qvalue ] ) ] )
    7 Accept-Encoding = [ ( "," / ( codings [ OWS ";" OWS "q=" qvalue ] ) ) *( OWS "," [ OWS ( codings [ OWS ";" OWS "q=" qvalue ] ) ] ) ]
    8 Accept-Language = *( "," OWS ) ( language-range [ OWS ";" OWS "q=" qvalue ] ) *( OWS "," [ OWS ( language-range [ OWS ";" OWS "q=" qvalue ] ) ] )
     6Accept-Charset = *( "," OWS ) ( ( charset / "*" ) [ weight ] ) *( OWS "," [ OWS ( ( charset / "*" ) [ weight ] ) ] )
     7Accept-Encoding = [ ( "," / ( codings [ weight ] ) ) *( OWS "," [ OWS ( codings [ weight ] ) ] ) ]
     8Accept-Language = *( "," OWS ) ( language-range [ weight ] ) *( OWS "," [ OWS ( language-range [ weight ] ) ] )
    99Accept-Ranges = acceptable-ranges
    1010Age = delta-seconds
     
    6464absolute-form = absolute-URI
    6565accept-ext = OWS ";" OWS token [ "=" word ]
    66 accept-params = OWS ";" OWS "q=" qvalue *accept-ext
     66accept-params = weight *accept-ext
    6767acceptable-ranges = ( *( "," OWS ) range-unit *( OWS "," [ OWS range-unit ] ) ) / "none"
    6868asctime-date = day-name SP date3 SP time-of-day SP year
     
    194194qvalue = ( "0" [ "." *3DIGIT ] ) / ( "1" [ "." *3"0" ] )
    195195range-unit = bytes-unit / other-range-unit
     196rank = ( "0" [ "." *3DIGIT ] ) / ( "1" [ "." *3"0" ] )
    196197reason-phrase = *( HTAB / SP / VCHAR / obs-text )
    197198received-by = ( uri-host [ ":" port ] ) / pseudonym
     
    210211suffix-byte-range-spec = "-" suffix-length
    211212suffix-length = 1*DIGIT
    212 t-codings = "trailers" / ( transfer-extension [ te-params ] )
     213t-codings = "trailers" / ( transfer-coding [ t-ranking ] )
     214t-ranking = OWS ";" OWS "q=" rank
    213215tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*" / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~" / DIGIT / ALPHA
    214 te-ext = OWS ";" OWS token [ "=" word ]
    215 te-params = OWS ";" OWS "q=" qvalue *te-ext
    216216time-of-day = hour ":" minute ":" second
    217217token = 1*tchar
     
    231231weak = %x57.2F ; W/
    232232
     233weight = OWS ";" OWS "q=" qvalue
    233234word = token / quoted-string
    234235year = 4DIGIT
  • draft-ietf-httpbis/latest/p1-messaging.html

    r1830 r1831  
    626626                  </ul>
    627627               </li>
    628                <li><a href="#rfc.section.4.3">4.3</a>&nbsp;&nbsp;&nbsp;<a href="#header.te">TE</a><ul>
    629                      <li><a href="#rfc.section.4.3.1">4.3.1</a>&nbsp;&nbsp;&nbsp;<a href="#quality.values">Quality Values</a></li>
    630                   </ul>
    631                </li>
     628               <li><a href="#rfc.section.4.3">4.3</a>&nbsp;&nbsp;&nbsp;<a href="#header.te">TE</a></li>
    632629               <li><a href="#rfc.section.4.4">4.4</a>&nbsp;&nbsp;&nbsp;<a href="#header.trailer">Trailer</a></li>
    633630            </ul>
     
    16221619      <h2 id="rfc.section.4.2"><a href="#rfc.section.4.2">4.2</a>&nbsp;<a id="compression.codings" href="#compression.codings">Compression Codings</a></h2>
    16231620      <p id="rfc.section.4.2.p.1">The codings defined below can be used to compress the payload of a message.</p>
    1624       <div class="note" id="rfc.section.4.2.p.2">
    1625          <p> <b>Note:</b> Use of program names for the identification of encoding formats is not desirable and is discouraged for future encodings.
    1626             Their use here is representative of historical practice, not good design.
    1627          </p>
    1628       </div>
    1629       <div class="note" id="rfc.section.4.2.p.3">
    1630          <p> <b>Note:</b> For compatibility with previous implementations of HTTP, applications <em class="bcp14">SHOULD</em> consider "x-gzip" and "x-compress" to be equivalent to "gzip" and "compress" respectively.
    1631          </p>
    1632       </div>
    16331621      <div id="rfc.iref.c.9"></div>
    16341622      <div id="rfc.iref.c.10"></div>
    16351623      <h3 id="rfc.section.4.2.1"><a href="#rfc.section.4.2.1">4.2.1</a>&nbsp;<a id="compress.coding" href="#compress.coding">Compress Coding</a></h3>
    16361624      <p id="rfc.section.4.2.1.p.1">The "compress" format is produced by the common UNIX file compression program "compress". This format is an adaptive Lempel-Ziv-Welch
    1637          coding (LZW).
     1625         coding (LZW). Recipients <em class="bcp14">SHOULD</em> consider "x-compress" to be equivalent to "compress".
    16381626      </p>
    16391627      <div id="rfc.iref.d.2"></div>
     
    16491637      <div id="rfc.iref.c.12"></div>
    16501638      <h3 id="rfc.section.4.2.3"><a href="#rfc.section.4.2.3">4.2.3</a>&nbsp;<a id="gzip.coding" href="#gzip.coding">Gzip Coding</a></h3>
    1651       <p id="rfc.section.4.2.3.p.1">The "gzip" format is produced by the file compression program "gzip" (GNU zip), as described in <a href="#RFC1952" id="rfc.xref.RFC1952.1"><cite title="GZIP file format specification version 4.3">[RFC1952]</cite></a>. This format is a Lempel-Ziv coding (LZ77) with a 32 bit CRC.
     1639      <p id="rfc.section.4.2.3.p.1">The "gzip" format is produced by the file compression program "gzip" (GNU zip), as described in <a href="#RFC1952" id="rfc.xref.RFC1952.1"><cite title="GZIP file format specification version 4.3">[RFC1952]</cite></a>. This format is a Lempel-Ziv coding (LZ77) with a 32 bit CRC. Recipients <em class="bcp14">SHOULD</em> consider "x-gzip" to be equivalent to "gzip".
    16521640      </p>
    16531641      <div id="rfc.iref.t.5"></div>
    16541642      <div id="rfc.iref.h.8"></div>
    16551643      <h2 id="rfc.section.4.3"><a href="#rfc.section.4.3">4.3</a>&nbsp;<a id="header.te" href="#header.te">TE</a></h2>
    1656       <p id="rfc.section.4.3.p.1">The "TE" header field indicates what extension transfer-codings the client is willing to accept in the response, and whether
    1657          or not it is willing to accept trailer fields in a chunked transfer-coding.
    1658       </p>
    1659       <p id="rfc.section.4.3.p.2">Its value consists of the keyword "trailers" and/or a comma-separated list of extension transfer-coding names with optional
    1660          accept parameters (as described in <a href="#transfer.codings" title="Transfer Codings">Section&nbsp;4</a>).
     1644      <p id="rfc.section.4.3.p.1">The "TE" header field in a request indicates what transfer-codings, besides "chunked", the client is willing to accept in
     1645         response, and whether or not the client is willing to accept trailer fields in a chunked transfer-coding.
     1646      </p>
     1647      <p id="rfc.section.4.3.p.2">The TE field-value consists of a comma-separated list of transfer-coding names, each allowing for optional parameters (as
     1648         described in <a href="#transfer.codings" title="Transfer Codings">Section&nbsp;4</a>), and/or the keyword "trailers". Clients <em class="bcp14">MUST NOT</em> send the chunked transfer-coding name in TE; chunked is always acceptable for HTTP/1.1 recipients.
    16611649      </p>
    16621650      <div id="rfc.figure.u.34"></div><pre class="inline"><span id="rfc.iref.g.74"></span><span id="rfc.iref.g.75"></span><span id="rfc.iref.g.76"></span><span id="rfc.iref.g.77"></span>  <a href="#header.te" class="smpl">TE</a>        = #<a href="#header.te" class="smpl">t-codings</a>
    1663   <a href="#header.te" class="smpl">t-codings</a> = "trailers" / ( <a href="#transfer.codings" class="smpl">transfer-extension</a> [ <a href="#header.te" class="smpl">te-params</a> ] )
    1664   <a href="#header.te" class="smpl">te-params</a> = <a href="#rule.whitespace" class="smpl">OWS</a> ";" <a href="#rule.whitespace" class="smpl">OWS</a> "q=" <a href="#quality.values" class="smpl">qvalue</a> *( <a href="#header.te" class="smpl">te-ext</a> )
    1665   <a href="#header.te" class="smpl">te-ext</a>    = <a href="#rule.whitespace" class="smpl">OWS</a> ";" <a href="#rule.whitespace" class="smpl">OWS</a> <a href="#rule.token.separators" class="smpl">token</a> [ "=" <a href="#rule.token.separators" class="smpl">word</a> ]
    1666 </pre><p id="rfc.section.4.3.p.4">The presence of the keyword "trailers" indicates that the client is willing to accept trailer fields in a chunked transfer-coding,
    1667          as defined in <a href="#chunked.encoding" title="Chunked Transfer Coding">Section&nbsp;4.1</a>. This keyword is reserved for use with transfer-coding values even though it does not itself represent a transfer-coding.
    1668       </p>
    1669       <p id="rfc.section.4.3.p.5">Examples of its use are:</p>
     1651  <a href="#header.te" class="smpl">t-codings</a> = "trailers" / ( <a href="#transfer.codings" class="smpl">transfer-coding</a> [ <a href="#header.te" class="smpl">t-ranking</a> ] )
     1652  <a href="#header.te" class="smpl">t-ranking</a> = <a href="#rule.whitespace" class="smpl">OWS</a> ";" <a href="#rule.whitespace" class="smpl">OWS</a> "q=" <a href="#header.te" class="smpl">rank</a>
     1653  <a href="#header.te" class="smpl">rank</a>      = ( "0" [ "." 0*3<a href="#core.rules" class="smpl">DIGIT</a> ] )
     1654             / ( "1" [ "." 0*3("0") ] )
     1655</pre><p id="rfc.section.4.3.p.4">Three examples of TE use are below.</p>
    16701656      <div id="rfc.figure.u.35"></div><pre class="text">  TE: deflate
    16711657  TE:
    16721658  TE: trailers, deflate;q=0.5
    1673 </pre><p id="rfc.section.4.3.p.7">The TE header field only applies to the immediate connection. Therefore, the keyword <em class="bcp14">MUST</em> be supplied within a <a href="#header.connection" class="smpl">Connection</a> header field (<a href="#header.connection" id="rfc.xref.header.connection.4" title="Connection">Section&nbsp;6.1</a>) whenever TE is present in an HTTP/1.1 message.
    1674       </p>
    1675       <p id="rfc.section.4.3.p.8">A server tests whether a transfer-coding is acceptable, according to a TE field, using these rules: </p>
    1676       <ol>
    1677          <li>
    1678             <p>The "chunked" transfer-coding is always acceptable. If the keyword "trailers" is listed, the client indicates that it is willing
    1679                to accept trailer fields in the chunked response on behalf of itself and any downstream clients. The implication is that,
    1680                if given, the client is stating that either all downstream clients are willing to accept trailer fields in the forwarded response,
    1681                or that it will attempt to buffer the response on behalf of downstream recipients.
    1682             </p>
    1683             <p> <b>Note:</b> HTTP/1.1 does not define any means to limit the size of a chunked response such that a client can be assured of buffering
    1684                the entire response.
    1685             </p>
    1686          </li>
    1687          <li>
    1688             <p>If the transfer-coding being tested is one of the transfer-codings listed in the TE field, then it is acceptable unless it
    1689                is accompanied by a qvalue of 0. (As defined in <a href="#quality.values" title="Quality Values">Section&nbsp;4.3.1</a>, a qvalue of 0 means "not acceptable".)
    1690             </p>
    1691          </li>
    1692          <li>
    1693             <p>If multiple transfer-codings are acceptable, then the acceptable transfer-coding with the highest non-zero qvalue is preferred.
    1694                The "chunked" transfer-coding always has a qvalue of 1.
    1695             </p>
    1696          </li>
    1697       </ol>
    1698       <p id="rfc.section.4.3.p.9">If the TE field-value is empty or if no TE field is present, the only acceptable transfer-coding is "chunked". A message with
     1659</pre><p id="rfc.section.4.3.p.6">The presence of the keyword "trailers" indicates that the client is willing to accept trailer fields in a chunked transfer-coding,
     1660         as defined in <a href="#chunked.encoding" title="Chunked Transfer Coding">Section&nbsp;4.1</a>, on behalf of itself and any downstream clients. For chained requests, this implies that either: (a) all downstream clients
     1661         are willing to accept trailer fields in the forwarded response; or, (b) the client will attempt to buffer the response on
     1662         behalf of downstream recipients. Note that HTTP/1.1 does not define any means to limit the size of a chunked response such
     1663         that a client can be assured of buffering the entire response.
     1664      </p>
     1665      <p id="rfc.section.4.3.p.7">When multiple transfer-codings are acceptable, the client <em class="bcp14">MAY</em> rank the codings by preference using a "q" parameter (similar to the qvalues used in content negotiation fields, <a href="p2-semantics.html#quality.values" title="Quality Values">Section 8.3</a> of <a href="#Part2" id="rfc.xref.Part2.11"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>). The rank value is a real number in the range 0 through 1, where 0.001 is the least preferred and 1 is the most preferred;
     1666         a value of 0 means "not acceptable".
     1667      </p>
     1668      <p id="rfc.section.4.3.p.8">If the TE field-value is empty or if no TE field is present, the only acceptable transfer-coding is "chunked". A message with
    16991669         no transfer-coding is always acceptable.
    17001670      </p>
    1701       <h3 id="rfc.section.4.3.1"><a href="#rfc.section.4.3.1">4.3.1</a>&nbsp;<a id="quality.values" href="#quality.values">Quality Values</a></h3>
    1702       <p id="rfc.section.4.3.1.p.1">Both transfer codings (<a href="#header.te" class="smpl">TE</a> request header field, <a href="#header.te" id="rfc.xref.header.te.3" title="TE">Section&nbsp;4.3</a>) and content negotiation (<a href="p2-semantics.html#content.negotiation" title="Content Negotiation">Section 8</a> of <a href="#Part2" id="rfc.xref.Part2.11"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>) use short "floating point" numbers to indicate the relative importance ("weight") of various negotiable parameters. A weight
    1703          is normalized to a real number in the range 0 through 1, where 0 is the minimum and 1 the maximum value. If a parameter has
    1704          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.
    1705       </p>
    1706       <div id="rfc.figure.u.36"></div><pre class="inline"><span id="rfc.iref.g.78"></span>  <a href="#quality.values" class="smpl">qvalue</a>         = ( "0" [ "." 0*3<a href="#core.rules" class="smpl">DIGIT</a> ] )
    1707                  / ( "1" [ "." 0*3("0") ] )
    1708 </pre><div class="note" id="rfc.section.4.3.1.p.3">
    1709          <p> <b>Note:</b> "Quality values" is a misnomer, since these values merely represent relative degradation in desired quality.
    1710          </p>
    1711       </div>
     1671      <p id="rfc.section.4.3.p.9">Since the TE header field only applies to the immediate connection, a sender of TE <em class="bcp14">MUST</em> also send a "TE" connection option within the <a href="#header.connection" class="smpl">Connection</a> header field (<a href="#header.connection" id="rfc.xref.header.connection.4" title="Connection">Section&nbsp;6.1</a>) in order to prevent the TE field from being forwarded by intermediaries that do not support its semantics.
     1672      </p>
    17121673      <div id="rfc.iref.t.6"></div>
    17131674      <div id="rfc.iref.h.9"></div>
     
    17161677         chunked transfer-coding.
    17171678      </p>
    1718       <div id="rfc.figure.u.37"></div><pre class="inline"><span id="rfc.iref.g.79"></span>  <a href="#header.trailer" class="smpl">Trailer</a> = 1#<a href="#header.fields" class="smpl">field-name</a>
     1679      <div id="rfc.figure.u.36"></div><pre class="inline"><span id="rfc.iref.g.78"></span>  <a href="#header.trailer" class="smpl">Trailer</a> = 1#<a href="#header.fields" class="smpl">field-name</a>
    17191680</pre><p id="rfc.section.4.4.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
    17201681         to know which header fields to expect in the trailer.
     
    17671728         both the method being requested and whether the request is to a proxy.
    17681729      </p>
    1769       <div id="rfc.figure.u.38"></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>  <a href="#request-target" class="smpl">request-target</a> = <a href="#origin-form" class="smpl">origin-form</a>
     1730      <div id="rfc.figure.u.37"></div><pre class="inline"><span id="rfc.iref.g.79"></span><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>  <a href="#request-target" class="smpl">request-target</a> = <a href="#origin-form" class="smpl">origin-form</a>
    17701731                 / <a href="#absolute-form" class="smpl">absolute-form</a>
    17711732                 / <a href="#authority-form" class="smpl">authority-form</a>
     
    17831744      </div>
    17841745      <p id="rfc.section.5.3.p.4">For example, a client wishing to retrieve a representation of the resource identified as</p>
    1785       <div id="rfc.figure.u.39"></div><pre class="text">http://www.example.org/where?q=now
     1746      <div id="rfc.figure.u.38"></div><pre class="text">http://www.example.org/where?q=now
    17861747</pre><p id="rfc.section.5.3.p.6">directly from the origin server would open (or reuse) a TCP connection to port 80 of the host "www.example.org" and send the
    17871748         lines:
    17881749      </p>
    1789       <div id="rfc.figure.u.40"></div><pre class="text2">GET /where?q=now HTTP/1.1
     1750      <div id="rfc.figure.u.39"></div><pre class="text2">GET /where?q=now HTTP/1.1
    17901751Host: www.example.org
    17911752</pre><p id="rfc.section.5.3.p.8">followed by the remainder of the request message.</p>
     
    17971758      </div>
    17981759      <p id="rfc.section.5.3.p.10">An example absolute-form of request-line would be:</p>
    1799       <div id="rfc.figure.u.41"></div><pre class="text2">GET http://www.example.org/pub/WWW/TheProject.html HTTP/1.1
     1760      <div id="rfc.figure.u.40"></div><pre class="text2">GET http://www.example.org/pub/WWW/TheProject.html HTTP/1.1
    18001761</pre><p id="rfc.section.5.3.p.12">To allow for transition to the absolute-form for all requests in some future version of HTTP, HTTP/1.1 servers <em class="bcp14">MUST</em> accept the absolute-form in requests, even though HTTP/1.1 clients will only send them in requests to proxies.
    18011762      </p>
     
    18041765         </p>
    18051766      </div>
    1806       <div id="rfc.figure.u.42"></div><pre class="text2">CONNECT www.example.com:80 HTTP/1.1
     1767      <div id="rfc.figure.u.41"></div><pre class="text2">CONNECT www.example.com:80 HTTP/1.1
    18071768</pre><div id="asterisk-form">
    18081769         <p id="rfc.section.5.3.p.15"><span id="rfc.iref.a.4"></span> The asterisk-form of request-target is only used for a server-wide OPTIONS request (<a href="p2-semantics.html#OPTIONS" title="OPTIONS">Section 2.3.1</a> of <a href="#Part2" id="rfc.xref.Part2.14"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>). When a client wishes to request OPTIONS for the server as a whole, as opposed to a specific named resource of that server,
     
    18101771         </p>
    18111772      </div>
    1812       <div id="rfc.figure.u.43"></div><pre class="text2">OPTIONS * HTTP/1.1
     1773      <div id="rfc.figure.u.42"></div><pre class="text2">OPTIONS * HTTP/1.1
    18131774</pre><p id="rfc.section.5.3.p.17">If a proxy receives an OPTIONS request with an absolute-form of request-target in which the URI has an empty path and no query
    18141775         component, then the last proxy on the request chain <em class="bcp14">MUST</em> send a request-target of "*" when it forwards the request to the indicated origin server.
    18151776      </p>
    1816       <div id="rfc.figure.u.44"></div>
     1777      <div id="rfc.figure.u.43"></div>
    18171778      <p>For example, the request</p><pre class="text2">OPTIONS http://www.example.org:8001 HTTP/1.1
    1818 </pre><div id="rfc.figure.u.45"></div>
     1779</pre><div id="rfc.figure.u.44"></div>
    18191780      <p>would be forwarded by the final proxy as</p><pre class="text2">OPTIONS * HTTP/1.1
    18201781Host: www.example.org:8001
     
    18271788         is critical information for handling a request, it <em class="bcp14">SHOULD</em> be sent as the first header field following the request-line.
    18281789      </p>
    1829       <div id="rfc.figure.u.46"></div><pre class="inline"><span id="rfc.iref.g.85"></span>  <a href="#header.host" class="smpl">Host</a> = <a href="#uri" class="smpl">uri-host</a> [ ":" <a href="#uri" class="smpl">port</a> ] ; <a href="#http.uri" title="http URI scheme">Section&nbsp;2.8.1</a>
     1790      <div id="rfc.figure.u.45"></div><pre class="inline"><span id="rfc.iref.g.84"></span>  <a href="#header.host" class="smpl">Host</a> = <a href="#uri" class="smpl">uri-host</a> [ ":" <a href="#uri" class="smpl">port</a> ] ; <a href="#http.uri" title="http URI scheme">Section&nbsp;2.8.1</a>
    18301791</pre><p id="rfc.section.5.4.p.3">A client <em class="bcp14">MUST</em> send a Host header field in all HTTP/1.1 request messages. If the target URI includes an authority component, then the Host
    18311792         field-value <em class="bcp14">MUST</em> be identical to that authority component after excluding any userinfo (<a href="#http.uri" title="http URI scheme">Section&nbsp;2.8.1</a>). If the authority component is missing or undefined for the target URI, then the Host header field <em class="bcp14">MUST</em> be sent with an empty field-value.
    18321793      </p>
    18331794      <p id="rfc.section.5.4.p.4">For example, a GET request to the origin server for &lt;http://www.example.org/pub/WWW/&gt; would begin with:</p>
    1834       <div id="rfc.figure.u.47"></div><pre class="text2">GET /pub/WWW/ HTTP/1.1
     1795      <div id="rfc.figure.u.46"></div><pre class="text2">GET /pub/WWW/ HTTP/1.1
    18351796Host: www.example.org
    18361797</pre><p id="rfc.section.5.4.p.6">The Host header field <em class="bcp14">MUST</em> be sent in an HTTP/1.1 request even if the request-target is in the absolute-form, since this allows the Host information
     
    18711832         the scheme, "://", authority, and combined path and query component.
    18721833      </p>
    1873       <div id="rfc.figure.u.48"></div>
     1834      <div id="rfc.figure.u.47"></div>
    18741835      <p>Example 1: the following message received over an insecure TCP connection</p>  <pre class="text">GET /pub/WWW/TheProject.html HTTP/1.1
    18751836Host: www.example.org:8080
     1837</pre> <div id="rfc.figure.u.48"></div>
     1838      <p>has an effective request URI of</p>  <pre class="text">http://www.example.org:8080/pub/WWW/TheProject.html
    18761839</pre> <div id="rfc.figure.u.49"></div>
    1877       <p>has an effective request URI of</p>  <pre class="text">http://www.example.org:8080/pub/WWW/TheProject.html
    1878 </pre> <div id="rfc.figure.u.50"></div>
    18791840      <p>Example 2: the following message received over an SSL/TLS-secured TCP connection</p>  <pre class="text">OPTIONS * HTTP/1.1
    18801841Host: www.example.org
    1881 </pre> <div id="rfc.figure.u.51"></div>
     1842</pre> <div id="rfc.figure.u.50"></div>
    18821843      <p>has an effective request URI of</p>  <pre class="text">https://www.example.org
    18831844</pre> <p id="rfc.section.5.5.p.12">An origin server that does not allow resources to differ by requested host <em class="bcp14">MAY</em> ignore the <a href="#header.host" class="smpl">Host</a> field-value and instead replace it with a configured server name when constructing the effective request URI.
     
    19941955      </p>
    19951956      <p id="rfc.section.6.1.p.2">The Connection header field's value has the following grammar:</p>
    1996       <div id="rfc.figure.u.52"></div><pre class="inline"><span id="rfc.iref.g.86"></span><span id="rfc.iref.g.87"></span>  <a href="#header.connection" class="smpl">Connection</a>        = 1#<a href="#header.connection" class="smpl">connection-option</a>
     1957      <div id="rfc.figure.u.51"></div><pre class="inline"><span id="rfc.iref.g.85"></span><span id="rfc.iref.g.86"></span>  <a href="#header.connection" class="smpl">Connection</a>        = 1#<a href="#header.connection" class="smpl">connection-option</a>
    19971958  <a href="#header.connection" class="smpl">connection-option</a> = <a href="#rule.token.separators" class="smpl">token</a>
    19981959</pre><p id="rfc.section.6.1.p.4">Connection options are compared case-insensitively.</p>
     
    20191980         of the response. For example,
    20201981      </p>
    2021       <div id="rfc.figure.u.53"></div><pre class="text">  Connection: close
     1982      <div id="rfc.figure.u.52"></div><pre class="text">  Connection: close
    20221983</pre><p id="rfc.section.6.1.p.11">in either the request or the response header fields indicates that the connection <em class="bcp14">SHOULD NOT</em> be considered "persistent" (<a href="#persistent.connections" title="Persistent Connections">Section&nbsp;6.3</a>) after the current request/response is complete.
    20231984      </p>
     
    20341995         of all senders along the request/response chain.
    20351996      </p>
    2036       <div id="rfc.figure.u.54"></div><pre class="inline"><span id="rfc.iref.g.88"></span><span id="rfc.iref.g.89"></span><span id="rfc.iref.g.90"></span><span id="rfc.iref.g.91"></span><span id="rfc.iref.g.92"></span><span id="rfc.iref.g.93"></span>  <a href="#header.via" class="smpl">Via</a>               = 1#( <a href="#header.via" class="smpl">received-protocol</a> <a href="#rule.whitespace" class="smpl">RWS</a> <a href="#header.via" class="smpl">received-by</a>
     1997      <div id="rfc.figure.u.53"></div><pre class="inline"><span id="rfc.iref.g.87"></span><span id="rfc.iref.g.88"></span><span id="rfc.iref.g.89"></span><span id="rfc.iref.g.90"></span><span id="rfc.iref.g.91"></span><span id="rfc.iref.g.92"></span>  <a href="#header.via" class="smpl">Via</a>               = 1#( <a href="#header.via" class="smpl">received-protocol</a> <a href="#rule.whitespace" class="smpl">RWS</a> <a href="#header.via" class="smpl">received-by</a>
    20371998                          [ <a href="#rule.whitespace" class="smpl">RWS</a> <a href="#rule.comment" class="smpl">comment</a> ] )
    20381999  <a href="#header.via" class="smpl">received-protocol</a> = [ <a href="#header.upgrade" class="smpl">protocol-name</a> "/" ] <a href="#header.upgrade" class="smpl">protocol-version</a>
     
    20552016         server at www.example.com. The request received by www.example.com would then have the following Via header field:
    20562017      </p>
    2057       <div id="rfc.figure.u.55"></div><pre class="text">  Via: 1.0 fred, 1.1 p.example.net (Apache/1.1)
     2018      <div id="rfc.figure.u.54"></div><pre class="text">  Via: 1.0 fred, 1.1 p.example.net (Apache/1.1)
    20582019</pre><p id="rfc.section.6.2.p.9">A proxy or gateway used as a portal through a network firewall <em class="bcp14">SHOULD NOT</em> forward the names and ports of hosts within the firewall region unless it is explicitly enabled to do so. If not enabled,
    20592020         the received-by host of any host behind the firewall <em class="bcp14">SHOULD</em> be replaced by an appropriate pseudonym for that host.
     
    20622023         values. For example,
    20632024      </p>
    2064       <div id="rfc.figure.u.56"></div><pre class="text">  Via: 1.0 ricky, 1.1 ethel, 1.1 fred, 1.0 lucy
     2025      <div id="rfc.figure.u.55"></div><pre class="text">  Via: 1.0 ricky, 1.1 ethel, 1.1 fred, 1.0 lucy
    20652026</pre><p id="rfc.section.6.2.p.12">could be collapsed to</p>
    2066       <div id="rfc.figure.u.57"></div><pre class="text">  Via: 1.0 ricky, 1.1 mertz, 1.0 lucy
     2027      <div id="rfc.figure.u.56"></div><pre class="text">  Via: 1.0 ricky, 1.1 mertz, 1.0 lucy
    20672028</pre><p id="rfc.section.6.2.p.14">Senders <em class="bcp14">SHOULD NOT</em> combine multiple entries unless they are all under the same organizational control and the hosts have already been replaced
    20682029         by pseudonyms. Senders <em class="bcp14">MUST NOT</em> combine entries which have different received-protocol values.
     
    22262187         server chooses to switch protocols. Servers can use it to indicate what protocols they are willing to switch to.
    22272188      </p>
    2228       <div id="rfc.figure.u.58"></div><pre class="inline"><span id="rfc.iref.g.94"></span>  <a href="#header.upgrade" class="smpl">Upgrade</a>          = 1#<a href="#header.upgrade" class="smpl">protocol</a>
     2189      <div id="rfc.figure.u.57"></div><pre class="inline"><span id="rfc.iref.g.93"></span>  <a href="#header.upgrade" class="smpl">Upgrade</a>          = 1#<a href="#header.upgrade" class="smpl">protocol</a>
    22292190
    22302191  <a href="#header.upgrade" class="smpl">protocol</a>         = <a href="#header.upgrade" class="smpl">protocol-name</a> ["/" <a href="#header.upgrade" class="smpl">protocol-version</a>]
     
    22322193  <a href="#header.upgrade" class="smpl">protocol-version</a> = <a href="#rule.token.separators" class="smpl">token</a>
    22332194</pre><p id="rfc.section.6.5.p.3">For example,</p>
    2234       <div id="rfc.figure.u.59"></div><pre class="text">  Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11
     2195      <div id="rfc.figure.u.58"></div><pre class="text">  Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11
    22352196</pre><p id="rfc.section.6.5.p.5">The Upgrade header field is intended to provide a simple mechanism for transitioning from HTTP/1.1 to some other, incompatible
    22362197         protocol. It does so by allowing the client to advertise its desire to use another protocol, such as a later version of HTTP
     
    23012262                  <td class="left">http</td>
    23022263                  <td class="left">standard</td>
    2303                   <td class="left"> <a href="#header.te" id="rfc.xref.header.te.4" title="TE">Section&nbsp;4.3</a>
     2264                  <td class="left"> <a href="#header.te" id="rfc.xref.header.te.3" title="TE">Section&nbsp;4.3</a>
    23042265                  </td>
    23052266               </tr>
     
    25122473         <li>Pointer to specification text</li>
    25132474      </ul>
    2514       <p id="rfc.section.7.4.p.3">Names of transfer codings <em class="bcp14">MUST NOT</em> overlap with names of content codings (<a href="p2-semantics.html#content.codings" title="Content Codings">Section 5.4</a> of <a href="#Part2" id="rfc.xref.Part2.28"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>) unless the encoding transformation is identical, as it is the case for the compression codings defined in <a href="#compression.codings" title="Compression Codings">Section&nbsp;4.2</a>.
    2515       </p>
    2516       <p id="rfc.section.7.4.p.4">Values to be added to this name space require IETF Review (see <a href="http://tools.ietf.org/html/rfc5226#section-4.1">Section 4.1</a> of <a href="#RFC5226" id="rfc.xref.RFC5226.1"><cite title="Guidelines for Writing an IANA Considerations Section in RFCs">[RFC5226]</cite></a>), and <em class="bcp14">MUST</em> conform to the purpose of transfer coding defined in this section.
     2475      <p id="rfc.section.7.4.p.3">Names of transfer codings <em class="bcp14">MUST NOT</em> overlap with names of content codings (<a href="p2-semantics.html#content.codings" title="Content Codings">Section 5.4</a> of <a href="#Part2" id="rfc.xref.Part2.28"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>) unless the encoding transformation is identical, as is the case for the compression codings defined in <a href="#compression.codings" title="Compression Codings">Section&nbsp;4.2</a>.
     2476      </p>
     2477      <p id="rfc.section.7.4.p.4">Values to be added to this name space require IETF Review (see <a href="http://tools.ietf.org/html/rfc5226#section-4.1">Section 4.1</a> of <a href="#RFC5226" id="rfc.xref.RFC5226.1"><cite title="Guidelines for Writing an IANA Considerations Section in RFCs">[RFC5226]</cite></a>), and <em class="bcp14">MUST</em> conform to the purpose of transfer coding defined in this section. Use of program names for the identification of encoding
     2478         formats is not desirable and is discouraged for future encodings.
    25172479      </p>
    25182480      <p id="rfc.section.7.4.p.5">The registry itself is maintained at &lt;<a href="http://www.iana.org/assignments/http-parameters">http://www.iana.org/assignments/http-parameters</a>&gt;.
     
    30162978         indicating at least &lt;n&gt; and at most &lt;m&gt; elements, each separated by a single comma (",") and optional whitespace (OWS).
    30172979      </p>
    3018       <div id="rfc.figure.u.60"></div>
     2980      <div id="rfc.figure.u.59"></div>
    30192981      <p>Thus,</p><pre class="text">  1#element =&gt; element *( OWS "," OWS element )
     2982</pre><div id="rfc.figure.u.60"></div>
     2983      <p>and:</p><pre class="text">  #element =&gt; [ 1#element ]
    30202984</pre><div id="rfc.figure.u.61"></div>
    3021       <p>and:</p><pre class="text">  #element =&gt; [ 1#element ]
    3022 </pre><div id="rfc.figure.u.62"></div>
    30232985      <p>and for n &gt;= 1 and m &gt; 1:</p><pre class="text">  &lt;n&gt;#&lt;m&gt;element =&gt; element &lt;n-1&gt;*&lt;m-1&gt;( OWS "," OWS element )
    30242986</pre><p id="rfc.section.B.p.6">For compatibility with legacy list rules, recipients <em class="bcp14">SHOULD</em> accept empty list elements. In other words, consumers would follow the list productions:
    30252987      </p>
    3026       <div id="rfc.figure.u.63"></div><pre class="text">  #element =&gt; [ ( "," / element ) *( OWS "," [ OWS element ] ) ]
     2988      <div id="rfc.figure.u.62"></div><pre class="text">  #element =&gt; [ ( "," / element ) *( OWS "," [ OWS element ] ) ]
    30272989 
    30282990  1#element =&gt; *( "," OWS ) element *( OWS "," [ OWS element ] )
    30292991</pre><p id="rfc.section.B.p.8">Note that empty elements do not contribute to the count of elements present, though.</p>
    30302992      <p id="rfc.section.B.p.9">For example, given these ABNF productions:</p>
    3031       <div id="rfc.figure.u.64"></div><pre class="text">  example-list      = 1#example-list-elmt
     2993      <div id="rfc.figure.u.63"></div><pre class="text">  example-list      = 1#example-list-elmt
    30322994  example-list-elmt = token ; see <a href="#field.components" title="Field value components">Section&nbsp;3.2.4</a>
    30332995</pre><p id="rfc.section.B.p.11">Then these are valid values for example-list (not including the double quotes, which are present for delimitation only):</p>
    3034       <div id="rfc.figure.u.65"></div><pre class="text">  "foo,bar"
     2996      <div id="rfc.figure.u.64"></div><pre class="text">  "foo,bar"
    30352997  "foo ,bar,"
    30362998  "foo , ,bar,charlie   "
    30372999</pre><p id="rfc.section.B.p.13">But these values would be invalid, as at least one non-empty element is required:</p>
    3038       <div id="rfc.figure.u.66"></div><pre class="text">  ""
     3000      <div id="rfc.figure.u.65"></div><pre class="text">  ""
    30393001  ","
    30403002  ",   ,"
     
    30423004      </p>
    30433005      <h1 id="rfc.section.C"><a href="#rfc.section.C">C.</a>&nbsp;<a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1>
    3044       <div id="rfc.figure.u.67"></div> <pre class="inline"><a href="#rule.whitespace" class="smpl">BWS</a> = OWS
     3006      <div id="rfc.figure.u.66"></div> <pre class="inline"><a href="#rule.whitespace" class="smpl">BWS</a> = OWS
    30453007
    30463008<a href="#header.connection" class="smpl">Connection</a> = *( "," OWS ) connection-option *( OWS "," [ OWS
     
    31283090<a href="#chunked.encoding" class="smpl">quoted-str-nf</a> = DQUOTE *( qdtext-nf / quoted-pair ) DQUOTE
    31293091<a href="#rule.quoted-string" class="smpl">quoted-string</a> = DQUOTE *( qdtext / quoted-pair ) DQUOTE
    3130 <a href="#quality.values" class="smpl">qvalue</a> = ( "0" [ "." *3DIGIT ] ) / ( "1" [ "." *3"0" ] )
    3131 
     3092
     3093<a href="#header.te" class="smpl">rank</a> = ( "0" [ "." *3DIGIT ] ) / ( "1" [ "." *3"0" ] )
    31323094<a href="#status.line" class="smpl">reason-phrase</a> = *( HTAB / SP / VCHAR / obs-text )
    31333095<a href="#header.via" class="smpl">received-by</a> = ( uri-host [ ":" port ] ) / pseudonym
     
    31443106<a href="#status.line" class="smpl">status-line</a> = HTTP-version SP status-code SP reason-phrase CRLF
    31453107
    3146 <a href="#header.te" class="smpl">t-codings</a> = "trailers" / ( transfer-extension [ te-params ] )
     3108<a href="#header.te" class="smpl">t-codings</a> = "trailers" / ( transfer-coding [ t-ranking ] )
     3109<a href="#header.te" class="smpl">t-ranking</a> = OWS ";" OWS "q=" rank
    31473110<a href="#rule.token.separators" class="smpl">tchar</a> = "!" / "#" / "$" / "%" / "&amp;" / "'" / "*" / "+" / "-" / "." /
    31483111 "^" / "_" / "`" / "|" / "~" / DIGIT / ALPHA
    3149 <a href="#header.te" class="smpl">te-ext</a> = OWS ";" OWS token [ "=" word ]
    3150 <a href="#header.te" class="smpl">te-params</a> = OWS ";" OWS "q=" qvalue *te-ext
    31513112<a href="#rule.token.separators" class="smpl">token</a> = 1*tchar
    31523113<a href="#chunked.encoding" class="smpl">trailer-part</a> = *( header-field CRLF )
     
    36133574                  <li><tt>Grammar</tt>&nbsp;&nbsp;
    36143575                     <ul>
    3615                         <li><tt>absolute-form</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.82"><b>5.3</b></a></li>
     3576                        <li><tt>absolute-form</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.81"><b>5.3</b></a></li>
    36163577                        <li><tt>absolute-URI</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.17"><b>2.8</b></a></li>
    36173578                        <li>ALPHA&nbsp;&nbsp;<a href="#rfc.iref.g.1"><b>1.2</b></a></li>
    3618                         <li><tt>asterisk-form</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.84"><b>5.3</b></a></li>
     3579                        <li><tt>asterisk-form</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.83"><b>5.3</b></a></li>
    36193580                        <li><tt>attribute</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.58"><b>4</b></a></li>
    36203581                        <li><tt>authority</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.18"><b>2.8</b></a></li>
    3621                         <li><tt>authority-form</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.83"><b>5.3</b></a></li>
     3582                        <li><tt>authority-form</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.82"><b>5.3</b></a></li>
    36223583                        <li><tt>BWS</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.40"><b>3.2.1</b></a></li>
    36233584                        <li><tt>chunk</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.63"><b>4.1</b></a></li>
     
    36293590                        <li><tt>chunked-body</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.62"><b>4.1</b></a></li>
    36303591                        <li><tt>comment</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.49"><b>3.2.4</b></a></li>
    3631                         <li><tt>Connection</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.86"><b>6.1</b></a></li>
    3632                         <li><tt>connection-option</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.87"><b>6.1</b></a></li>
     3592                        <li><tt>Connection</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.85"><b>6.1</b></a></li>
     3593                        <li><tt>connection-option</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.86"><b>6.1</b></a></li>
    36333594                        <li><tt>Content-Length</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.54"><b>3.3.2</b></a></li>
    36343595                        <li>CR&nbsp;&nbsp;<a href="#rfc.iref.g.2"><b>1.2</b></a></li>
     
    36453606                        <li><tt>header-field</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.33"><b>3.2</b></a></li>
    36463607                        <li>HEXDIG&nbsp;&nbsp;<a href="#rfc.iref.g.7"><b>1.2</b></a></li>
    3647                         <li><tt>Host</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.85"><b>5.4</b></a></li>
     3608                        <li><tt>Host</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.84"><b>5.4</b></a></li>
    36483609                        <li>HTAB&nbsp;&nbsp;<a href="#rfc.iref.g.8"><b>1.2</b></a></li>
    36493610                        <li><tt>HTTP-message</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.26"><b>3</b></a></li>
     
    36593620                        <li><tt>obs-text</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.47"><b>3.2.4</b></a></li>
    36603621                        <li>OCTET&nbsp;&nbsp;<a href="#rfc.iref.g.10"><b>1.2</b></a></li>
    3661                         <li><tt>origin-form</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.81"><b>5.3</b></a></li>
     3622                        <li><tt>origin-form</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.80"><b>5.3</b></a></li>
    36623623                        <li><tt>OWS</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.38"><b>3.2.1</b></a></li>
    36633624                        <li><tt>partial-URI</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.23"><b>2.8</b></a></li>
    36643625                        <li><tt>path-absolute</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.19"><b>2.8</b></a></li>
    36653626                        <li><tt>port</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.20"><b>2.8</b></a></li>
    3666                         <li><tt>protocol-name</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.90"><b>6.2</b></a></li>
    3667                         <li><tt>protocol-version</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.91"><b>6.2</b></a></li>
    3668                         <li><tt>pseudonym</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.93"><b>6.2</b></a></li>
     3627                        <li><tt>protocol-name</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.89"><b>6.2</b></a></li>
     3628                        <li><tt>protocol-version</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.90"><b>6.2</b></a></li>
     3629                        <li><tt>pseudonym</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.92"><b>6.2</b></a></li>
    36693630                        <li><tt>qdtext</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.46"><b>3.2.4</b></a></li>
    36703631                        <li><tt>qdtext-nf</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.72"><b>4.1</b></a></li>
     
    36743635                        <li><tt>quoted-str-nf</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.71"><b>4.1</b></a></li>
    36753636                        <li><tt>quoted-string</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.45"><b>3.2.4</b></a></li>
    3676                         <li><tt>qvalue</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.78"><b>4.3.1</b></a></li>
     3637                        <li><tt>rank</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.77"><b>4.3</b></a></li>
    36773638                        <li><tt>reason-phrase</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.32"><b>3.1.2</b></a></li>
    3678                         <li><tt>received-by</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.92"><b>6.2</b></a></li>
    3679                         <li><tt>received-protocol</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.89"><b>6.2</b></a></li>
     3639                        <li><tt>received-by</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.91"><b>6.2</b></a></li>
     3640                        <li><tt>received-protocol</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.88"><b>6.2</b></a></li>
    36803641                        <li><tt>request-line</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.28"><b>3.1.1</b></a></li>
    3681                         <li><tt>request-target</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.80"><b>5.3</b></a></li>
     3642                        <li><tt>request-target</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.79"><b>5.3</b></a></li>
    36823643                        <li><tt>RWS</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.39"><b>3.2.1</b></a></li>
    36833644                        <li>SP&nbsp;&nbsp;<a href="#rfc.iref.g.11"><b>1.2</b></a></li>
     
    36873648                        <li><tt>status-line</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.30"><b>3.1.2</b></a></li>
    36883649                        <li><tt>t-codings</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.75"><b>4.3</b></a></li>
     3650                        <li><tt>t-ranking</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.76"><b>4.3</b></a></li>
    36893651                        <li><tt>tchar</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.43"><b>3.2.4</b></a></li>
    36903652                        <li><tt>TE</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.74"><b>4.3</b></a></li>
    3691                         <li><tt>te-ext</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.77"><b>4.3</b></a></li>
    3692                         <li><tt>te-params</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.76"><b>4.3</b></a></li>
    36933653                        <li><tt>token</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.42"><b>3.2.4</b></a></li>
    3694                         <li><tt>Trailer</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.79"><b>4.4</b></a></li>
     3654                        <li><tt>Trailer</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.78"><b>4.4</b></a></li>
    36953655                        <li><tt>trailer-part</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.70"><b>4.1</b></a></li>
    36963656                        <li><tt>transfer-coding</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.55"><b>4</b></a></li>
     
    36983658                        <li><tt>transfer-extension</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.56"><b>4</b></a></li>
    36993659                        <li><tt>transfer-parameter</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.57"><b>4</b></a></li>
    3700                         <li><tt>Upgrade</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.94"><b>6.5</b></a></li>
     3660                        <li><tt>Upgrade</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.93"><b>6.5</b></a></li>
    37013661                        <li><tt>uri-host</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.22"><b>2.8</b></a></li>
    37023662                        <li><tt>URI-reference</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.16"><b>2.8</b></a></li>
    37033663                        <li><tt>value</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.59"><b>4</b></a></li>
    37043664                        <li>VCHAR&nbsp;&nbsp;<a href="#rfc.iref.g.12"><b>1.2</b></a></li>
    3705                         <li><tt>Via</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.88"><b>6.2</b></a></li>
     3665                        <li><tt>Via</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.87"><b>6.2</b></a></li>
    37063666                        <li><tt>word</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.41"><b>3.2.4</b></a></li>
    37073667                     </ul>
     
    37173677                        <li>Content-Length&nbsp;&nbsp;<a href="#rfc.iref.h.7"><b>3.3.2</b></a>, <a href="#rfc.xref.header.content-length.1">7.1</a></li>
    37183678                        <li>Host&nbsp;&nbsp;<a href="#rfc.xref.header.host.1">5.3</a>, <a href="#rfc.iref.h.11"><b>5.4</b></a>, <a href="#rfc.xref.header.host.2">7.1</a>, <a href="#rfc.xref.header.host.3">A.1.1</a></li>
    3719                         <li>TE&nbsp;&nbsp;<a href="#rfc.xref.header.te.1">4</a>, <a href="#rfc.xref.header.te.2">4.1</a>, <a href="#rfc.iref.h.8"><b>4.3</b></a>, <a href="#rfc.xref.header.te.3">4.3.1</a>, <a href="#rfc.xref.header.te.4">7.1</a></li>
     3679                        <li>TE&nbsp;&nbsp;<a href="#rfc.xref.header.te.1">4</a>, <a href="#rfc.xref.header.te.2">4.1</a>, <a href="#rfc.iref.h.8"><b>4.3</b></a>, <a href="#rfc.xref.header.te.3">7.1</a></li>
    37203680                        <li>Trailer&nbsp;&nbsp;<a href="#rfc.xref.header.trailer.1">4.1</a>, <a href="#rfc.iref.h.9"><b>4.4</b></a>, <a href="#rfc.xref.header.trailer.2">7.1</a></li>
    37213681                        <li>Transfer-Encoding&nbsp;&nbsp;<a href="#rfc.xref.header.transfer-encoding.1">3.3</a>, <a href="#rfc.iref.h.6"><b>3.3.1</b></a>, <a href="#rfc.xref.header.transfer-encoding.2">4</a>, <a href="#rfc.xref.header.transfer-encoding.3">7.1</a>, <a href="#rfc.xref.header.transfer-encoding.4">A.1.3</a></li>
     
    37673727            <li><a id="rfc.index.P" href="#rfc.index.P"><b>P</b></a><ul>
    37683728                  <li><em>Pad1995</em>&nbsp;&nbsp;<a href="#rfc.xref.Pad1995.1">6.3.1</a>, <a href="#Pad1995"><b>10.2</b></a></li>
    3769                   <li><em>Part2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.1">1</a>, <a href="#rfc.xref.Part2.2">2.1</a>, <a href="#rfc.xref.Part2.3">2.4</a>, <a href="#rfc.xref.Part2.4">2.8.1</a>, <a href="#rfc.xref.Part2.5">3.1.1</a>, <a href="#rfc.xref.Part2.6">3.1.1</a>, <a href="#rfc.xref.Part2.7">3.1.2</a>, <a href="#rfc.xref.Part2.8">3.2</a>, <a href="#rfc.xref.Part2.9">3.2</a>, <a href="#rfc.xref.Part2.10">3.3.1</a>, <a href="#rfc.xref.Part2.11">4.3.1</a>, <a href="#rfc.xref.Part2.12">5.1</a>, <a href="#rfc.xref.Part2.13">5.3</a>, <a href="#rfc.xref.Part2.14">5.3</a>, <a href="#rfc.xref.Part2.15">5.6.2</a>, <a href="#rfc.xref.Part2.16">5.6.2</a>, <a href="#rfc.xref.Part2.17">5.6.2</a>, <a href="#rfc.xref.Part2.18">5.6.2</a>, <a href="#rfc.xref.Part2.19">5.6.2</a>, <a href="#rfc.xref.Part2.20">5.6.2</a>, <a href="#rfc.xref.Part2.21">5.7</a>, <a href="#rfc.xref.Part2.22">6.3.2.2</a>, <a href="#rfc.xref.Part2.23">6.3.4</a>, <a href="#rfc.xref.Part2.24">6.4.3</a>, <a href="#rfc.xref.Part2.25">6.4.3</a>, <a href="#rfc.xref.Part2.26">6.4.3</a>, <a href="#rfc.xref.Part2.27">6.5</a>, <a href="#rfc.xref.Part2.28">7.4</a>, <a href="#rfc.xref.Part2.29">8.6</a>, <a href="#rfc.xref.Part2.30">8.6</a>, <a href="#Part2"><b>10.1</b></a><ul>
     3729                  <li><em>Part2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.1">1</a>, <a href="#rfc.xref.Part2.2">2.1</a>, <a href="#rfc.xref.Part2.3">2.4</a>, <a href="#rfc.xref.Part2.4">2.8.1</a>, <a href="#rfc.xref.Part2.5">3.1.1</a>, <a href="#rfc.xref.Part2.6">3.1.1</a>, <a href="#rfc.xref.Part2.7">3.1.2</a>, <a href="#rfc.xref.Part2.8">3.2</a>, <a href="#rfc.xref.Part2.9">3.2</a>, <a href="#rfc.xref.Part2.10">3.3.1</a>, <a href="#rfc.xref.Part2.11">4.3</a>, <a href="#rfc.xref.Part2.12">5.1</a>, <a href="#rfc.xref.Part2.13">5.3</a>, <a href="#rfc.xref.Part2.14">5.3</a>, <a href="#rfc.xref.Part2.15">5.6.2</a>, <a href="#rfc.xref.Part2.16">5.6.2</a>, <a href="#rfc.xref.Part2.17">5.6.2</a>, <a href="#rfc.xref.Part2.18">5.6.2</a>, <a href="#rfc.xref.Part2.19">5.6.2</a>, <a href="#rfc.xref.Part2.20">5.6.2</a>, <a href="#rfc.xref.Part2.21">5.7</a>, <a href="#rfc.xref.Part2.22">6.3.2.2</a>, <a href="#rfc.xref.Part2.23">6.3.4</a>, <a href="#rfc.xref.Part2.24">6.4.3</a>, <a href="#rfc.xref.Part2.25">6.4.3</a>, <a href="#rfc.xref.Part2.26">6.4.3</a>, <a href="#rfc.xref.Part2.27">6.5</a>, <a href="#rfc.xref.Part2.28">7.4</a>, <a href="#rfc.xref.Part2.29">8.6</a>, <a href="#rfc.xref.Part2.30">8.6</a>, <a href="#Part2"><b>10.1</b></a><ul>
    37703730                        <li><em>Section 2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.5">3.1.1</a></li>
    37713731                        <li><em>Section 2.1.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.22">6.3.2.2</a>, <a href="#rfc.xref.Part2.23">6.3.4</a></li>
     
    37813741                        <li><em>Section 4.6.12</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.6">3.1.1</a>, <a href="#rfc.xref.Part2.29">8.6</a></li>
    37823742                        <li><em>Section 5.4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.10">3.3.1</a>, <a href="#rfc.xref.Part2.28">7.4</a></li>
    3783                         <li><em>Section 8</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.11">4.3.1</a></li>
     3743                        <li><em>Section 8.3</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.11">4.3</a></li>
    37843744                        <li><em>Section 9.5</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.15">5.6.2</a></li>
    37853745                        <li><em>Section 9.6</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.18">5.6.2</a></li>
     
    38993859                  <li>target resource&nbsp;&nbsp;<a href="#rfc.iref.t.7"><b>5.1</b></a></li>
    39003860                  <li>target URI&nbsp;&nbsp;<a href="#rfc.iref.t.8"><b>5.1</b></a></li>
    3901                   <li>TE header field&nbsp;&nbsp;<a href="#rfc.xref.header.te.1">4</a>, <a href="#rfc.xref.header.te.2">4.1</a>, <a href="#rfc.iref.t.5"><b>4.3</b></a>, <a href="#rfc.xref.header.te.3">4.3.1</a>, <a href="#rfc.xref.header.te.4">7.1</a></li>
     3861                  <li>TE header field&nbsp;&nbsp;<a href="#rfc.xref.header.te.1">4</a>, <a href="#rfc.xref.header.te.2">4.1</a>, <a href="#rfc.iref.t.5"><b>4.3</b></a>, <a href="#rfc.xref.header.te.3">7.1</a></li>
    39023862                  <li><em>Tou1998</em>&nbsp;&nbsp;<a href="#rfc.xref.Tou1998.1">6.3.1</a>, <a href="#Tou1998"><b>10.2</b></a></li>
    39033863                  <li>Trailer header field&nbsp;&nbsp;<a href="#rfc.xref.header.trailer.1">4.1</a>, <a href="#rfc.iref.t.6"><b>4.4</b></a>, <a href="#rfc.xref.header.trailer.2">7.1</a></li>
  • draft-ietf-httpbis/latest/p1-messaging.xml

    r1830 r1831  
    4646  <!ENTITY methods                "<xref target='Part2' x:rel='#methods' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    4747  <!ENTITY OPTIONS                "<xref target='Part2' x:rel='#OPTIONS' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
     48  <!ENTITY qvalue                 "<xref target='Part2' x:rel='#quality.values' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    4849  <!ENTITY status-codes           "<xref target='Part2' x:rel='#status.codes' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    4950  <!ENTITY status-100             "<xref target='Part2' x:rel='#status.100' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
     
    19821983   message.
    19831984</t>
    1984 <x:note><t>
    1985    &Note; Use of program names for the identification of encoding formats
    1986    is not desirable and is discouraged for future encodings. Their
    1987    use here is representative of historical practice, not good
    1988    design.
    1989 </t></x:note>
    1990 <x:note><t>
    1991    &Note; For compatibility with previous implementations of HTTP,
    1992    applications &SHOULD; consider "x-gzip" and "x-compress" to be
    1993    equivalent to "gzip" and "compress" respectively.
    1994 </t></x:note>
    19951985
    19961986<section title="Compress Coding" anchor="compress.coding">
     
    20001990   The "compress" format is produced by the common UNIX file compression
    20011991   program "compress". This format is an adaptive Lempel-Ziv-Welch
    2002    coding (LZW).
     1992   coding (LZW). Recipients &SHOULD; consider "x-compress" to be
     1993   equivalent to "compress".
    20031994</t>
    20041995</section>
     
    20272018   "gzip" (GNU zip), as described in <xref target="RFC1952"/>. This format is a
    20282019   Lempel-Ziv coding (LZ77) with a 32 bit CRC.
     2020   Recipients &SHOULD; consider "x-gzip" to be equivalent to "gzip".
    20292021</t>
    20302022</section>
     
    20372029  <x:anchor-alias value="TE"/>
    20382030  <x:anchor-alias value="t-codings"/>
    2039   <x:anchor-alias value="te-params"/>
    2040   <x:anchor-alias value="te-ext"/>
    2041 <t>
    2042    The "TE" header field indicates what extension transfer-codings
    2043    the client is willing to accept in the response, and whether or not it is
    2044    willing to accept trailer fields in a chunked transfer-coding.
    2045 </t>
    2046 <t>
    2047    Its value consists of the keyword "trailers" and/or a comma-separated
    2048    list of extension transfer-coding names with optional accept
    2049    parameters (as described in <xref target="transfer.codings"/>).
    2050 </t>
    2051 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="TE"/><iref primary="true" item="Grammar" subitem="t-codings"/><iref primary="true" item="Grammar" subitem="te-params"/><iref primary="true" item="Grammar" subitem="te-ext"/>
     2031  <x:anchor-alias value="t-ranking"/>
     2032  <x:anchor-alias value="rank"/>
     2033<t>
     2034   The "TE" header field in a request indicates what transfer-codings,
     2035   besides "chunked", the client is willing to accept in response, and
     2036   whether or not the client is willing to accept trailer fields in a
     2037   chunked transfer-coding.
     2038</t>
     2039<t>
     2040   The TE field-value consists of a comma-separated list of transfer-coding
     2041   names, each allowing for optional parameters (as described in
     2042   <xref target="transfer.codings"/>), and/or the keyword "trailers".
     2043   Clients &MUST-NOT; send the chunked transfer-coding name in TE;
     2044   chunked is always acceptable for HTTP/1.1 recipients.
     2045</t>
     2046<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="TE"/><iref primary="true" item="Grammar" subitem="t-codings"/><iref primary="true" item="Grammar" subitem="t-ranking"/><iref primary="true" item="Grammar" subitem="rank"/>
    20522047  <x:ref>TE</x:ref>        = #<x:ref>t-codings</x:ref>
    2053   <x:ref>t-codings</x:ref> = "trailers" / ( <x:ref>transfer-extension</x:ref> [ <x:ref>te-params</x:ref> ] )
    2054   <x:ref>te-params</x:ref> = <x:ref>OWS</x:ref> ";" <x:ref>OWS</x:ref> "q=" <x:ref>qvalue</x:ref> *( <x:ref>te-ext</x:ref> )
    2055   <x:ref>te-ext</x:ref>    = <x:ref>OWS</x:ref> ";" <x:ref>OWS</x:ref> <x:ref>token</x:ref> [ "=" <x:ref>word</x:ref> ]
     2048  <x:ref>t-codings</x:ref> = "trailers" / ( <x:ref>transfer-coding</x:ref> [ <x:ref>t-ranking</x:ref> ] )
     2049  <x:ref>t-ranking</x:ref> = <x:ref>OWS</x:ref> ";" <x:ref>OWS</x:ref> "q=" <x:ref>rank</x:ref>
     2050  <x:ref>rank</x:ref>      = ( "0" [ "." 0*3<x:ref>DIGIT</x:ref> ] )
     2051             / ( "1" [ "." 0*3("0") ] )
    20562052</artwork></figure>
    20572053<t>
    2058    The presence of the keyword "trailers" indicates that the client is
    2059    willing to accept trailer fields in a chunked transfer-coding, as
    2060    defined in <xref target="chunked.encoding"/>. This keyword is reserved for use with
    2061    transfer-coding values even though it does not itself represent a
    2062    transfer-coding.
    2063 </t>
    2064 <t>
    2065    Examples of its use are:
     2054   Three examples of TE use are below.
    20662055</t>
    20672056<figure><artwork type="example">
     
    20712060</artwork></figure>
    20722061<t>
    2073    The TE header field only applies to the immediate connection.
    2074    Therefore, the keyword &MUST; be supplied within a <x:ref>Connection</x:ref>
    2075    header field (<xref target="header.connection"/>) whenever TE is present in
    2076    an HTTP/1.1 message.
    2077 </t>
    2078 <t>
    2079    A server tests whether a transfer-coding is acceptable, according to
    2080    a TE field, using these rules:
    2081   <list style="numbers">
    2082     <x:lt>
    2083       <t>The "chunked" transfer-coding is always acceptable. If the
    2084          keyword "trailers" is listed, the client indicates that it is
    2085          willing to accept trailer fields in the chunked response on
    2086          behalf of itself and any downstream clients. The implication is
    2087          that, if given, the client is stating that either all
    2088          downstream clients are willing to accept trailer fields in the
    2089          forwarded response, or that it will attempt to buffer the
    2090          response on behalf of downstream recipients.
    2091       </t><t>
    2092          &Note; HTTP/1.1 does not define any means to limit the size of a
    2093          chunked response such that a client can be assured of buffering
    2094          the entire response.</t>
    2095     </x:lt>
    2096     <x:lt>
    2097       <t>If the transfer-coding being tested is one of the transfer-codings
    2098          listed in the TE field, then it is acceptable unless it
    2099          is accompanied by a qvalue of 0. (As defined in <xref target="quality.values"/>, a
    2100          qvalue of 0 means "not acceptable".)</t>
    2101     </x:lt>
    2102     <x:lt>
    2103       <t>If multiple transfer-codings are acceptable, then the
    2104          acceptable transfer-coding with the highest non-zero qvalue is
    2105          preferred.  The "chunked" transfer-coding always has a qvalue
    2106          of 1.</t>
    2107     </x:lt>
    2108   </list>
     2062   The presence of the keyword "trailers" indicates that the client is
     2063   willing to accept trailer fields in a chunked transfer-coding,
     2064   as defined in <xref target="chunked.encoding"/>, on behalf of itself and
     2065   any downstream clients. For chained requests, this implies that either:
     2066   (a) all downstream clients are willing to accept trailer fields in the
     2067   forwarded response; or,
     2068   (b) the client will attempt to buffer the response on behalf of downstream
     2069   recipients.
     2070   Note that HTTP/1.1 does not define any means to limit the size of a
     2071   chunked response such that a client can be assured of buffering the
     2072   entire response.
     2073</t>
     2074<t>
     2075   When multiple transfer-codings are acceptable, the client &MAY; rank the
     2076   codings by preference using a "q" parameter (similar to the qvalues
     2077   used in content negotiation fields, &qvalue;). The rank value is a real
     2078   number in the range 0 through 1, where 0.001 is the least preferred and
     2079   1 is the most preferred; a value of 0 means "not acceptable".
    21092080</t>
    21102081<t>
    21112082   If the TE field-value is empty or if no TE field is present, the only
    2112    acceptable transfer-coding is "chunked". A message with no transfer-coding is
    2113    always acceptable.
    2114 </t>
    2115 
    2116 <section title="Quality Values" anchor="quality.values">
    2117   <x:anchor-alias value="qvalue"/>
    2118 <t>
    2119    Both transfer codings (<x:ref>TE</x:ref> request header field,
    2120    <xref target="header.te"/>) and content negotiation (&content.negotiation;)
    2121    use short "floating point" numbers to indicate the relative importance
    2122    ("weight") of various negotiable parameters.  A weight is normalized to a
    2123    real number in the range 0 through 1, where 0 is the minimum and 1 the
    2124    maximum value. If a parameter has a quality value of 0, then content with
    2125    this parameter is "not acceptable" for the client. HTTP/1.1
    2126    applications &MUST-NOT; generate more than three digits after the
    2127    decimal point. User configuration of these values &SHOULD; also be
    2128    limited in this fashion.
    2129 </t>
    2130 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="qvalue"/>
    2131   <x:ref>qvalue</x:ref>         = ( "0" [ "." 0*3<x:ref>DIGIT</x:ref> ] )
    2132                  / ( "1" [ "." 0*3("0") ] )
    2133 </artwork></figure>
    2134 <x:note>
    2135   <t>
    2136      &Note; "Quality values" is a misnomer, since these values merely represent
    2137      relative degradation in desired quality.
    2138   </t>
    2139 </x:note>
    2140 </section>
     2083   acceptable transfer-coding is "chunked". A message with no transfer-coding
     2084   is always acceptable.
     2085</t>
     2086<t>
     2087   Since the TE header field only applies to the immediate connection,
     2088   a sender of TE &MUST; also send a "TE" connection option within the
     2089   <x:ref>Connection</x:ref> header field (<xref target="header.connection"/>)
     2090   in order to prevent the TE field from being forwarded by intermediaries
     2091   that do not support its semantics.
     2092</t>
    21412093</section>
    21422094
     
    35853537<t>
    35863538   Names of transfer codings &MUST-NOT; overlap with names of content codings
    3587    (&content-codings;) unless the encoding transformation is identical, as it
     3539   (&content-codings;) unless the encoding transformation is identical, as
    35883540   is the case for the compression codings defined in
    35893541   <xref target="compression.codings"/>.
     
    35933545   <xref target="RFC5226" x:fmt="of" x:sec="4.1"/>), and &MUST;
    35943546   conform to the purpose of transfer coding defined in this section.
     3547   Use of program names for the identification of encoding formats
     3548   is not desirable and is discouraged for future encodings.
    35953549</t>
    35963550<t>
     
    51915145<x:ref>quoted-str-nf</x:ref> = DQUOTE *( qdtext-nf / quoted-pair ) DQUOTE
    51925146<x:ref>quoted-string</x:ref> = DQUOTE *( qdtext / quoted-pair ) DQUOTE
    5193 <x:ref>qvalue</x:ref> = ( "0" [ "." *3DIGIT ] ) / ( "1" [ "." *3"0" ] )
    5194 
     5147
     5148<x:ref>rank</x:ref> = ( "0" [ "." *3DIGIT ] ) / ( "1" [ "." *3"0" ] )
    51955149<x:ref>reason-phrase</x:ref> = *( HTAB / SP / VCHAR / obs-text )
    51965150<x:ref>received-by</x:ref> = ( uri-host [ ":" port ] ) / pseudonym
     
    52075161<x:ref>status-line</x:ref> = HTTP-version SP status-code SP reason-phrase CRLF
    52085162
    5209 <x:ref>t-codings</x:ref> = "trailers" / ( transfer-extension [ te-params ] )
     5163<x:ref>t-codings</x:ref> = "trailers" / ( transfer-coding [ t-ranking ] )
     5164<x:ref>t-ranking</x:ref> = OWS ";" OWS "q=" rank
    52105165<x:ref>tchar</x:ref> = "!" / "#" / "$" / "%" / "&amp;" / "'" / "*" / "+" / "-" / "." /
    52115166 "^" / "_" / "`" / "|" / "~" / DIGIT / ALPHA
    5212 <x:ref>te-ext</x:ref> = OWS ";" OWS token [ "=" word ]
    5213 <x:ref>te-params</x:ref> = OWS ";" OWS "q=" qvalue *te-ext
    52145167<x:ref>token</x:ref> = 1*tchar
    52155168<x:ref>trailer-part</x:ref> = *( header-field CRLF )
  • draft-ietf-httpbis/latest/p2-semantics.html

    r1828 r1831  
    449449  }
    450450  @bottom-center {
    451        content: "Expires February 19, 2013";
     451       content: "Expires February 20, 2013";
    452452  }
    453453  @bottom-right {
     
    498498      <meta name="dct.creator" content="Reschke, J. F.">
    499499      <meta name="dct.identifier" content="urn:ietf:id:draft-ietf-httpbis-p2-semantics-latest">
    500       <meta name="dct.issued" scheme="ISO8601" content="2012-08-18">
     500      <meta name="dct.issued" scheme="ISO8601" content="2012-08-19">
    501501      <meta name="dct.replaces" content="urn:ietf:rfc:2616">
    502502      <meta name="dct.abstract" content="The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypertext information systems. This document defines the semantics of HTTP/1.1 messages, as expressed by request methods, request header fields, response status codes, and response header fields, along with the payload of messages (metadata and body content) and mechanisms for content negotiation.">
     
    529529            </tr>
    530530            <tr>
    531                <td class="left">Expires: February 19, 2013</td>
     531               <td class="left">Expires: February 20, 2013</td>
    532532               <td class="right">greenbytes</td>
    533533            </tr>
    534534            <tr>
    535535               <td class="left"></td>
    536                <td class="right">August 18, 2012</td>
     536               <td class="right">August 19, 2012</td>
    537537            </tr>
    538538         </tbody>
     
    561561         in progress”.
    562562      </p>
    563       <p>This Internet-Draft will expire on February 19, 2013.</p>
     563      <p>This Internet-Draft will expire on February 20, 2013.</p>
    564564      <h1><a id="rfc.copyrightnotice" href="#rfc.copyrightnotice">Copyright Notice</a></h1>
    565565      <p>Copyright © 2012 IETF Trust and the persons identified as the document authors. All rights reserved.</p>
     
    702702               <li><a href="#rfc.section.8.1">8.1</a>&nbsp;&nbsp;&nbsp;<a href="#server-driven.negotiation">Server-driven Negotiation</a></li>
    703703               <li><a href="#rfc.section.8.2">8.2</a>&nbsp;&nbsp;&nbsp;<a href="#agent-driven.negotiation">Agent-driven Negotiation</a></li>
     704               <li><a href="#rfc.section.8.3">8.3</a>&nbsp;&nbsp;&nbsp;<a href="#quality.values">Quality Values</a></li>
    704705            </ul>
    705706         </li>
     
    24742475         to choose from is very large, agent-driven negotiation might not be appropriate.
    24752476      </p>
    2476       <p id="rfc.section.8.p.5">Note that in all cases, the supplier of representations has the responsibility for determining which representations might
     2477      <p id="rfc.section.8.p.5">Note that, in all cases, the supplier of representations has the responsibility for determining which representations might
    24772478         be considered to be the "same information".
    24782479      </p>
     
    25052506            (Not Acceptable)</a> response.
    25062507      </p>
    2507       <p id="rfc.section.8.1.p.5">Many of the mechanisms for expressing preferences use quality values to declare relative preference. See <a href="p1-messaging.html#quality.values" title="Quality Values">Section 4.3.1</a> of <a href="#Part1" id="rfc.xref.Part1.34"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a> for more information.
    2508       </p>
    2509       <p id="rfc.section.8.1.p.6">HTTP/1.1 includes the following header fields for enabling server-driven negotiation through description of user agent capabilities
     2508      <p id="rfc.section.8.1.p.5">HTTP/1.1 includes the following header fields for enabling server-driven negotiation through description of user agent capabilities
    25102509         and user preferences: <a href="#header.accept" class="smpl">Accept</a> (<a href="#header.accept" id="rfc.xref.header.accept.3" title="Accept">Section&nbsp;9.1</a>), <a href="#header.accept-charset" class="smpl">Accept-Charset</a> (<a href="#header.accept-charset" id="rfc.xref.header.accept-charset.2" title="Accept-Charset">Section&nbsp;9.2</a>), <a href="#header.accept-encoding" class="smpl">Accept-Encoding</a> (<a href="#header.accept-encoding" id="rfc.xref.header.accept-encoding.3" title="Accept-Encoding">Section&nbsp;9.3</a>), <a href="#header.accept-language" class="smpl">Accept-Language</a> (<a href="#header.accept-language" id="rfc.xref.header.accept-language.2" title="Accept-Language">Section&nbsp;9.4</a>), and <a href="#header.user-agent" class="smpl">User-Agent</a> (<a href="#header.user-agent" id="rfc.xref.header.user-agent.2" title="User-Agent">Section&nbsp;9.18</a>). However, an origin server is not limited to these dimensions and <em class="bcp14">MAY</em> vary the response based on any aspect of the request, including aspects of the connection (e.g., IP address) or information
    25112510         within extension header fields not defined by this specification.
    25122511      </p>
    2513       <div class="note" id="rfc.section.8.1.p.7">
     2512      <div class="note" id="rfc.section.8.1.p.6">
    25142513         <p> <b>Note:</b> In practice, <a href="#header.user-agent" class="smpl">User-Agent</a> based negotiation is fragile, because new clients might not be recognized.
    25152514         </p>
    25162515      </div>
    2517       <p id="rfc.section.8.1.p.8">The <a href="p6-cache.html#header.vary" class="smpl">Vary</a> header field (<a href="p6-cache.html#header.vary" title="Vary">Section 7.5</a> of <a href="#Part6" id="rfc.xref.Part6.19"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>) can be used to express the parameters the server uses to select a representation that is subject to server-driven negotiation.
     2516      <p id="rfc.section.8.1.p.7">The <a href="p6-cache.html#header.vary" class="smpl">Vary</a> header field (<a href="p6-cache.html#header.vary" title="Vary">Section 7.5</a> of <a href="#Part6" id="rfc.xref.Part6.19"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>) can be used to express the parameters the server uses to select a representation that is subject to server-driven negotiation.
    25182517      </p>
    25192518      <h2 id="rfc.section.8.2"><a href="#rfc.section.8.2">8.2</a>&nbsp;<a id="agent-driven.negotiation" href="#agent-driven.negotiation">Agent-driven Negotiation</a></h2>
     
    25362535         server-driven negotiation.
    25372536      </p>
     2537      <h2 id="rfc.section.8.3"><a href="#rfc.section.8.3">8.3</a>&nbsp;<a id="quality.values" href="#quality.values">Quality Values</a></h2>
     2538      <p id="rfc.section.8.3.p.1">Many of the request header fields for server-driven content negotiation use a common parameter, named "q", to assign a relative
     2539         "weight" to the preference for that associated kind of content. This weight is referred to as a "quality value" (or "qvalue")
     2540         because the same parameter name is often used within server configurations to assign a weight to the relative quality of the
     2541         various representations that can be selected for a resource.
     2542      </p>
     2543      <p id="rfc.section.8.3.p.2">The weight is normalized to a real number in the range 0 through 1, where 0.001 is the least preferred and 1 is the most preferred;
     2544         a value of 0 means "not acceptable". If no "q" parameter is present, the default weight is 1.
     2545      </p>
     2546      <div id="rfc.figure.u.22"></div><pre class="inline"><span id="rfc.iref.g.31"></span><span id="rfc.iref.g.32"></span>  <a href="#quality.values" class="smpl">weight</a> = <a href="#imported.abnf" class="smpl">OWS</a> ";" <a href="#imported.abnf" class="smpl">OWS</a> "q=" <a href="#quality.values" class="smpl">qvalue</a>
     2547  <a href="#quality.values" class="smpl">qvalue</a> = ( "0" [ "." 0*3<a href="#imported.abnf" class="smpl">DIGIT</a> ] )
     2548         / ( "1" [ "." 0*3("0") ] )
     2549</pre><p id="rfc.section.8.3.p.4">A sender of qvalue <em class="bcp14">MUST NOT</em> generate more than three digits after the decimal point. User configuration of these values ought to be limited in the same
     2550         fashion.
     2551      </p>
    25382552      <h1 id="rfc.section.9"><a href="#rfc.section.9">9.</a>&nbsp;<a id="header.field.definitions" href="#header.field.definitions">Header Field Definitions</a></h1>
    25392553      <p id="rfc.section.9.p.1">This section defines the syntax and semantics of HTTP/1.1 header fields related to request and response semantics and to the
     
    25472561         for an in-line image.
    25482562      </p>
    2549       <div id="rfc.figure.u.22"></div><pre class="inline"><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>  <a href="#header.accept" class="smpl">Accept</a> = #( <a href="#header.accept" class="smpl">media-range</a> [ <a href="#header.accept" class="smpl">accept-params</a> ] )
     2563      <div id="rfc.figure.u.23"></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>  <a href="#header.accept" class="smpl">Accept</a> = #( <a href="#header.accept" class="smpl">media-range</a> [ <a href="#header.accept" class="smpl">accept-params</a> ] )
    25502564 
    25512565  <a href="#header.accept" class="smpl">media-range</a>    = ( "*/*"
     
    25532567                   / ( <a href="#media.types" class="smpl">type</a> "/" <a href="#media.types" class="smpl">subtype</a> )
    25542568                   ) *( <a href="#imported.abnf" class="smpl">OWS</a> ";" <a href="#imported.abnf" class="smpl">OWS</a> <a href="#rule.parameter" class="smpl">parameter</a> )
    2555   <a href="#header.accept" class="smpl">accept-params</a>  = <a href="#imported.abnf" class="smpl">OWS</a> ";" <a href="#imported.abnf" class="smpl">OWS</a> "q=" <a href="#imported.abnf" class="smpl">qvalue</a> *( <a href="#header.accept" class="smpl">accept-ext</a> )
     2569  <a href="#header.accept" class="smpl">accept-params</a>  = <a href="#quality.values" class="smpl">weight</a> *( <a href="#header.accept" class="smpl">accept-ext</a> )
    25562570  <a href="#header.accept" class="smpl">accept-ext</a>     = <a href="#imported.abnf" class="smpl">OWS</a> ";" <a href="#imported.abnf" class="smpl">OWS</a> <a href="#imported.abnf" class="smpl">token</a> [ "=" <a href="#imported.abnf" class="smpl">word</a> ]
    25572571</pre><p id="rfc.section.9.1.p.3">The asterisk "*" character is used to group media types into ranges, with "*/*" indicating all media types and "type/*" indicating
    25582572         all subtypes of that type. The media-range <em class="bcp14">MAY</em> include media type parameters that are applicable to that range.
    25592573      </p>
    2560       <p id="rfc.section.9.1.p.4">Each media-range <em class="bcp14">MAY</em> be followed by one or more accept-params, beginning with the "q" parameter for indicating a relative quality factor. The first
    2561          "q" parameter (if any) separates the media-range parameter(s) from the accept-params. Quality factors allow the user or user
    2562          agent to indicate the relative degree of preference for that media-range, using the qvalue scale from 0 to 1 (<a href="p1-messaging.html#quality.values" title="Quality Values">Section 4.3.1</a> of <a href="#Part1" id="rfc.xref.Part1.35"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>). The default value is q=1.
     2574      <p id="rfc.section.9.1.p.4">Each media-range <em class="bcp14">MAY</em> be followed by one or more accept-params, beginning with the "q" parameter for indicating a relative weight, as defined in <a href="#quality.values" title="Quality Values">Section&nbsp;8.3</a>. The first "q" parameter (if any) separates the media-range parameter(s) from the accept-params.
    25632575      </p>
    25642576      <div class="note" id="rfc.section.9.1.p.5">
     
    25702582      </div>
    25712583      <p id="rfc.section.9.1.p.6">The example</p>
    2572       <div id="rfc.figure.u.23"></div><pre class="text">  Accept: audio/*; q=0.2, audio/basic
     2584      <div id="rfc.figure.u.24"></div><pre class="text">  Accept: audio/*; q=0.2, audio/basic
    25732585</pre><p id="rfc.section.9.1.p.8"> <em class="bcp14">SHOULD</em> be interpreted as "I prefer audio/basic, but send me any audio type if it is the best available after an 80% mark-down in
    25742586         quality".
     
    25792591      </p>
    25802592      <p id="rfc.section.9.1.p.10">A more elaborate example is</p>
    2581       <div id="rfc.figure.u.24"></div><pre class="text">  Accept: text/plain; q=0.5, text/html,
     2593      <div id="rfc.figure.u.25"></div><pre class="text">  Accept: text/plain; q=0.5, text/html,
    25822594          text/x-dvi; q=0.8, text/x-c
    25832595</pre><p id="rfc.section.9.1.p.12">Verbally, this would be interpreted as "text/html and text/x-c are the preferred media types, but if they do not exist, then
     
    25872599         to a given type, the most specific reference has precedence. For example,
    25882600      </p>
    2589       <div id="rfc.figure.u.25"></div><pre class="text">  Accept: text/*, text/plain, text/plain;format=flowed, */*
     2601      <div id="rfc.figure.u.26"></div><pre class="text">  Accept: text/*, text/plain, text/plain;format=flowed, */*
    25902602</pre><p id="rfc.section.9.1.p.15">have the following precedence: </p>
    25912603      <ol>
     
    25982610         which matches that type. For example,
    25992611      </p>
    2600       <div id="rfc.figure.u.26"></div><pre class="text">  Accept: text/*;q=0.3, text/html;q=0.7, text/html;level=1,
     2612      <div id="rfc.figure.u.27"></div><pre class="text">  Accept: text/*;q=0.3, text/html;q=0.7, text/html;level=1,
    26012613          text/html;level=2;q=0.4, */*;q=0.5
    26022614</pre><p id="rfc.section.9.1.p.18">would cause the following values to be associated:</p>
     
    26472659         that capability to a server which is capable of representing documents in those character encodings.
    26482660      </p>
    2649       <div id="rfc.figure.u.27"></div><pre class="inline"><span id="rfc.iref.g.35"></span>  <a href="#header.accept-charset" class="smpl">Accept-Charset</a> = 1#( ( <a href="#rule.charset" class="smpl">charset</a> / "*" )
    2650                          [ <a href="#imported.abnf" class="smpl">OWS</a> ";" <a href="#imported.abnf" class="smpl">OWS</a> "q=" <a href="#imported.abnf" class="smpl">qvalue</a> ] )
    2651 </pre><p id="rfc.section.9.2.p.3">Character encoding values (a.k.a., charsets) are described in <a href="#character.sets" title="Character Encodings (charset)">Section&nbsp;5.3</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
    2652          example is
    2653       </p>
    2654       <div id="rfc.figure.u.28"></div><pre class="text">  Accept-Charset: iso-8859-5, unicode-1-1;q=0.8
     2661      <div id="rfc.figure.u.28"></div><pre class="inline"><span id="rfc.iref.g.37"></span>  <a href="#header.accept-charset" class="smpl">Accept-Charset</a> = 1#( ( <a href="#rule.charset" class="smpl">charset</a> / "*" ) [ <a href="#quality.values" class="smpl">weight</a> ] )
     2662</pre><p id="rfc.section.9.2.p.3">Character encoding values (a.k.a., charsets) are described in <a href="#character.sets" title="Character Encodings (charset)">Section&nbsp;5.3</a>. Each charset <em class="bcp14">MAY</em> be given an associated quality value which represents the user's preference for that charset, as defined in <a href="#quality.values" title="Quality Values">Section&nbsp;8.3</a>. An example is
     2663      </p>
     2664      <div id="rfc.figure.u.29"></div><pre class="text">  Accept-Charset: iso-8859-5, unicode-1-1;q=0.8
    26552665</pre><p id="rfc.section.9.2.p.5">The special value "*", if present in the Accept-Charset field, matches every character encoding which is not mentioned elsewhere
    2656          in the Accept-Charset field. If no "*" is present in an Accept-Charset field, then all character encodings not explicitly
    2657          mentioned get a quality value of 0.
    2658       </p>
    2659       <p id="rfc.section.9.2.p.6">A request without any Accept-Charset header field implies that the user agent will accept any character encoding in response.
    2660          If an Accept-Charset header field is present in a request and none of the available representations for the response have
     2666         in the Accept-Charset field. If no "*" is present in an Accept-Charset field, then any character encodings not explicitly
     2667         mentioned in the field are considered "not acceptable" to the client.
     2668      </p>
     2669      <p id="rfc.section.9.2.p.6">A request without any Accept-Charset header field implies that the user agent will accept any character encoding in response.</p>
     2670      <p id="rfc.section.9.2.p.7">If an Accept-Charset header field is present in a request and none of the available representations for the response have
    26612671         a character encoding that is listed as acceptable, the origin server <em class="bcp14">MAY</em> either honor the Accept-Charset header field by sending a <a href="#status.406" class="smpl">406 (Not Acceptable)</a> response or disregard the Accept-Charset header field by treating the response as if it is not subject to content negotiation.
    26622672      </p>
     
    26672677         no encoding is preferred.
    26682678      </p>
    2669       <div id="rfc.figure.u.29"></div><pre class="inline"><span id="rfc.iref.g.36"></span><span id="rfc.iref.g.37"></span>  <a href="#header.accept-encoding" class="smpl">Accept-Encoding</a>  = #( <a href="#header.accept-encoding" class="smpl">codings</a> [ <a href="#imported.abnf" class="smpl">OWS</a> ";" <a href="#imported.abnf" class="smpl">OWS</a> "q=" <a href="#imported.abnf" class="smpl">qvalue</a> ] )
     2679      <div id="rfc.figure.u.30"></div><pre class="inline"><span id="rfc.iref.g.38"></span><span id="rfc.iref.g.39"></span>  <a href="#header.accept-encoding" class="smpl">Accept-Encoding</a>  = #( <a href="#header.accept-encoding" class="smpl">codings</a> [ <a href="#quality.values" class="smpl">weight</a> ] )
    26702680  <a href="#header.accept-encoding" class="smpl">codings</a>          = <a href="#content.codings" class="smpl">content-coding</a> / "identity" / "*"
    2671 </pre><p id="rfc.section.9.3.p.3">Each codings value <em class="bcp14">MAY</em> be given an associated quality value which represents the preference for that encoding. The default value is q=1.
     2681</pre><p id="rfc.section.9.3.p.3">Each codings value <em class="bcp14">MAY</em> be given an associated quality value which represents the preference for that encoding, as defined in <a href="#quality.values" title="Quality Values">Section&nbsp;8.3</a>.
    26722682      </p>
    26732683      <p id="rfc.section.9.3.p.4">For example,</p>
    2674       <div id="rfc.figure.u.30"></div><pre class="text">  Accept-Encoding: compress, gzip
     2684      <div id="rfc.figure.u.31"></div><pre class="text">  Accept-Encoding: compress, gzip
    26752685  Accept-Encoding:
    26762686  Accept-Encoding: *
     
    26882698         </li>
    26892699         <li>If the representation's content-coding is one of the content-codings listed in the Accept-Encoding field, then it is acceptable
    2690             unless it is accompanied by a qvalue of 0. (As defined in <a href="p1-messaging.html#quality.values" title="Quality Values">Section 4.3.1</a> of <a href="#Part1" id="rfc.xref.Part1.36"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, a qvalue of 0 means "not acceptable".)
     2700            unless it is accompanied by a qvalue of 0. (As defined in <a href="#quality.values" title="Quality Values">Section&nbsp;8.3</a>, a qvalue of 0 means "not acceptable".)
    26912701         </li>
    26922702         <li>If multiple content-codings are acceptable, then the acceptable content-coding with the highest non-zero qvalue is preferred.</li>
     
    26962706         response have a content-coding that is listed as acceptable, the origin server <em class="bcp14">SHOULD</em> send a response without any content-coding.
    26972707      </p>
    2698       <p id="rfc.section.9.3.p.8">A request without an Accept-Encoding header field implies that the user agent will accept any content-coding in response,
    2699          but a representation without content-coding is preferred for compatibility with the widest variety of user agents.
    2700       </p>
     2708      <p id="rfc.section.9.3.p.8">A request without an Accept-Encoding header field implies that the user agent will accept any content-coding in response.</p>
    27012709      <div class="note" id="rfc.section.9.3.p.9">
    27022710         <p> <b>Note:</b> Most HTTP/1.0 applications do not recognize or obey qvalues associated with content-codings. This means that qvalues will
     
    27102718         in the response. Language tags are defined in <a href="#language.tags" title="Language Tags">Section&nbsp;5.6</a>.
    27112719      </p>
    2712       <div id="rfc.figure.u.31"></div><pre class="inline"><span id="rfc.iref.g.38"></span><span id="rfc.iref.g.39"></span>  <a href="#header.accept-language" class="smpl">Accept-Language</a> =
    2713                     1#( <a href="#header.accept-language" class="smpl">language-range</a> [ <a href="#imported.abnf" class="smpl">OWS</a> ";" <a href="#imported.abnf" class="smpl">OWS</a> "q=" <a href="#imported.abnf" class="smpl">qvalue</a> ] )
     2720      <div id="rfc.figure.u.32"></div><pre class="inline"><span id="rfc.iref.g.40"></span><span id="rfc.iref.g.41"></span>  <a href="#header.accept-language" class="smpl">Accept-Language</a> = 1#( <a href="#header.accept-language" class="smpl">language-range</a> [ <a href="#quality.values" class="smpl">weight</a> ] )
    27142721  <a href="#header.accept-language" class="smpl">language-range</a>  =
    27152722            &lt;language-range, defined in <a href="#RFC4647" id="rfc.xref.RFC4647.1"><cite title="Matching of Language Tags">[RFC4647]</cite></a>, <a href="http://tools.ietf.org/html/rfc4647#section-2.1">Section 2.1</a>&gt;
    27162723</pre><p id="rfc.section.9.4.p.3">Each language-range can be given an associated quality value which represents an estimate of the user's preference for the
    2717          languages specified by that range. The quality value defaults to "q=1". For example,
    2718       </p>
    2719       <div id="rfc.figure.u.32"></div><pre class="text">  Accept-Language: da, en-gb;q=0.8, en;q=0.7
     2724         languages specified by that range, as defined in <a href="#quality.values" title="Quality Values">Section&nbsp;8.3</a>. For example,
     2725      </p>
     2726      <div id="rfc.figure.u.33"></div><pre class="text">  Accept-Language: da, en-gb;q=0.8, en;q=0.7
    27202727</pre><p id="rfc.section.9.4.p.5">would mean: "I prefer Danish, but will accept British English and other types of English". (see also <a href="http://tools.ietf.org/html/rfc4647#section-2.3">Section 2.3</a> of <a href="#RFC4647" id="rfc.xref.RFC4647.2"><cite title="Matching of Language Tags">[RFC4647]</cite></a>)
    27212728      </p>
     
    27452752         is strictly to inform the recipient of valid request methods associated with the resource.
    27462753      </p>
    2747       <div id="rfc.figure.u.33"></div><pre class="inline"><span id="rfc.iref.g.40"></span>  <a href="#header.allow" class="smpl">Allow</a> = #<a href="#methods" class="smpl">method</a>
     2754      <div id="rfc.figure.u.34"></div><pre class="inline"><span id="rfc.iref.g.42"></span>  <a href="#header.allow" class="smpl">Allow</a> = #<a href="#methods" class="smpl">method</a>
    27482755</pre><p id="rfc.section.9.5.p.3">Example of use:</p>
    2749       <div id="rfc.figure.u.34"></div><pre class="text">  Allow: GET, HEAD, PUT
     2756      <div id="rfc.figure.u.35"></div><pre class="text">  Allow: GET, HEAD, PUT
    27502757</pre><p id="rfc.section.9.5.p.5">The actual set of allowed methods is defined by the origin server at the time of each request.</p>
    27512758      <p id="rfc.section.9.5.p.6">A proxy <em class="bcp14">MUST NOT</em> modify the Allow header field — it does not need to understand all the methods specified in order to handle them according
     
    27592766         its underlying media type.
    27602767      </p>
    2761       <div id="rfc.figure.u.35"></div><pre class="inline"><span id="rfc.iref.g.41"></span>  <a href="#header.content-encoding" class="smpl">Content-Encoding</a> = 1#<a href="#content.codings" class="smpl">content-coding</a>
     2768      <div id="rfc.figure.u.36"></div><pre class="inline"><span id="rfc.iref.g.43"></span>  <a href="#header.content-encoding" class="smpl">Content-Encoding</a> = 1#<a href="#content.codings" class="smpl">content-coding</a>
    27622769</pre><p id="rfc.section.9.6.p.3">Content codings are defined in <a href="#content.codings" title="Content Codings">Section&nbsp;5.4</a>. An example of its use is
    27632770      </p>
    2764       <div id="rfc.figure.u.36"></div><pre class="text">  Content-Encoding: gzip
     2771      <div id="rfc.figure.u.37"></div><pre class="text">  Content-Encoding: gzip
    27652772</pre><p id="rfc.section.9.6.p.5">The content-coding is a characteristic of the representation. Typically, the representation body is stored with this encoding
    27662773         and is only decoded before rendering or analogous usage. However, a transforming proxy <em class="bcp14">MAY</em> modify the content-coding if the new coding is known to be acceptable to the recipient, unless the "no-transform" cache-control
     
    27862793         that this might not be equivalent to all the languages used within the representation.
    27872794      </p>
    2788       <div id="rfc.figure.u.37"></div><pre class="inline"><span id="rfc.iref.g.42"></span>  <a href="#header.content-language" class="smpl">Content-Language</a> = 1#<a href="#language.tags" class="smpl">language-tag</a>
     2795      <div id="rfc.figure.u.38"></div><pre class="inline"><span id="rfc.iref.g.44"></span>  <a href="#header.content-language" class="smpl">Content-Language</a> = 1#<a href="#language.tags" class="smpl">language-tag</a>
    27892796</pre><p id="rfc.section.9.7.p.3">Language tags are defined in <a href="#language.tags" title="Language Tags">Section&nbsp;5.6</a>. The primary purpose of Content-Language is to allow a user to identify and differentiate representations according to the
    27902797         user's own preferred language. Thus, if the body content is intended only for a Danish-literate audience, the appropriate
    27912798         field is
    27922799      </p>
    2793       <div id="rfc.figure.u.38"></div><pre class="text">  Content-Language: da
     2800      <div id="rfc.figure.u.39"></div><pre class="text">  Content-Language: da
    27942801</pre><p id="rfc.section.9.7.p.5">If no Content-Language is specified, the default is that the content is intended for all language audiences. This might mean
    27952802         that the sender does not consider it to be specific to any natural language, or that the sender does not know for which language
     
    27992806         simultaneously in the original Maori and English versions, would call for
    28002807      </p>
    2801       <div id="rfc.figure.u.39"></div><pre class="text">  Content-Language: mi, en
     2808      <div id="rfc.figure.u.40"></div><pre class="text">  Content-Language: mi, en
    28022809</pre><p id="rfc.section.9.7.p.8">However, just because multiple languages are present within a representation does not mean that it is intended for multiple
    28032810         linguistic audiences. An example would be a beginner's language primer, such as "A First Lesson in Latin", which is clearly
     
    28122819         message. In other words, if one were to perform a GET on this URI at the time of this message's generation, then a <a href="#status.200" class="smpl">200 (OK)</a> response would contain the same representation that is enclosed as payload in this message.
    28132820      </p>
    2814       <div id="rfc.figure.u.40"></div><pre class="inline"><span id="rfc.iref.g.43"></span>  <a href="#header.content-location" class="smpl">Content-Location</a> = <a href="#imported.abnf" class="smpl">absolute-URI</a> / <a href="#imported.abnf" class="smpl">partial-URI</a>
    2815 </pre><p id="rfc.section.9.8.p.3">The Content-Location value is not a replacement for the effective Request URI (<a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 5.5</a> of <a href="#Part1" id="rfc.xref.Part1.37"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>). It is representation metadata. It has the same syntax and semantics as the header field of the same name defined for MIME
     2821      <div id="rfc.figure.u.41"></div><pre class="inline"><span id="rfc.iref.g.45"></span>  <a href="#header.content-location" class="smpl">Content-Location</a> = <a href="#imported.abnf" class="smpl">absolute-URI</a> / <a href="#imported.abnf" class="smpl">partial-URI</a>
     2822</pre><p id="rfc.section.9.8.p.3">The Content-Location value is not a replacement for the effective Request URI (<a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 5.5</a> of <a href="#Part1" id="rfc.xref.Part1.34"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>). It is representation metadata. It has the same syntax and semantics as the header field of the same name defined for MIME
    28162823         body parts in <a href="http://tools.ietf.org/html/rfc2557#section-4">Section 4</a> of <a href="#RFC2557" id="rfc.xref.RFC2557.1"><cite title="MIME Encapsulation of Aggregate Documents, such as HTML (MHTML)">[RFC2557]</cite></a>. However, its appearance in an HTTP message has some special implications for HTTP recipients.
    28172824      </p>
     
    28522859         the media type is that which would have been sent had the request been a GET.
    28532860      </p>
    2854       <div id="rfc.figure.u.41"></div><pre class="inline"><span id="rfc.iref.g.44"></span>  <a href="#header.content-type" class="smpl">Content-Type</a> = <a href="#media.types" class="smpl">media-type</a>
     2861      <div id="rfc.figure.u.42"></div><pre class="inline"><span id="rfc.iref.g.46"></span>  <a href="#header.content-type" class="smpl">Content-Type</a> = <a href="#media.types" class="smpl">media-type</a>
    28552862</pre><p id="rfc.section.9.9.p.3">Media types are defined in <a href="#media.types" title="Media Types">Section&nbsp;5.5</a>. An example of the field is
    28562863      </p>
    2857       <div id="rfc.figure.u.42"></div><pre class="text">  Content-Type: text/html; charset=ISO-8859-4
     2864      <div id="rfc.figure.u.43"></div><pre class="text">  Content-Type: text/html; charset=ISO-8859-4
    28582865</pre><p id="rfc.section.9.9.p.5">Further discussion of Content-Type is provided in <a href="#representation.data" title="Representation Data">Section&nbsp;7.3</a>.
    28592866      </p>
     
    28642871         Origination Date Field (orig-date) defined in <a href="http://tools.ietf.org/html/rfc5322#section-3.6.1">Section 3.6.1</a> of <a href="#RFC5322" id="rfc.xref.RFC5322.2"><cite title="Internet Message Format">[RFC5322]</cite></a>. The field value is an HTTP-date, as defined in <a href="#http.date" title="Date/Time Formats">Section&nbsp;5.1</a>; it <em class="bcp14">MUST</em> be sent in rfc1123-date format.
    28652872      </p>
    2866       <div id="rfc.figure.u.43"></div><pre class="inline"><span id="rfc.iref.g.45"></span>  <a href="#header.date" class="smpl">Date</a> = <a href="#http.date" class="smpl">HTTP-date</a>
     2873      <div id="rfc.figure.u.44"></div><pre class="inline"><span id="rfc.iref.g.47"></span>  <a href="#header.date" class="smpl">Date</a> = <a href="#http.date" class="smpl">HTTP-date</a>
    28672874</pre><p id="rfc.section.9.10.p.3">An example is</p>
    2868       <div id="rfc.figure.u.44"></div><pre class="text">  Date: Tue, 15 Nov 1994 08:12:31 GMT
     2875      <div id="rfc.figure.u.45"></div><pre class="text">  Date: Tue, 15 Nov 1994 08:12:31 GMT
    28692876</pre><p id="rfc.section.9.10.p.5">Origin servers <em class="bcp14">MUST</em> include a Date header field in all responses, except in these cases:
    28702877      </p>
     
    28922899      <h2 id="rfc.section.9.11"><a href="#rfc.section.9.11">9.11</a>&nbsp;<a id="header.expect" href="#header.expect">Expect</a></h2>
    28932900      <p id="rfc.section.9.11.p.1">The "Expect" header field is used to indicate that particular server behaviors are required by the client.</p>
    2894       <div id="rfc.figure.u.45"></div><pre class="inline"><span id="rfc.iref.g.46"></span><span id="rfc.iref.g.47"></span><span id="rfc.iref.g.48"></span><span id="rfc.iref.g.49"></span><span id="rfc.iref.g.50"></span>  <a href="#header.expect" class="smpl">Expect</a>       = 1#<a href="#header.expect" class="smpl">expectation</a>
     2901      <div id="rfc.figure.u.46"></div><pre class="inline"><span id="rfc.iref.g.48"></span><span id="rfc.iref.g.49"></span><span id="rfc.iref.g.50"></span><span id="rfc.iref.g.51"></span><span id="rfc.iref.g.52"></span>  <a href="#header.expect" class="smpl">Expect</a>       = 1#<a href="#header.expect" class="smpl">expectation</a>
    28952902 
    28962903  <a href="#header.expect" class="smpl">expectation</a>  = <a href="#header.expect" class="smpl">expect-name</a> [ <a href="#imported.abnf" class="smpl">BWS</a> "=" <a href="#imported.abnf" class="smpl">BWS</a> <a href="#header.expect" class="smpl">expect-value</a> ]
     
    29042911      </p>
    29052912      <p id="rfc.section.9.11.p.4">The only expectation defined by this specification is:</p>
    2906       <p id="rfc.section.9.11.p.5"><span id="rfc.iref.139"></span><span id="rfc.iref.e.2"></span> 100-continue
     2913      <p id="rfc.section.9.11.p.5"><span id="rfc.iref.141"></span><span id="rfc.iref.e.2"></span> 100-continue
    29072914      </p>
    29082915      <ul class="empty">
    2909          <li>The "100-continue" expectation is defined <a href="p1-messaging.html#use.of.the.100.status" title="Use of the 100 (Continue) Status">Section 6.4.3</a> of <a href="#Part1" id="rfc.xref.Part1.38"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>. It does not support any expect-params.
     2916         <li>The "100-continue" expectation is defined <a href="p1-messaging.html#use.of.the.100.status" title="Use of the 100 (Continue) Status">Section 6.4.3</a> of <a href="#Part1" id="rfc.xref.Part1.35"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>. It does not support any expect-params.
    29102917         </li>
    29112918      </ul>
     
    29202927      <p id="rfc.section.9.12.p.1">The "From" 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/rfc5322#section-3.4">Section 3.4</a> of <a href="#RFC5322" id="rfc.xref.RFC5322.3"><cite title="Internet Message Format">[RFC5322]</cite></a>:
    29212928      </p>
    2922       <div id="rfc.figure.u.46"></div><pre class="inline"><span id="rfc.iref.g.51"></span>  <a href="#header.from" class="smpl">From</a>    = <a href="#header.from" class="smpl">mailbox</a>
     2929      <div id="rfc.figure.u.47"></div><pre class="inline"><span id="rfc.iref.g.53"></span>  <a href="#header.from" class="smpl">From</a>    = <a href="#header.from" class="smpl">mailbox</a>
    29232930 
    29242931  <a href="#header.from" class="smpl">mailbox</a> = &lt;mailbox, defined in <a href="#RFC5322" id="rfc.xref.RFC5322.4"><cite title="Internet Message Format">[RFC5322]</cite></a>, <a href="http://tools.ietf.org/html/rfc5322#section-3.4">Section 3.4</a>&gt;
    29252932</pre><p id="rfc.section.9.12.p.3">An example is:</p>
    2926       <div id="rfc.figure.u.47"></div><pre class="text">  From: webmaster@example.org
     2933      <div id="rfc.figure.u.48"></div><pre class="text">  From: webmaster@example.org
    29272934</pre><p id="rfc.section.9.12.p.5">This header field <em class="bcp14">MAY</em> be used for logging purposes and as a means for identifying the source of invalid or unwanted requests. It <em class="bcp14">SHOULD NOT</em> be used as an insecure form of access protection. The interpretation of this field is that the request is being performed
    29282935         on behalf of the person given, who accepts responsibility for the method performed. In particular, robot agents <em class="bcp14">SHOULD</em> include this header field so that the person responsible for running the robot can be contacted if problems occur on the receiving
     
    29412948      <p id="rfc.section.9.13.p.1">The "Location" header field <em class="bcp14">MAY</em> be sent in responses to refer to a specific resource in accordance with the semantics of the status code.
    29422949      </p>
    2943       <div id="rfc.figure.u.48"></div><pre class="inline"><span id="rfc.iref.g.52"></span>  <a href="#header.location" class="smpl">Location</a> = <a href="#imported.abnf" class="smpl">URI-reference</a>
     2950      <div id="rfc.figure.u.49"></div><pre class="inline"><span id="rfc.iref.g.54"></span>  <a href="#header.location" class="smpl">Location</a> = <a href="#imported.abnf" class="smpl">URI-reference</a>
    29442951</pre><p id="rfc.section.9.13.p.3">For <a href="#status.201" class="smpl">201 (Created)</a> responses, the Location is the URI of the new resource which was created by the request. For <a href="#status.3xx" class="smpl">3xx (Redirection)</a> responses, the location <em class="bcp14">SHOULD</em> indicate the server's preferred URI for automatic redirection to the resource.
    29452952      </p>
     
    29472954         then the original URI's fragment identifier is added to the final value.
    29482955      </p>
    2949       <div id="rfc.figure.u.49"></div>
     2956      <div id="rfc.figure.u.50"></div>
    29502957      <p>For example, the original URI "http://www.example.org/~tim", combined with a field value given as:</p>  <pre class="text">  Location: /pub/WWW/People.html#tim
    29512958</pre>  <p>would result in a final value of "http://www.example.org/pub/WWW/People.html#tim"</p>
    2952       <div id="rfc.figure.u.50"></div>
     2959      <div id="rfc.figure.u.51"></div>
    29532960      <p>An original URI "http://www.example.org/index.html#larry", combined with a field value given as:</p>  <pre class="text">  Location: http://www.example.net/index.html
    29542961</pre>  <p>would result in a final value of "http://www.example.net/index.html#larry", preserving the original fragment identifier.</p>
     
    29732980         to trace a request which appears to be failing or looping mid-chain.
    29742981      </p>
    2975       <div id="rfc.figure.u.51"></div><pre class="inline"><span id="rfc.iref.g.53"></span>  <a href="#header.max-forwards" class="smpl">Max-Forwards</a> = 1*<a href="#imported.abnf" class="smpl">DIGIT</a>
     2982      <div id="rfc.figure.u.52"></div><pre class="inline"><span id="rfc.iref.g.55"></span>  <a href="#header.max-forwards" class="smpl">Max-Forwards</a> = 1*<a href="#imported.abnf" class="smpl">DIGIT</a>
    29762983</pre><p id="rfc.section.9.14.p.3">The Max-Forwards value is a decimal integer indicating the remaining number of times this request message can be forwarded.</p>
    29772984      <p id="rfc.section.9.14.p.4">Each 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).
     
    29933000         non-HTTP URIs (e.g., FTP).
    29943001      </p>
    2995       <div id="rfc.figure.u.52"></div><pre class="inline"><span id="rfc.iref.g.54"></span>  <a href="#header.referer" class="smpl">Referer</a> = <a href="#imported.abnf" class="smpl">absolute-URI</a> / <a href="#imported.abnf" class="smpl">partial-URI</a>
     3002      <div id="rfc.figure.u.53"></div><pre class="inline"><span id="rfc.iref.g.56"></span>  <a href="#header.referer" class="smpl">Referer</a> = <a href="#imported.abnf" class="smpl">absolute-URI</a> / <a href="#imported.abnf" class="smpl">partial-URI</a>
    29963003</pre><p id="rfc.section.9.15.p.5">Example:</p>
    2997       <div id="rfc.figure.u.53"></div><pre class="text">  Referer: http://www.example.org/hypertext/Overview.html
     3004      <div id="rfc.figure.u.54"></div><pre class="text">  Referer: http://www.example.org/hypertext/Overview.html
    29983005</pre><p id="rfc.section.9.15.p.7">If the field value is a relative URI, it <em class="bcp14">SHOULD</em> be interpreted relative to the effective request URI. The URI <em class="bcp14">MUST NOT</em> include a fragment. See <a href="#encoding.sensitive.information.in.uris" title="Encoding Sensitive Information in URIs">Section&nbsp;11.2</a> for security considerations.
    29993006      </p>
     
    30053012      </p>
    30063013      <p id="rfc.section.9.16.p.2">The value of this field can be either an HTTP-date or an integer number of seconds (in decimal) after the time of the response.</p>
    3007       <div id="rfc.figure.u.54"></div><pre class="inline"><span id="rfc.iref.g.55"></span>  <a href="#header.retry-after" class="smpl">Retry-After</a> = <a href="#http.date" class="smpl">HTTP-date</a> / <a href="#rule.delta-seconds" class="smpl">delta-seconds</a>
     3014      <div id="rfc.figure.u.55"></div><pre class="inline"><span id="rfc.iref.g.57"></span>  <a href="#header.retry-after" class="smpl">Retry-After</a> = <a href="#http.date" class="smpl">HTTP-date</a> / <a href="#rule.delta-seconds" class="smpl">delta-seconds</a>
    30083015</pre><div id="rule.delta-seconds">
    30093016         <p id="rfc.section.9.16.p.4">  Time spans are non-negative decimal integers, representing time in seconds.</p>
    30103017      </div>
    3011       <div id="rfc.figure.u.55"></div><pre class="inline"><span id="rfc.iref.g.56"></span>  <a href="#rule.delta-seconds" class="smpl">delta-seconds</a>  = 1*<a href="#imported.abnf" class="smpl">DIGIT</a>
     3018      <div id="rfc.figure.u.56"></div><pre class="inline"><span id="rfc.iref.g.58"></span>  <a href="#rule.delta-seconds" class="smpl">delta-seconds</a>  = 1*<a href="#imported.abnf" class="smpl">DIGIT</a>
    30123019</pre><p id="rfc.section.9.16.p.6">Two examples of its use are</p>
    3013       <div id="rfc.figure.u.56"></div><pre class="text">  Retry-After: Fri, 31 Dec 1999 23:59:59 GMT
     3020      <div id="rfc.figure.u.57"></div><pre class="text">  Retry-After: Fri, 31 Dec 1999 23:59:59 GMT
    30143021  Retry-After: 120
    30153022</pre><p id="rfc.section.9.16.p.8">In the latter example, the delay is 2 minutes.</p>
     
    30183025      <h2 id="rfc.section.9.17"><a href="#rfc.section.9.17">9.17</a>&nbsp;<a id="header.server" href="#header.server">Server</a></h2>
    30193026      <p id="rfc.section.9.17.p.1">The "Server" header field contains information about the software used by the origin server to handle the request.</p>
    3020       <p id="rfc.section.9.17.p.2">The field can contain multiple product tokens (<a href="#product.tokens" title="Product Tokens">Section&nbsp;5.2</a>) and comments (<a href="p1-messaging.html#header.fields" title="Header Fields">Section 3.2</a> of <a href="#Part1" id="rfc.xref.Part1.39"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>) identifying the server and any significant subproducts. The product tokens are listed in order of their significance for
     3027      <p id="rfc.section.9.17.p.2">The field can contain multiple product tokens (<a href="#product.tokens" title="Product Tokens">Section&nbsp;5.2</a>) and comments (<a href="p1-messaging.html#header.fields" title="Header Fields">Section 3.2</a> of <a href="#Part1" id="rfc.xref.Part1.36"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>) identifying the server and any significant subproducts. The product tokens are listed in order of their significance for
    30213028         identifying the application.
    30223029      </p>
    3023       <div id="rfc.figure.u.57"></div><pre class="inline"><span id="rfc.iref.g.57"></span>  <a href="#header.server" class="smpl">Server</a> = <a href="#product.tokens" class="smpl">product</a> *( <a href="#imported.abnf" class="smpl">RWS</a> ( <a href="#product.tokens" class="smpl">product</a> / <a href="#imported.abnf" class="smpl">comment</a> ) )
     3030      <div id="rfc.figure.u.58"></div><pre class="inline"><span id="rfc.iref.g.59"></span>  <a href="#header.server" class="smpl">Server</a> = <a href="#product.tokens" class="smpl">product</a> *( <a href="#imported.abnf" class="smpl">RWS</a> ( <a href="#product.tokens" class="smpl">product</a> / <a href="#imported.abnf" class="smpl">comment</a> ) )
    30243031</pre><p id="rfc.section.9.17.p.4">Example:</p>
    3025       <div id="rfc.figure.u.58"></div><pre class="text">  Server: CERN/3.0 libwww/2.17
    3026 </pre><p id="rfc.section.9.17.p.6">If the response is being forwarded through a proxy, the proxy application <em class="bcp14">MUST NOT</em> modify the <a href="#header.server" class="smpl">Server</a> header field. Instead, it <em class="bcp14">MUST</em> include a <a href="p1-messaging.html#header.via" class="smpl">Via</a> field (as described in <a href="p1-messaging.html#header.via" title="Via">Section 6.2</a> of <a href="#Part1" id="rfc.xref.Part1.40"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>).
     3032      <div id="rfc.figure.u.59"></div><pre class="text">  Server: CERN/3.0 libwww/2.17
     3033</pre><p id="rfc.section.9.17.p.6">If the response is being forwarded through a proxy, the proxy application <em class="bcp14">MUST NOT</em> modify the <a href="#header.server" class="smpl">Server</a> header field. Instead, it <em class="bcp14">MUST</em> include a <a href="p1-messaging.html#header.via" class="smpl">Via</a> field (as described in <a href="p1-messaging.html#header.via" title="Via">Section 6.2</a> of <a href="#Part1" id="rfc.xref.Part1.37"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>).
    30273034      </p>
    30283035      <div class="note" id="rfc.section.9.17.p.7">
     
    30403047         user agent limitations.
    30413048      </p>
    3042       <p id="rfc.section.9.18.p.3">The field can contain multiple product tokens (<a href="#product.tokens" title="Product Tokens">Section&nbsp;5.2</a>) and comments (<a href="p1-messaging.html#header.fields" title="Header Fields">Section 3.2</a> of <a href="#Part1" id="rfc.xref.Part1.41"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>) identifying the agent and its significant subproducts. By convention, the product tokens are listed in order of their significance
     3049      <p id="rfc.section.9.18.p.3">The field can contain multiple product tokens (<a href="#product.tokens" title="Product Tokens">Section&nbsp;5.2</a>) and comments (<a href="p1-messaging.html#header.fields" title="Header Fields">Section 3.2</a> of <a href="#Part1" id="rfc.xref.Part1.38"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>) identifying the agent and its significant subproducts. By convention, the product tokens are listed in order of their significance
    30433050         for identifying the application.
    30443051      </p>
     
    30513058         doing so makes the field value more difficult to parse.
    30523059      </p>
    3053       <div id="rfc.figure.u.59"></div><pre class="inline"><span id="rfc.iref.g.58"></span>  <a href="#header.user-agent" class="smpl">User-Agent</a> = <a href="#product.tokens" class="smpl">product</a> *( <a href="#imported.abnf" class="smpl">RWS</a> ( <a href="#product.tokens" class="smpl">product</a> / <a href="#imported.abnf" class="smpl">comment</a> ) )
     3060      <div id="rfc.figure.u.60"></div><pre class="inline"><span id="rfc.iref.g.60"></span>  <a href="#header.user-agent" class="smpl">User-Agent</a> = <a href="#product.tokens" class="smpl">product</a> *( <a href="#imported.abnf" class="smpl">RWS</a> ( <a href="#product.tokens" class="smpl">product</a> / <a href="#imported.abnf" class="smpl">comment</a> ) )
    30543061</pre><p id="rfc.section.9.18.p.7">Example:</p>
    3055       <div id="rfc.figure.u.60"></div><pre class="text">  User-Agent: CERN-LineMode/2.15 libwww/2.17b3
     3062      <div id="rfc.figure.u.61"></div><pre class="text">  User-Agent: CERN-LineMode/2.15 libwww/2.17b3
    30563063</pre><h1 id="rfc.section.10"><a href="#rfc.section.10">10.</a>&nbsp;<a id="IANA.considerations" href="#IANA.considerations">IANA Considerations</a></h1>
    30573064      <h2 id="rfc.section.10.1"><a href="#rfc.section.10.1">10.1</a>&nbsp;<a id="method.registration" href="#method.registration">Method Registry</a></h2>
     
    35373544                  <td class="left">compress</td>
    35383545                  <td class="left">UNIX "compress" program method</td>
    3539                   <td class="left"> <a href="p1-messaging.html#compress.coding" title="Compress Coding">Section 4.2.1</a> of <a href="#Part1" id="rfc.xref.Part1.42"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>
     3546                  <td class="left"> <a href="p1-messaging.html#compress.coding" title="Compress Coding">Section 4.2.1</a> of <a href="#Part1" id="rfc.xref.Part1.39"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>
    35403547                  </td>
    35413548               </tr>
     
    35443551                  <td class="left">"deflate" compression mechanism (<a href="#RFC1951" id="rfc.xref.RFC1951.1"><cite title="DEFLATE Compressed Data Format Specification version 1.3">[RFC1951]</cite></a>) used inside the "zlib" data format (<a href="#RFC1950" id="rfc.xref.RFC1950.1"><cite title="ZLIB Compressed Data Format Specification version 3.3">[RFC1950]</cite></a>)
    35453552                  </td>
    3546                   <td class="left"> <a href="p1-messaging.html#deflate.coding" title="Deflate Coding">Section 4.2.2</a> of <a href="#Part1" id="rfc.xref.Part1.43"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>
     3553                  <td class="left"> <a href="p1-messaging.html#deflate.coding" title="Deflate Coding">Section 4.2.2</a> of <a href="#Part1" id="rfc.xref.Part1.40"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>
    35473554                  </td>
    35483555               </tr>
     
    35503557                  <td class="left">gzip</td>
    35513558                  <td class="left">Same as GNU zip <a href="#RFC1952" id="rfc.xref.RFC1952.1"><cite title="GZIP file format specification version 4.3">[RFC1952]</cite></a></td>
    3552                   <td class="left"> <a href="p1-messaging.html#gzip.coding" title="Gzip Coding">Section 4.2.3</a> of <a href="#Part1" id="rfc.xref.Part1.44"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>
     3559                  <td class="left"> <a href="p1-messaging.html#gzip.coding" title="Gzip Coding">Section 4.2.3</a> of <a href="#Part1" id="rfc.xref.Part1.41"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>
    35533560                  </td>
    35543561               </tr>
     
    36423649      </p>
    36433650      <h1 id="rfc.section.12"><a href="#rfc.section.12">12.</a>&nbsp;<a id="acks" href="#acks">Acknowledgments</a></h1>
    3644       <p id="rfc.section.12.p.1">See <a href="p1-messaging.html#acks" title="Acknowledgments">Section 9</a> of <a href="#Part1" id="rfc.xref.Part1.45"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>.
     3651      <p id="rfc.section.12.p.1">See <a href="p1-messaging.html#acks" title="Acknowledgments">Section 9</a> of <a href="#Part1" id="rfc.xref.Part1.42"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>.
    36453652      </p>
    36463653      <h1 id="rfc.references"><a id="rfc.section.13" href="#rfc.section.13">13.</a> References
     
    38633870         MIME environments.
    38643871      </p>
    3865       <div id="rfc.figure.u.61"></div><pre class="inline"><span id="rfc.iref.g.59"></span>  <a href="#mime-version" class="smpl">MIME-Version</a> = 1*<a href="#imported.abnf" class="smpl">DIGIT</a> "." 1*<a href="#imported.abnf" class="smpl">DIGIT</a>
     3872      <div id="rfc.figure.u.62"></div><pre class="inline"><span id="rfc.iref.g.61"></span>  <a href="#mime-version" class="smpl">MIME-Version</a> = 1*<a href="#imported.abnf" class="smpl">DIGIT</a> "." 1*<a href="#imported.abnf" class="smpl">DIGIT</a>
    38663873</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
    38673874         document and not the MIME specification.
     
    39503957      <p id="rfc.section.C.p.16">Allow <a href="#header.referer" class="smpl">Referer</a> field value of "about:blank" as alternative to not specifying it. (<a href="#header.referer" id="rfc.xref.header.referer.3" title="Referer">Section&nbsp;9.15</a>)
    39513958      </p>
    3952       <p id="rfc.section.C.p.17">In the description of the <a href="#header.server" class="smpl">Server</a> header field, the <a href="p1-messaging.html#header.via" class="smpl">Via</a> field was described as a SHOULD. The requirement was and is stated correctly in the description of the Via header field in <a href="p1-messaging.html#header.via" title="Via">Section 6.2</a> of <a href="#Part1" id="rfc.xref.Part1.46"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>. (<a href="#header.server" id="rfc.xref.header.server.4" title="Server">Section&nbsp;9.17</a>)
     3959      <p id="rfc.section.C.p.17">In the description of the <a href="#header.server" class="smpl">Server</a> header field, the <a href="p1-messaging.html#header.via" class="smpl">Via</a> field was described as a SHOULD. The requirement was and is stated correctly in the description of the Via header field in <a href="p1-messaging.html#header.via" title="Via">Section 6.2</a> of <a href="#Part1" id="rfc.xref.Part1.43"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>. (<a href="#header.server" id="rfc.xref.header.server.4" title="Server">Section&nbsp;9.17</a>)
    39533960      </p>
    39543961      <p id="rfc.section.C.p.18">Clarify contexts that charset is used in. (<a href="#character.sets" title="Character Encodings (charset)">Section&nbsp;5.3</a>)
     
    39783985         (any visible US-ASCII character).
    39793986      </p>
    3980       <p id="rfc.section.D.p.2">The rules below are defined in <a href="#Part1" id="rfc.xref.Part1.47"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>:
    3981       </p>
    3982       <div id="rfc.figure.u.62"></div><pre class="inline">  <a href="#imported.abnf" class="smpl">BWS</a>           = &lt;BWS, defined in <a href="#Part1" id="rfc.xref.Part1.48"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>&gt;
    3983   <a href="#imported.abnf" class="smpl">OWS</a>           = &lt;OWS, defined in <a href="#Part1" id="rfc.xref.Part1.49"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>&gt;
    3984   <a href="#imported.abnf" class="smpl">RWS</a>           = &lt;RWS, defined in <a href="#Part1" id="rfc.xref.Part1.50"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>&gt;
    3985   <a href="#imported.abnf" class="smpl">quoted-string</a> = &lt;quoted-string, defined in <a href="#Part1" id="rfc.xref.Part1.51"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>&gt;
    3986   <a href="#imported.abnf" class="smpl">token</a>         = &lt;token, defined in <a href="#Part1" id="rfc.xref.Part1.52"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>&gt;
    3987   <a href="#imported.abnf" class="smpl">word</a>          = &lt;word, defined in <a href="#Part1" id="rfc.xref.Part1.53"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>&gt;
     3987      <p id="rfc.section.D.p.2">The rules below are defined in <a href="#Part1" id="rfc.xref.Part1.44"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>:
     3988      </p>
     3989      <div id="rfc.figure.u.63"></div><pre class="inline">  <a href="#imported.abnf" class="smpl">BWS</a>           = &lt;BWS, defined in <a href="#Part1" id="rfc.xref.Part1.45"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>&gt;
     3990  <a href="#imported.abnf" class="smpl">OWS</a>           = &lt;OWS, defined in <a href="#Part1" id="rfc.xref.Part1.46"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>&gt;
     3991  <a href="#imported.abnf" class="smpl">RWS</a>           = &lt;RWS, defined in <a href="#Part1" id="rfc.xref.Part1.47"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>&gt;
     3992  <a href="#imported.abnf" class="smpl">quoted-string</a> = &lt;quoted-string, defined in <a href="#Part1" id="rfc.xref.Part1.48"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>&gt;
     3993  <a href="#imported.abnf" class="smpl">token</a>         = &lt;token, defined in <a href="#Part1" id="rfc.xref.Part1.49"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>&gt;
     3994  <a href="#imported.abnf" class="smpl">word</a>          = &lt;word, defined in <a href="#Part1" id="rfc.xref.Part1.50"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>&gt;
    39883995
    3989   <a href="#imported.abnf" class="smpl">absolute-URI</a>  = &lt;absolute-URI, defined in <a href="#Part1" id="rfc.xref.Part1.54"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.8</a>&gt;
    3990   <a href="#imported.abnf" class="smpl">comment</a>       = &lt;comment, defined in <a href="#Part1" id="rfc.xref.Part1.55"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>&gt;
    3991   <a href="#imported.abnf" class="smpl">partial-URI</a>   = &lt;partial-URI, defined in <a href="#Part1" id="rfc.xref.Part1.56"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.8</a>&gt;
    3992   <a href="#imported.abnf" class="smpl">qvalue</a>        = &lt;qvalue, defined in <a href="#Part1" id="rfc.xref.Part1.57"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#quality.values" title="Quality Values">Section 4.3.1</a>&gt;
    3993   <a href="#imported.abnf" class="smpl">URI-reference</a> = &lt;URI-reference, defined in <a href="#Part1" id="rfc.xref.Part1.58"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.8</a>&gt;
     3996  <a href="#imported.abnf" class="smpl">absolute-URI</a>  = &lt;absolute-URI, defined in <a href="#Part1" id="rfc.xref.Part1.51"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.8</a>&gt;
     3997  <a href="#imported.abnf" class="smpl">comment</a>       = &lt;comment, defined in <a href="#Part1" id="rfc.xref.Part1.52"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>&gt;
     3998  <a href="#imported.abnf" class="smpl">partial-URI</a>   = &lt;partial-URI, defined in <a href="#Part1" id="rfc.xref.Part1.53"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.8</a>&gt;
     3999  <a href="#imported.abnf" class="smpl">URI-reference</a> = &lt;URI-reference, defined in <a href="#Part1" id="rfc.xref.Part1.54"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.8</a>&gt;
    39944000</pre><h1 id="rfc.section.E"><a href="#rfc.section.E">E.</a>&nbsp;<a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1>
    3995       <div id="rfc.figure.u.63"></div> <pre class="inline"><a href="#header.accept" class="smpl">Accept</a> = [ ( "," / ( media-range [ accept-params ] ) ) *( OWS "," [
     4001      <div id="rfc.figure.u.64"></div> <pre class="inline"><a href="#header.accept" class="smpl">Accept</a> = [ ( "," / ( media-range [ accept-params ] ) ) *( OWS "," [
    39964002 OWS ( media-range [ accept-params ] ) ] ) ]
    3997 <a href="#header.accept-charset" class="smpl">Accept-Charset</a> = *( "," OWS ) ( ( charset / "*" ) [ OWS ";" OWS "q="
    3998  qvalue ] ) *( OWS "," [ OWS ( ( charset / "*" ) [ OWS ";" OWS "q="
    3999  qvalue ] ) ] )
    4000 <a href="#header.accept-encoding" class="smpl">Accept-Encoding</a> = [ ( "," / ( codings [ OWS ";" OWS "q=" qvalue ] ) )
    4001  *( OWS "," [ OWS ( codings [ OWS ";" OWS "q=" qvalue ] ) ] ) ]
    4002 <a href="#header.accept-language" class="smpl">Accept-Language</a> = *( "," OWS ) ( language-range [ OWS ";" OWS "q="
    4003  qvalue ] ) *( OWS "," [ OWS ( language-range [ OWS ";" OWS "q="
    4004  qvalue ] ) ] )
     4003<a href="#header.accept-charset" class="smpl">Accept-Charset</a> = *( "," OWS ) ( ( charset / "*" ) [ weight ] ) *( OWS
     4004 "," [ OWS ( ( charset / "*" ) [ weight ] ) ] )
     4005<a href="#header.accept-encoding" class="smpl">Accept-Encoding</a> = [ ( "," / ( codings [ weight ] ) ) *( OWS "," [ OWS
     4006 ( codings [ weight ] ) ] ) ]
     4007<a href="#header.accept-language" class="smpl">Accept-Language</a> = *( "," OWS ) ( language-range [ weight ] ) *( OWS
     4008 "," [ OWS ( language-range [ weight ] ) ] )
    40054009<a href="#header.allow" class="smpl">Allow</a> = [ ( "," / method ) *( OWS "," [ OWS method ] ) ]
    40064010
     
    40424046<a href="#imported.abnf" class="smpl">absolute-URI</a> = &lt;absolute-URI, defined in [Part1], Section 2.8&gt;
    40434047<a href="#header.accept" class="smpl">accept-ext</a> = OWS ";" OWS token [ "=" word ]
    4044 <a href="#header.accept" class="smpl">accept-params</a> = OWS ";" OWS "q=" qvalue *accept-ext
     4048<a href="#header.accept" class="smpl">accept-params</a> = weight *accept-ext
    40454049<a href="#obsolete.date.formats" class="smpl">asctime-date</a> = day-name SP date3 SP time-of-day SP year
    40464050<a href="#rule.parameter" class="smpl">attribute</a> = token
     
    41094113
    41104114<a href="#imported.abnf" class="smpl">quoted-string</a> = &lt;quoted-string, defined in [Part1], Section 3.2.4&gt;
    4111 <a href="#imported.abnf" class="smpl">qvalue</a> = &lt;qvalue, defined in [Part1], Section 4.3.1&gt;
     4115<a href="#quality.values" class="smpl">qvalue</a> = ( "0" [ "." *3DIGIT ] ) / ( "1" [ "." *3"0" ] )
    41124116
    41134117<a href="#preferred.date.format" class="smpl">rfc1123-date</a> = day-name "," SP date1 SP time-of-day SP GMT
     
    41234127<a href="#rule.parameter" class="smpl">value</a> = word
    41244128
     4129<a href="#quality.values" class="smpl">weight</a> = OWS ";" OWS "q=" qvalue
    41254130<a href="#imported.abnf" class="smpl">word</a> = &lt;word, defined in [Part1], Section 3.2.4&gt;
    41264131
     
    46994704            <li><a id="rfc.index.1" href="#rfc.index.1"><b>1</b></a><ul>
    47004705                  <li>100 Continue (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.100.1">4.1</a>, <a href="#rfc.iref.21"><b>4.3.1</b></a>, <a href="#rfc.xref.status.100.2">10.2</a></li>
    4701                   <li>100-continue (expect value)&nbsp;&nbsp;<a href="#rfc.iref.139"><b>9.11</b></a></li>
     4706                  <li>100-continue (expect value)&nbsp;&nbsp;<a href="#rfc.iref.141"><b>9.11</b></a></li>
    47024707                  <li>101 Switching Protocols (status code)&nbsp;&nbsp;<a href="#rfc.xref.status.101.1">4.1</a>, <a href="#rfc.iref.22"><b>4.3.2</b></a>, <a href="#rfc.xref.status.101.2">10.2</a></li>
    47034708                  <li>1xx Informational (status code class)&nbsp;&nbsp;<a href="#rfc.iref.20"><b>4.3</b></a></li>
     
    48044809                  <li><tt>Grammar</tt>&nbsp;&nbsp;
    48054810                     <ul>
    4806                         <li><tt>Accept</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.31"><b>9.1</b></a></li>
    4807                         <li><tt>Accept-Charset</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.35"><b>9.2</b></a></li>
    4808                         <li><tt>Accept-Encoding</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.36"><b>9.3</b></a></li>
    4809                         <li><tt>accept-ext</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.34"><b>9.1</b></a></li>
    4810                         <li><tt>Accept-Language</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.38"><b>9.4</b></a></li>
    4811                         <li><tt>accept-params</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.33"><b>9.1</b></a></li>
    4812                         <li><tt>Allow</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.40"><b>9.5</b></a></li>
     4811                        <li><tt>Accept</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.33"><b>9.1</b></a></li>
     4812                        <li><tt>Accept-Charset</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.37"><b>9.2</b></a></li>
     4813                        <li><tt>Accept-Encoding</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.38"><b>9.3</b></a></li>
     4814                        <li><tt>accept-ext</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.36"><b>9.1</b></a></li>
     4815                        <li><tt>Accept-Language</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.40"><b>9.4</b></a></li>
     4816                        <li><tt>accept-params</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.35"><b>9.1</b></a></li>
     4817                        <li><tt>Allow</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.42"><b>9.5</b></a></li>
    48134818                        <li><tt>asctime-date</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.18"><b>5.1</b></a></li>
    48144819                        <li><tt>attribute</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.28"><b>5.5</b></a></li>
    48154820                        <li><tt>charset</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.21"><b>5.3</b></a></li>
    4816                         <li><tt>codings</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.37"><b>9.3</b></a></li>
     4821                        <li><tt>codings</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.39"><b>9.3</b></a></li>
    48174822                        <li><tt>content-coding</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.22"><b>5.4</b></a></li>
    4818                         <li><tt>Content-Encoding</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.41"><b>9.6</b></a></li>
    4819                         <li><tt>Content-Language</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.42"><b>9.7</b></a></li>
    4820                         <li><tt>Content-Location</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.43"><b>9.8</b></a></li>
    4821                         <li><tt>Content-Type</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.44"><b>9.9</b></a></li>
    4822                         <li><tt>Date</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.45"><b>9.10</b></a></li>
     4823                        <li><tt>Content-Encoding</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.43"><b>9.6</b></a></li>
     4824                        <li><tt>Content-Language</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.44"><b>9.7</b></a></li>
     4825                        <li><tt>Content-Location</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.45"><b>9.8</b></a></li>
     4826                        <li><tt>Content-Type</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.46"><b>9.9</b></a></li>
     4827                        <li><tt>Date</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.47"><b>9.10</b></a></li>
    48234828                        <li><tt>date1</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.5"><b>5.1</b></a></li>
    48244829                        <li><tt>day</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.12"><b>5.1</b></a></li>
    48254830                        <li><tt>day-name</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.10"><b>5.1</b></a></li>
    48264831                        <li><tt>day-name-l</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.11"><b>5.1</b></a></li>
    4827                         <li><tt>delta-seconds</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.56"><b>9.16</b></a></li>
    4828                         <li><tt>Expect</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.46"><b>9.11</b></a></li>
    4829                         <li><tt>expect-name</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.50"><b>9.11</b></a></li>
    4830                         <li><tt>expect-param</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.48"><b>9.11</b></a></li>
    4831                         <li><tt>expect-value</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.49"><b>9.11</b></a></li>
    4832                         <li><tt>expectation</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.47"><b>9.11</b></a></li>
    4833                         <li><tt>From</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.51"><b>9.12</b></a></li>
     4832                        <li><tt>delta-seconds</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.58"><b>9.16</b></a></li>
     4833                        <li><tt>Expect</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.48"><b>9.11</b></a></li>
     4834                        <li><tt>expect-name</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.52"><b>9.11</b></a></li>
     4835                        <li><tt>expect-param</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.50"><b>9.11</b></a></li>
     4836                        <li><tt>expect-value</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.51"><b>9.11</b></a></li>
     4837                        <li><tt>expectation</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.49"><b>9.11</b></a></li>
     4838                        <li><tt>From</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.53"><b>9.12</b></a></li>
    48344839                        <li><tt>GMT</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.15"><b>5.1</b></a></li>
    48354840                        <li><tt>hour</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.7"><b>5.1</b></a></li>
    48364841                        <li><tt>HTTP-date</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.3"><b>5.1</b></a></li>
    4837                         <li><tt>language-range</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.39"><b>9.4</b></a></li>
     4842                        <li><tt>language-range</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.41"><b>9.4</b></a></li>
    48384843                        <li><tt>language-tag</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.30"><b>5.6</b></a></li>
    4839                         <li><tt>Location</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.52"><b>9.13</b></a></li>
    4840                         <li><tt>Max-Forwards</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.53"><b>9.14</b></a></li>
    4841                         <li><tt>media-range</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.32"><b>9.1</b></a></li>
     4844                        <li><tt>Location</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.54"><b>9.13</b></a></li>
     4845                        <li><tt>Max-Forwards</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.55"><b>9.14</b></a></li>
     4846                        <li><tt>media-range</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.34"><b>9.1</b></a></li>
    48424847                        <li><tt>media-type</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.24"><b>5.5</b></a></li>
    48434848                        <li><tt>method</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.1"><b>2</b></a></li>
    4844                         <li><tt>MIME-Version</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.59"><b>A.1</b></a></li>
     4849                        <li><tt>MIME-Version</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.61"><b>A.1</b></a></li>
    48454850                        <li><tt>minute</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.8"><b>5.1</b></a></li>
    48464851                        <li><tt>month</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.13"><b>5.1</b></a></li>
     
    48494854                        <li><tt>product</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.19"><b>5.2</b></a></li>
    48504855                        <li><tt>product-version</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.20"><b>5.2</b></a></li>
    4851                         <li><tt>Referer</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.54"><b>9.15</b></a></li>
    4852                         <li><tt>Retry-After</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.55"><b>9.16</b></a></li>
     4856                        <li><tt>qvalue</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.32"><b>8.3</b></a></li>
     4857                        <li><tt>Referer</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.56"><b>9.15</b></a></li>
     4858                        <li><tt>Retry-After</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.57"><b>9.16</b></a></li>
    48534859                        <li><tt>rfc1123-date</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.4"><b>5.1</b></a></li>
    48544860                        <li><tt>rfc850-date</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.17"><b>5.1</b></a></li>
    48554861                        <li><tt>second</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.9"><b>5.1</b></a></li>
    4856                         <li><tt>Server</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.57"><b>9.17</b></a></li>
     4862                        <li><tt>Server</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.59"><b>9.17</b></a></li>
    48574863                        <li><tt>subtype</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.26"><b>5.5</b></a></li>
    48584864                        <li><tt>time-of-day</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.6"><b>5.1</b></a></li>
    48594865                        <li><tt>type</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.25"><b>5.5</b></a></li>
    4860                         <li><tt>User-Agent</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.58"><b>9.18</b></a></li>
     4866                        <li><tt>User-Agent</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.60"><b>9.18</b></a></li>
    48614867                        <li><tt>value</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.29"><b>5.5</b></a></li>
     4868                        <li><tt>weight</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.31"><b>8.3</b></a></li>
    48624869                        <li><tt>year</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.14"><b>5.1</b></a></li>
    48634870                     </ul>
     
    49244931            </li>
    49254932            <li><a id="rfc.index.P" href="#rfc.index.P"><b>P</b></a><ul>
    4926                   <li><em>Part1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.1">1</a>, <a href="#rfc.xref.Part1.2">1.1</a>, <a href="#rfc.xref.Part1.3">1.2</a>, <a href="#rfc.xref.Part1.4">2</a>, <a href="#rfc.xref.Part1.5">2.2.1</a>, <a href="#rfc.xref.Part1.6">2.3.1</a>, <a href="#rfc.xref.Part1.7">2.3.7</a>, <a href="#rfc.xref.Part1.8">2.3.7</a>, <a href="#rfc.xref.Part1.9">2.3.8</a>, <a href="#rfc.xref.Part1.10">3</a>, <a href="#rfc.xref.Part1.11">3.1</a>, <a href="#rfc.xref.Part1.12">3.1</a>, <a href="#rfc.xref.Part1.13">3.1</a>, <a href="#rfc.xref.Part1.14">3.1</a>, <a href="#rfc.xref.Part1.15">3.1</a>, <a href="#rfc.xref.Part1.16">3.2</a>, <a href="#rfc.xref.Part1.17">3.2</a>, <a href="#rfc.xref.Part1.18">3.3</a>, <a href="#rfc.xref.Part1.19">4.3.1</a>, <a href="#rfc.xref.Part1.20">4.3.2</a>, <a href="#rfc.xref.Part1.21">4.4.4</a>, <a href="#rfc.xref.Part1.22">4.4.6</a>, <a href="#rfc.xref.Part1.23">4.6.15</a>, <a href="#rfc.xref.Part1.24">4.7.6</a>, <a href="#rfc.xref.Part1.25">5.4</a>, <a href="#rfc.xref.Part1.26">5.4</a>, <a href="#rfc.xref.Part1.27">5.4</a>, <a href="#rfc.xref.Part1.28">5.4.1</a>, <a href="#rfc.xref.Part1.29">5.4.1</a>, <a href="#rfc.xref.Part1.30">6.1</a>, <a href="#rfc.xref.Part1.31">6.2</a>, <a href="#rfc.xref.Part1.32">7</a>, <a href="#rfc.xref.Part1.33">7.1</a>, <a href="#rfc.xref.Part1.34">8.1</a>, <a href="#rfc.xref.Part1.35">9.1</a>, <a href="#rfc.xref.Part1.36">9.3</a>, <a href="#rfc.xref.Part1.37">9.8</a>, <a href="#rfc.xref.Part1.38">9.11</a>, <a href="#rfc.xref.Part1.39">9.17</a>, <a href="#rfc.xref.Part1.40">9.17</a>, <a href="#rfc.xref.Part1.41">9.18</a>, <a href="#rfc.xref.Part1.42">10.4</a>, <a href="#rfc.xref.Part1.43">10.4</a>, <a href="#rfc.xref.Part1.44">10.4</a>, <a href="#rfc.xref.Part1.45">12</a>, <a href="#Part1"><b>13.1</b></a>, <a href="#rfc.xref.Part1.46">C</a>, <a href="#rfc.xref.Part1.47">D</a>, <a href="#rfc.xref.Part1.48">D</a>, <a href="#rfc.xref.Part1.49">D</a>, <a href="#rfc.xref.Part1.50">D</a>, <a href="#rfc.xref.Part1.51">D</a>, <a href="#rfc.xref.Part1.52">D</a>, <a href="#rfc.xref.Part1.53">D</a>, <a href="#rfc.xref.Part1.54">D</a>, <a href="#rfc.xref.Part1.55">D</a>, <a href="#rfc.xref.Part1.56">D</a>, <a href="#rfc.xref.Part1.57">D</a>, <a href="#rfc.xref.Part1.58">D</a><ul>
     4933                  <li><em>Part1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.1">1</a>, <a href="#rfc.xref.Part1.2">1.1</a>, <a href="#rfc.xref.Part1.3">1.2</a>, <a href="#rfc.xref.Part1.4">2</a>, <a href="#rfc.xref.Part1.5">2.2.1</a>, <a href="#rfc.xref.Part1.6">2.3.1</a>, <a href="#rfc.xref.Part1.7">2.3.7</a>, <a href="#rfc.xref.Part1.8">2.3.7</a>, <a href="#rfc.xref.Part1.9">2.3.8</a>, <a href="#rfc.xref.Part1.10">3</a>, <a href="#rfc.xref.Part1.11">3.1</a>, <a href="#rfc.xref.Part1.12">3.1</a>, <a href="#rfc.xref.Part1.13">3.1</a>, <a href="#rfc.xref.Part1.14">3.1</a>, <a href="#rfc.xref.Part1.15">3.1</a>, <a href="#rfc.xref.Part1.16">3.2</a>, <a href="#rfc.xref.Part1.17">3.2</a>, <a href="#rfc.xref.Part1.18">3.3</a>, <a href="#rfc.xref.Part1.19">4.3.1</a>, <a href="#rfc.xref.Part1.20">4.3.2</a>, <a href="#rfc.xref.Part1.21">4.4.4</a>, <a href="#rfc.xref.Part1.22">4.4.6</a>, <a href="#rfc.xref.Part1.23">4.6.15</a>, <a href="#rfc.xref.Part1.24">4.7.6</a>, <a href="#rfc.xref.Part1.25">5.4</a>, <a href="#rfc.xref.Part1.26">5.4</a>, <a href="#rfc.xref.Part1.27">5.4</a>, <a href="#rfc.xref.Part1.28">5.4.1</a>, <a href="#rfc.xref.Part1.29">5.4.1</a>, <a href="#rfc.xref.Part1.30">6.1</a>, <a href="#rfc.xref.Part1.31">6.2</a>, <a href="#rfc.xref.Part1.32">7</a>, <a href="#rfc.xref.Part1.33">7.1</a>, <a href="#rfc.xref.Part1.34">9.8</a>, <a href="#rfc.xref.Part1.35">9.11</a>, <a href="#rfc.xref.Part1.36">9.17</a>, <a href="#rfc.xref.Part1.37">9.17</a>, <a href="#rfc.xref.Part1.38">9.18</a>, <a href="#rfc.xref.Part1.39">10.4</a>, <a href="#rfc.xref.Part1.40">10.4</a>, <a href="#rfc.xref.Part1.41">10.4</a>, <a href="#rfc.xref.Part1.42">12</a>, <a href="#Part1"><b>13.1</b></a>, <a href="#rfc.xref.Part1.43">C</a>, <a href="#rfc.xref.Part1.44">D</a>, <a href="#rfc.xref.Part1.45">D</a>, <a href="#rfc.xref.Part1.46">D</a>, <a href="#rfc.xref.Part1.47">D</a>, <a href="#rfc.xref.Part1.48">D</a>, <a href="#rfc.xref.Part1.49">D</a>, <a href="#rfc.xref.Part1.50">D</a>, <a href="#rfc.xref.Part1.51">D</a>, <a href="#rfc.xref.Part1.52">D</a>, <a href="#rfc.xref.Part1.53">D</a>, <a href="#rfc.xref.Part1.54">D</a><ul>
    49274934                        <li><em>Section 1.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.3">1.2</a></li>
    49284935                        <li><em>Section 2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.2">1.1</a></li>
    49294936                        <li><em>Section 2.4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.21">4.4.4</a></li>
    49304937                        <li><em>Section 2.7</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.24">4.7.6</a></li>
    4931                         <li><em>Section 2.8</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.54">D</a>, <a href="#rfc.xref.Part1.56">D</a>, <a href="#rfc.xref.Part1.58">D</a></li>
    4932                         <li><em>Section 3.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.10">3</a>, <a href="#rfc.xref.Part1.13">3.1</a>, <a href="#rfc.xref.Part1.39">9.17</a>, <a href="#rfc.xref.Part1.41">9.18</a></li>
    4933                         <li><em>Section 3.2.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.48">D</a>, <a href="#rfc.xref.Part1.49">D</a>, <a href="#rfc.xref.Part1.50">D</a></li>
    4934                         <li><em>Section 3.2.4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.12">3.1</a>, <a href="#rfc.xref.Part1.51">D</a>, <a href="#rfc.xref.Part1.52">D</a>, <a href="#rfc.xref.Part1.53">D</a>, <a href="#rfc.xref.Part1.55">D</a></li>
     4938                        <li><em>Section 2.8</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.51">D</a>, <a href="#rfc.xref.Part1.53">D</a>, <a href="#rfc.xref.Part1.54">D</a></li>
     4939                        <li><em>Section 3.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.10">3</a>, <a href="#rfc.xref.Part1.13">3.1</a>, <a href="#rfc.xref.Part1.36">9.17</a>, <a href="#rfc.xref.Part1.38">9.18</a></li>
     4940                        <li><em>Section 3.2.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.45">D</a>, <a href="#rfc.xref.Part1.46">D</a>, <a href="#rfc.xref.Part1.47">D</a></li>
     4941                        <li><em>Section 3.2.4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.12">3.1</a>, <a href="#rfc.xref.Part1.48">D</a>, <a href="#rfc.xref.Part1.49">D</a>, <a href="#rfc.xref.Part1.50">D</a>, <a href="#rfc.xref.Part1.52">D</a></li>
    49354942                        <li><em>Section 3.3</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.5">2.2.1</a>, <a href="#rfc.xref.Part1.22">4.4.6</a>, <a href="#rfc.xref.Part1.31">6.2</a>, <a href="#rfc.xref.Part1.32">7</a></li>
    49364943                        <li><em>Section 3.3.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.30">6.1</a></li>
    49374944                        <li><em>Section 4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.28">5.4.1</a></li>
    49384945                        <li><em>Section 4.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.15">3.1</a></li>
    4939                         <li><em>Section 4.2.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.25">5.4</a>, <a href="#rfc.xref.Part1.42">10.4</a></li>
     4946                        <li><em>Section 4.2.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.25">5.4</a>, <a href="#rfc.xref.Part1.39">10.4</a></li>
    49404947                        <li><em>Section 4.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.29">5.4.1</a></li>
    4941                         <li><em>Section 4.2.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.26">5.4</a>, <a href="#rfc.xref.Part1.43">10.4</a></li>
    4942                         <li><em>Section 4.2.3</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.27">5.4</a>, <a href="#rfc.xref.Part1.44">10.4</a></li>
     4948                        <li><em>Section 4.2.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.26">5.4</a>, <a href="#rfc.xref.Part1.40">10.4</a></li>
     4949                        <li><em>Section 4.2.3</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.27">5.4</a>, <a href="#rfc.xref.Part1.41">10.4</a></li>
    49434950                        <li><em>Section 4.3</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.17">3.2</a></li>
    4944                         <li><em>Section 4.3.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.34">8.1</a>, <a href="#rfc.xref.Part1.35">9.1</a>, <a href="#rfc.xref.Part1.36">9.3</a>, <a href="#rfc.xref.Part1.57">D</a></li>
    49454951                        <li><em>Section 5.3</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.6">2.3.1</a>, <a href="#rfc.xref.Part1.9">2.3.8</a></li>
    49464952                        <li><em>Section 5.4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.16">3.2</a></li>
    4947                         <li><em>Section 5.5</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.4">2</a>, <a href="#rfc.xref.Part1.18">3.3</a>, <a href="#rfc.xref.Part1.33">7.1</a>, <a href="#rfc.xref.Part1.37">9.8</a></li>
     4953                        <li><em>Section 5.5</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.4">2</a>, <a href="#rfc.xref.Part1.18">3.3</a>, <a href="#rfc.xref.Part1.33">7.1</a>, <a href="#rfc.xref.Part1.34">9.8</a></li>
    49484954                        <li><em>Section 6.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.14">3.1</a></li>
    4949                         <li><em>Section 6.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.7">2.3.7</a>, <a href="#rfc.xref.Part1.40">9.17</a>, <a href="#rfc.xref.Part1.46">C</a></li>
    4950                         <li><em>Section 6.4.3</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.19">4.3.1</a>, <a href="#rfc.xref.Part1.38">9.11</a></li>
     4955                        <li><em>Section 6.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.7">2.3.7</a>, <a href="#rfc.xref.Part1.37">9.17</a>, <a href="#rfc.xref.Part1.43">C</a></li>
     4956                        <li><em>Section 6.4.3</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.19">4.3.1</a>, <a href="#rfc.xref.Part1.35">9.11</a></li>
    49514957                        <li><em>Section 6.5</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.20">4.3.2</a>, <a href="#rfc.xref.Part1.23">4.6.15</a></li>
    49524958                        <li><em>Section 7.3.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.8">2.3.7</a></li>
    4953                         <li><em>Section 9</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.45">12</a></li>
     4959                        <li><em>Section 9</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.42">12</a></li>
    49544960                        <li><em>Appendix B</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.11">3.1</a></li>
    49554961                     </ul>
  • draft-ietf-httpbis/latest/p2-semantics.xml

    r1825 r1831  
    4747  <!ENTITY header-cache-control       "<xref target='Part6' x:rel='#header.cache-control' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    4848  <!ENTITY header-connection          "<xref target='Part1' x:rel='#header.connection' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
     49  <!ENTITY header-content-length      "<xref target='Part1' x:rel='#header.content-length' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    4950  <!ENTITY header-content-location    "<xref target='header.content-location' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    5051  <!ENTITY header-content-range       "<xref target='Part5' x:rel='#header.content-range' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
     
    5960  <!ENTITY header-if-range            "<xref target='Part5' x:rel='#header.if-range' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    6061  <!ENTITY header-if-unmodified-since "<xref target='Part4' x:rel='#header.if-unmodified-since' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
     62  <!ENTITY header-last-modified       "<xref target='Part4' x:rel='#header.last-modified' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    6163  <!ENTITY header-pragma              "<xref target='Part6' x:rel='#header.pragma' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    6264  <!ENTITY header-proxy-authenticate  "<xref target='Part7' x:rel='#header.proxy-authenticate' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    6365  <!ENTITY header-proxy-authorization "<xref target='Part7' x:rel='#header.proxy-authorization' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    6466  <!ENTITY header-range               "<xref target='Part5' x:rel='#header.range' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
     67  <!ENTITY header-te                  "<xref target='Part1' x:rel='#header.te' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
     68  <!ENTITY header-transfer-encoding   "<xref target='Part1' x:rel='#header.transfer-encoding' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    6569  <!ENTITY header-upgrade             "<xref target='Part1' x:rel='#header.upgrade' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    66   <!ENTITY header-te                  "<xref target='Part1' x:rel='#header.te' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
     70  <!ENTITY header-user-agent          "<xref target='header.user-agent' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    6771  <!ENTITY header-vary                "<xref target='Part6' x:rel='#header.vary' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    6872  <!ENTITY header-via                 "<xref target='Part1' x:rel='#header.via' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
     
    8589  <!ENTITY p6-invalid                 "<xref target='Part6' x:rel='#invalidation.after.updates.or.deletions' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    8690  <!ENTITY p6-head                    "<xref target='Part6' x:rel='#head.effects' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
     91  <!ENTITY qvalue                     "<xref target='quality.values'/>">
    8792  <!ENTITY architecture               "<xref target='Part1' x:rel='#architecture' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    8893  <!ENTITY notation                   "<xref target='Part1' x:rel='#notation' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
     
    9297  <!ENTITY field-components           "<xref target='Part1' x:rel='#field.components' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    9398  <!ENTITY caching-neg-resp           "<xref target='Part6' x:rel='#caching.negotiated.responses' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    94   <!ENTITY header-transfer-encoding   "<xref target='Part1' x:rel='#header.transfer-encoding' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    95   <!ENTITY header-content-length      "<xref target='Part1' x:rel='#header.content-length' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    96   <!ENTITY header-content-range       "<xref target='Part5' x:rel='#header.content-range' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    97   <!ENTITY header-etag                "<xref target='Part4' x:rel='#header.etag' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    98   <!ENTITY header-expires             "<xref target='Part6' x:rel='#header.expires' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    99   <!ENTITY header-last-modified       "<xref target='Part4' x:rel='#header.last-modified' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    100   <!ENTITY header-user-agent          "<xref target='header.user-agent' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    101   <!ENTITY header-vary                "<xref target='Part6' x:rel='#header.vary' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    10299  <!ENTITY message-body               "<xref target='Part1' x:rel='#message.body' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    103100  <!ENTITY multipart-byteranges       "<xref target='Part5' x:rel='#internet.media.type.multipart.byteranges' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    104101  <!ENTITY http-date                  "<xref target='http.date' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    105   <!ENTITY qvalue                     "<xref target='Part1' x:rel='#quality.values' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    106102  <!ENTITY uri                        "<xref target='Part1' x:rel='#uri' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    107103  <!ENTITY effective-request-uri      "<xref target='Part1' x:rel='#effective.request.uri' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
     
    28172813</t>
    28182814<t>
    2819    Note that in all cases, the supplier of representations has the
     2815   Note that, in all cases, the supplier of representations has the
    28202816   responsibility for determining which representations might be
    28212817   considered to be the "same information".
     
    28752871   sending a response that doesn't conform to them is better than sending a <x:ref>406
    28762872   (Not Acceptable)</x:ref> response.
    2877 </t>
    2878 <t>
    2879    Many of the mechanisms for expressing preferences use quality values to
    2880    declare relative preference. See &qvalue; for more information.
    28812873</t>
    28822874<t>
     
    29422934</t>
    29432935</section>
     2936
     2937<section title="Quality Values" anchor="quality.values">
     2938  <x:anchor-alias value="weight"/>
     2939  <x:anchor-alias value="qvalue"/>
     2940<t>
     2941   Many of the request header fields for server-driven content negotiation
     2942   use a common parameter, named "q", to assign a relative "weight" to the
     2943   preference for that associated kind of content.
     2944   This weight is referred to as a "quality value" (or "qvalue") because
     2945   the same parameter name is often used within server configurations to
     2946   assign a weight to the relative quality of the various representations
     2947   that can be selected for a resource.
     2948</t>
     2949<t>
     2950   The weight is normalized to a real number in the range 0 through 1,
     2951   where 0.001 is the least preferred and 1 is the most preferred;
     2952   a value of 0 means "not acceptable". If no "q" parameter is present,
     2953   the default weight is 1.
     2954</t>
     2955<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="weight"/><iref primary="true" item="Grammar" subitem="qvalue"/>
     2956  <x:ref>weight</x:ref> = <x:ref>OWS</x:ref> ";" <x:ref>OWS</x:ref> "q=" <x:ref>qvalue</x:ref>
     2957  <x:ref>qvalue</x:ref> = ( "0" [ "." 0*3<x:ref>DIGIT</x:ref> ] )
     2958         / ( "1" [ "." 0*3("0") ] )
     2959</artwork></figure>
     2960<t>
     2961   A sender of qvalue &MUST-NOT; generate more than three digits after the
     2962   decimal point. User configuration of these values ought to be limited in
     2963   the same fashion.
     2964</t>
     2965</section>
    29442966</section>
    29452967
     
    29712993                   / ( <x:ref>type</x:ref> "/" <x:ref>subtype</x:ref> )
    29722994                   ) *( <x:ref>OWS</x:ref> ";" <x:ref>OWS</x:ref> <x:ref>parameter</x:ref> )
    2973   <x:ref>accept-params</x:ref>  = <x:ref>OWS</x:ref> ";" <x:ref>OWS</x:ref> "q=" <x:ref>qvalue</x:ref> *( <x:ref>accept-ext</x:ref> )
     2995  <x:ref>accept-params</x:ref>  = <x:ref>weight</x:ref> *( <x:ref>accept-ext</x:ref> )
    29742996  <x:ref>accept-ext</x:ref>     = <x:ref>OWS</x:ref> ";" <x:ref>OWS</x:ref> <x:ref>token</x:ref> [ "=" <x:ref>word</x:ref> ]
    29752997</artwork></figure>
     
    29823004<t>
    29833005   Each media-range &MAY; be followed by one or more accept-params,
    2984    beginning with the "q" parameter for indicating a relative quality
    2985    factor. The first "q" parameter (if any) separates the media-range
    2986    parameter(s) from the accept-params. Quality factors allow the user
    2987    or user agent to indicate the relative degree of preference for that
    2988    media-range, using the qvalue scale from 0 to 1 (&qvalue;). The
    2989    default value is q=1.
     3006   beginning with the "q" parameter for indicating a relative weight,
     3007   as defined in &qvalue;.
     3008   The first "q" parameter (if any) separates the media-range
     3009   parameter(s) from the accept-params.
    29903010</t>
    29913011<x:note>
     
    30933113</t>
    30943114<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Accept-Charset"/>
    3095   <x:ref>Accept-Charset</x:ref> = 1#( ( <x:ref>charset</x:ref> / "*" )
    3096                          [ <x:ref>OWS</x:ref> ";" <x:ref>OWS</x:ref> "q=" <x:ref>qvalue</x:ref> ] )
     3115  <x:ref>Accept-Charset</x:ref> = 1#( ( <x:ref>charset</x:ref> / "*" ) [ <x:ref>weight</x:ref> ] )
    30973116</artwork></figure>
    30983117<t>
     
    31003119   <xref target="character.sets"/>. Each charset &MAY; be given an
    31013120   associated quality value which represents the user's preference
    3102    for that charset. The default value is q=1. An example is
     3121   for that charset, as defined in &qvalue;.
     3122   An example is
    31033123</t>
    31043124<figure><artwork type="example">
     
    31083128   The special value "*", if present in the Accept-Charset field,
    31093129   matches every character encoding which is not mentioned elsewhere in the
    3110    Accept-Charset field. If no "*" is present in an Accept-Charset field, then
    3111    all character encodings not explicitly mentioned get a quality value of 0.
     3130   Accept-Charset field. If no "*" is present in an Accept-Charset field,
     3131   then any character encodings not explicitly mentioned in the field are
     3132   considered "not acceptable" to the client.
    31123133</t>
    31133134<t>
    31143135   A request without any Accept-Charset header field implies that the user
    31153136   agent will accept any character encoding in response.
     3137</t>
     3138<t>
    31163139   If an Accept-Charset header field is present in a request and none of the
    31173140   available representations for the response have a character encoding that
     
    31353158</t>
    31363159<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Accept-Encoding"/><iref primary="true" item="Grammar" subitem="codings"/>
    3137   <x:ref>Accept-Encoding</x:ref>  = #( <x:ref>codings</x:ref> [ <x:ref>OWS</x:ref> ";" <x:ref>OWS</x:ref> "q=" <x:ref>qvalue</x:ref> ] )
     3160  <x:ref>Accept-Encoding</x:ref>  = #( <x:ref>codings</x:ref> [ <x:ref>weight</x:ref> ] )
    31383161  <x:ref>codings</x:ref>          = <x:ref>content-coding</x:ref> / "identity" / "*"
    31393162</artwork></figure>
    31403163<t>
    31413164   Each codings value &MAY; be given an associated quality value which
    3142    represents the preference for that encoding. The default value is q=1.
     3165   represents the preference for that encoding, as defined in &qvalue;.
    31433166</t>
    31443167<t>
     
    31843207<t>
    31853208   A request without an Accept-Encoding header field implies that the user
    3186    agent will accept any content-coding in response, but a representation
    3187    without content-coding is preferred for compatibility with the widest
    3188    variety of user agents.
     3209   agent will accept any content-coding in response.
    31893210</t>
    31903211<x:note>
     
    32083229</t>
    32093230<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Accept-Language"/><iref primary="true" item="Grammar" subitem="language-range"/>
    3210   <x:ref>Accept-Language</x:ref> =
    3211                     1#( <x:ref>language-range</x:ref> [ <x:ref>OWS</x:ref> ";" <x:ref>OWS</x:ref> "q=" <x:ref>qvalue</x:ref> ] )
     3231  <x:ref>Accept-Language</x:ref> = 1#( <x:ref>language-range</x:ref> [ <x:ref>weight</x:ref> ] )
    32123232  <x:ref>language-range</x:ref>  =
    32133233            &lt;language-range, defined in <xref target="RFC4647" x:fmt="," x:sec="2.1"/>&gt;
     
    32163236   Each language-range can be given an associated quality value which
    32173237   represents an estimate of the user's preference for the languages
    3218    specified by that range. The quality value defaults to "q=1". For
    3219    example,
     3238   specified by that range, as defined in &qvalue;. For example,
    32203239</t>
    32213240<figure><artwork type="example">
     
    55755594  <x:anchor-alias value="comment"/>
    55765595  <x:anchor-alias value="partial-URI"/>
    5577   <x:anchor-alias value="qvalue"/>
    55785596  <x:anchor-alias value="URI-reference"/>
    55795597<t>
     
    56005618  <x:ref>comment</x:ref>       = &lt;comment, defined in &field-components;&gt;
    56015619  <x:ref>partial-URI</x:ref>   = &lt;partial-URI, defined in &uri;&gt;
    5602   <x:ref>qvalue</x:ref>        = &lt;qvalue, defined in &qvalue;&gt;
    56035620  <x:ref>URI-reference</x:ref> = &lt;URI-reference, defined in &uri;&gt;
    56045621</artwork></figure>
     
    56115628<x:ref>Accept</x:ref> = [ ( "," / ( media-range [ accept-params ] ) ) *( OWS "," [
    56125629 OWS ( media-range [ accept-params ] ) ] ) ]
    5613 <x:ref>Accept-Charset</x:ref> = *( "," OWS ) ( ( charset / "*" ) [ OWS ";" OWS "q="
    5614  qvalue ] ) *( OWS "," [ OWS ( ( charset / "*" ) [ OWS ";" OWS "q="
    5615  qvalue ] ) ] )
    5616 <x:ref>Accept-Encoding</x:ref> = [ ( "," / ( codings [ OWS ";" OWS "q=" qvalue ] ) )
    5617  *( OWS "," [ OWS ( codings [ OWS ";" OWS "q=" qvalue ] ) ] ) ]
    5618 <x:ref>Accept-Language</x:ref> = *( "," OWS ) ( language-range [ OWS ";" OWS "q="
    5619  qvalue ] ) *( OWS "," [ OWS ( language-range [ OWS ";" OWS "q="
    5620  qvalue ] ) ] )
     5630<x:ref>Accept-Charset</x:ref> = *( "," OWS ) ( ( charset / "*" ) [ weight ] ) *( OWS
     5631 "," [ OWS ( ( charset / "*" ) [ weight ] ) ] )
     5632<x:ref>Accept-Encoding</x:ref> = [ ( "," / ( codings [ weight ] ) ) *( OWS "," [ OWS
     5633 ( codings [ weight ] ) ] ) ]
     5634<x:ref>Accept-Language</x:ref> = *( "," OWS ) ( language-range [ weight ] ) *( OWS
     5635 "," [ OWS ( language-range [ weight ] ) ] )
    56215636<x:ref>Allow</x:ref> = [ ( "," / method ) *( OWS "," [ OWS method ] ) ]
    56225637
     
    56585673<x:ref>absolute-URI</x:ref> = &lt;absolute-URI, defined in [Part1], Section 2.8&gt;
    56595674<x:ref>accept-ext</x:ref> = OWS ";" OWS token [ "=" word ]
    5660 <x:ref>accept-params</x:ref> = OWS ";" OWS "q=" qvalue *accept-ext
     5675<x:ref>accept-params</x:ref> = weight *accept-ext
    56615676<x:ref>asctime-date</x:ref> = day-name SP date3 SP time-of-day SP year
    56625677<x:ref>attribute</x:ref> = token
     
    57255740
    57265741<x:ref>quoted-string</x:ref> = &lt;quoted-string, defined in [Part1], Section 3.2.4&gt;
    5727 <x:ref>qvalue</x:ref> = &lt;qvalue, defined in [Part1], Section 4.3.1&gt;
     5742<x:ref>qvalue</x:ref> = ( "0" [ "." *3DIGIT ] ) / ( "1" [ "." *3"0" ] )
    57285743
    57295744<x:ref>rfc1123-date</x:ref> = day-name "," SP date1 SP time-of-day SP GMT
     
    57395754<x:ref>value</x:ref> = word
    57405755
     5756<x:ref>weight</x:ref> = OWS ";" OWS "q=" qvalue
    57415757<x:ref>word</x:ref> = &lt;word, defined in [Part1], Section 3.2.4&gt;
    57425758
Note: See TracChangeset for help on using the changeset viewer.