Changeset 2584


Ignore:
Timestamp:
26/01/14 03:52:34 (6 years ago)
Author:
fielding@…
Message:

Make field-value ABNF match the prose for excluding leading and trailing OWS; remove new requirement (not in 2616 and not implemented by anyone) that recipients SHOULD strip multiple whitespace or HTAB inside field-content (obs-fold is handled elsewhere); see #531

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

Legend:

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

    r2544 r2584  
    126126 / obs-text
    127127extension-pragma = token [ "=" ( token / quoted-string ) ]
    128 field-content = *( HTAB / SP / VCHAR / obs-text )
     128field-content = field-vchar [ *( SP / HTAB ) field-vchar ]
    129129field-name = token
    130130field-value = *( field-content / obs-fold )
     131field-vchar = VCHAR / obs-text
    131132first-byte-pos = 1*DIGIT
    132133fragment = <fragment, defined in [RFC3986], Section 3.5>
     
    159160
    160161obs-date = rfc850-date / asctime-date
    161 obs-fold = CRLF ( SP / HTAB )
     162obs-fold = CRLF 1*( SP / HTAB )
    162163obs-text = %x80-FF
    163164opaque-tag = DQUOTE *etagc DQUOTE
  • draft-ietf-httpbis/latest/p1-messaging.html

    r2583 r2584  
    12681268               value, and optional trailing whitespace.
    12691269            </p>
    1270             <div id="rfc.figure.u.18"></div><pre class="inline"><span id="rfc.iref.g.35"></span><span id="rfc.iref.g.36"></span><span id="rfc.iref.g.37"></span><span id="rfc.iref.g.38"></span><span id="rfc.iref.g.39"></span>  <a href="#header.fields" class="smpl">header-field</a>   = <a href="#header.fields" class="smpl">field-name</a> ":" <a href="#rule.whitespace" class="smpl">OWS</a> <a href="#header.fields" class="smpl">field-value</a> <a href="#rule.whitespace" class="smpl">OWS</a>
     1270            <div id="rfc.figure.u.18"></div><pre class="inline"><span id="rfc.iref.g.35"></span><span id="rfc.iref.g.36"></span><span id="rfc.iref.g.37"></span><span id="rfc.iref.g.38"></span><span id="rfc.iref.g.39"></span><span id="rfc.iref.g.40"></span>  <a href="#header.fields" class="smpl">header-field</a>   = <a href="#header.fields" class="smpl">field-name</a> ":" <a href="#rule.whitespace" class="smpl">OWS</a> <a href="#header.fields" class="smpl">field-value</a> <a href="#rule.whitespace" class="smpl">OWS</a>
     1271
    12711272  <a href="#header.fields" class="smpl">field-name</a>     = <a href="#rule.token.separators" class="smpl">token</a>
    12721273  <a href="#header.fields" class="smpl">field-value</a>    = *( <a href="#header.fields" class="smpl">field-content</a> / <a href="#header.fields" class="smpl">obs-fold</a> )
    1273   <a href="#header.fields" class="smpl">field-content</a>  = *( <a href="#core.rules" class="smpl">HTAB</a> / <a href="#core.rules" class="smpl">SP</a> / <a href="#core.rules" class="smpl">VCHAR</a> / <a href="#rule.quoted-string" class="smpl">obs-text</a> )
    1274   <a href="#header.fields" class="smpl">obs-fold</a>       = <a href="#core.rules" class="smpl">CRLF</a> ( <a href="#core.rules" class="smpl">SP</a> / <a href="#core.rules" class="smpl">HTAB</a> )
     1274  <a href="#header.fields" class="smpl">field-content</a>  = <a href="#header.fields" class="smpl">field-vchar</a> [ *( <a href="#core.rules" class="smpl">SP</a> / <a href="#core.rules" class="smpl">HTAB</a> ) <a href="#header.fields" class="smpl">field-vchar</a> ]
     1275  <a href="#header.fields" class="smpl">field-vchar</a>    = <a href="#core.rules" class="smpl">VCHAR</a> / <a href="#rule.quoted-string" class="smpl">obs-text</a>
     1276
     1277  <a href="#header.fields" class="smpl">obs-fold</a>       = <a href="#core.rules" class="smpl">CRLF</a> 1*( <a href="#core.rules" class="smpl">SP</a> / <a href="#core.rules" class="smpl">HTAB</a> )
    12751278                 ; obsolete line folding
    12761279                 ; see <a href="#field.parsing" title="Field Parsing">Section&nbsp;3.2.4</a>
     
    13371340                  <p id="rfc.section.3.2.3.p.5">   </p>
    13381341               </div>
    1339                <div id="rfc.figure.u.19"></div><pre class="inline"><span id="rfc.iref.g.40"></span><span id="rfc.iref.g.41"></span><span id="rfc.iref.g.42"></span>  <a href="#rule.whitespace" class="smpl">OWS</a>            = *( <a href="#core.rules" class="smpl">SP</a> / <a href="#core.rules" class="smpl">HTAB</a> )
     1342               <div id="rfc.figure.u.19"></div><pre class="inline"><span id="rfc.iref.g.41"></span><span id="rfc.iref.g.42"></span><span id="rfc.iref.g.43"></span>  <a href="#rule.whitespace" class="smpl">OWS</a>            = *( <a href="#core.rules" class="smpl">SP</a> / <a href="#core.rules" class="smpl">HTAB</a> )
    13401343                 ; optional whitespace
    13411344  <a href="#rule.whitespace" class="smpl">RWS</a>            = 1*( <a href="#core.rules" class="smpl">SP</a> / <a href="#core.rules" class="smpl">HTAB</a> )
     
    13611364                  be excluded by parsers when extracting the field value from a header field.
    13621365               </p>
    1363                <p id="rfc.section.3.2.4.p.4">A recipient of field-content containing multiple sequential octets of optional (OWS) or required (RWS) whitespace <em class="bcp14">SHOULD</em> either replace the sequence with a single SP or transform any non-SP octets in the sequence to SP octets before interpreting
    1364                   the field value or forwarding the message downstream.
    1365                </p>
    1366                <p id="rfc.section.3.2.4.p.5">Historically, HTTP header field values could be extended over multiple lines by preceding each extra line with at least one
     1366               <p id="rfc.section.3.2.4.p.4">Historically, HTTP header field values could be extended over multiple lines by preceding each extra line with at least one
    13671367                  space or horizontal tab (obs-fold). This specification deprecates such line folding except within the message/http media type
    13681368                  (<a href="#internet.media.type.message.http" title="Internet Media Type message/http">Section&nbsp;8.3.1</a>). A sender <em class="bcp14">MUST NOT</em> generate a message that includes line folding (i.e., that has any field-value that contains a match to the <a href="#header.fields" class="smpl">obs-fold</a> rule) unless the message is intended for packaging within the message/http media type.
    13691369               </p>
    1370                <p id="rfc.section.3.2.4.p.6">A server that receives an <a href="#header.fields" class="smpl">obs-fold</a> in a request message that is not within a message/http container <em class="bcp14">MUST</em> either reject the message by sending a <a href="p2-semantics.html#status.400" class="smpl">400 (Bad Request)</a>, preferably with a representation explaining that obsolete line folding is unacceptable, or replace each received <a href="#header.fields" class="smpl">obs-fold</a> with one or more <a href="#core.rules" class="smpl">SP</a> octets prior to interpreting the field value or forwarding the message downstream.
    1371                </p>
    1372                <p id="rfc.section.3.2.4.p.7">A proxy or gateway that receives an <a href="#header.fields" class="smpl">obs-fold</a> in a response message that is not within a message/http container <em class="bcp14">MUST</em> either discard the message and replace it with a <a href="p2-semantics.html#status.502" class="smpl">502 (Bad Gateway)</a> response, preferably with a representation explaining that unacceptable line folding was received, or replace each received <a href="#header.fields" class="smpl">obs-fold</a> with one or more <a href="#core.rules" class="smpl">SP</a> octets prior to interpreting the field value or forwarding the message downstream.
    1373                </p>
    1374                <p id="rfc.section.3.2.4.p.8">A user agent that receives an <a href="#header.fields" class="smpl">obs-fold</a> in a response message that is not within a message/http container <em class="bcp14">MUST</em> replace each received <a href="#header.fields" class="smpl">obs-fold</a> with one or more <a href="#core.rules" class="smpl">SP</a> octets prior to interpreting the field value.
    1375                </p>
    1376                <p id="rfc.section.3.2.4.p.9">Historically, HTTP has allowed field content with text in the ISO-8859-1 <a href="#ISO-8859-1" id="rfc.xref.ISO-8859-1.1"><cite title="Information technology -- 8-bit single-byte coded graphic character sets -- Part 1: Latin alphabet No. 1">[ISO-8859-1]</cite></a> charset, supporting other charsets only through use of <a href="#RFC2047" id="rfc.xref.RFC2047.1"><cite title="MIME (Multipurpose Internet Mail Extensions) Part Three: Message Header Extensions for Non-ASCII Text">[RFC2047]</cite></a> encoding. In practice, most HTTP header field values use only a subset of the US-ASCII charset <a href="#USASCII" id="rfc.xref.USASCII.3"><cite title="Coded Character Set -- 7-bit American Standard Code for Information Interchange">[USASCII]</cite></a>. Newly defined header fields <em class="bcp14">SHOULD</em> limit their field values to US-ASCII octets. A recipient <em class="bcp14">SHOULD</em> treat other octets in field content (obs-text) as opaque data.
     1370               <p id="rfc.section.3.2.4.p.5">A server that receives an <a href="#header.fields" class="smpl">obs-fold</a> in a request message that is not within a message/http container <em class="bcp14">MUST</em> either reject the message by sending a <a href="p2-semantics.html#status.400" class="smpl">400 (Bad Request)</a>, preferably with a representation explaining that obsolete line folding is unacceptable, or replace each received <a href="#header.fields" class="smpl">obs-fold</a> with one or more <a href="#core.rules" class="smpl">SP</a> octets prior to interpreting the field value or forwarding the message downstream.
     1371               </p>
     1372               <p id="rfc.section.3.2.4.p.6">A proxy or gateway that receives an <a href="#header.fields" class="smpl">obs-fold</a> in a response message that is not within a message/http container <em class="bcp14">MUST</em> either discard the message and replace it with a <a href="p2-semantics.html#status.502" class="smpl">502 (Bad Gateway)</a> response, preferably with a representation explaining that unacceptable line folding was received, or replace each received <a href="#header.fields" class="smpl">obs-fold</a> with one or more <a href="#core.rules" class="smpl">SP</a> octets prior to interpreting the field value or forwarding the message downstream.
     1373               </p>
     1374               <p id="rfc.section.3.2.4.p.7">A user agent that receives an <a href="#header.fields" class="smpl">obs-fold</a> in a response message that is not within a message/http container <em class="bcp14">MUST</em> replace each received <a href="#header.fields" class="smpl">obs-fold</a> with one or more <a href="#core.rules" class="smpl">SP</a> octets prior to interpreting the field value.
     1375               </p>
     1376               <p id="rfc.section.3.2.4.p.8">Historically, HTTP has allowed field content with text in the ISO-8859-1 <a href="#ISO-8859-1" id="rfc.xref.ISO-8859-1.1"><cite title="Information technology -- 8-bit single-byte coded graphic character sets -- Part 1: Latin alphabet No. 1">[ISO-8859-1]</cite></a> charset, supporting other charsets only through use of <a href="#RFC2047" id="rfc.xref.RFC2047.1"><cite title="MIME (Multipurpose Internet Mail Extensions) Part Three: Message Header Extensions for Non-ASCII Text">[RFC2047]</cite></a> encoding. In practice, most HTTP header field values use only a subset of the US-ASCII charset <a href="#USASCII" id="rfc.xref.USASCII.3"><cite title="Coded Character Set -- 7-bit American Standard Code for Information Interchange">[USASCII]</cite></a>. Newly defined header fields <em class="bcp14">SHOULD</em> limit their field values to US-ASCII octets. A recipient <em class="bcp14">SHOULD</em> treat other octets in field content (obs-text) as opaque data.
    13771377               </p>
    13781378            </div>
     
    13971397                  </p>
    13981398               </div>
    1399                <div id="rfc.figure.u.20"></div><pre class="inline"><span id="rfc.iref.g.43"></span><span id="rfc.iref.g.44"></span>  <a href="#rule.token.separators" class="smpl">token</a>          = 1*<a href="#rule.token.separators" class="smpl">tchar</a>
     1399               <div id="rfc.figure.u.20"></div><pre class="inline"><span id="rfc.iref.g.44"></span><span id="rfc.iref.g.45"></span>  <a href="#rule.token.separators" class="smpl">token</a>          = 1*<a href="#rule.token.separators" class="smpl">tchar</a>
    14001400
    14011401  <a href="#rule.token.separators" class="smpl">tchar</a>          = "!" / "#" / "$" / "%" / "&amp;" / "'" / "*"
     
    14061406                  <p id="rfc.section.3.2.6.p.3">   A string of text is parsed as a single value if it is quoted using double-quote marks.</p>
    14071407               </div>
    1408                <div id="rfc.figure.u.21"></div><pre class="inline"><span id="rfc.iref.g.45"></span><span id="rfc.iref.g.46"></span><span id="rfc.iref.g.47"></span>  <a href="#rule.quoted-string" class="smpl">quoted-string</a>  = <a href="#core.rules" class="smpl">DQUOTE</a> *( <a href="#rule.quoted-string" class="smpl">qdtext</a> / <a href="#rule.quoted-pair" class="smpl">quoted-pair</a> ) <a href="#core.rules" class="smpl">DQUOTE</a>
     1408               <div id="rfc.figure.u.21"></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>  <a href="#rule.quoted-string" class="smpl">quoted-string</a>  = <a href="#core.rules" class="smpl">DQUOTE</a> *( <a href="#rule.quoted-string" class="smpl">qdtext</a> / <a href="#rule.quoted-pair" class="smpl">quoted-pair</a> ) <a href="#core.rules" class="smpl">DQUOTE</a>
    14091409  <a href="#rule.quoted-string" class="smpl">qdtext</a>         = <a href="#core.rules" class="smpl">HTAB</a> / <a href="#core.rules" class="smpl">SP</a> /%x21 / %x23-5B / %x5D-7E / <a href="#rule.quoted-string" class="smpl">obs-text</a>
    14101410  <a href="#rule.quoted-string" class="smpl">obs-text</a>       = %x80-FF
     
    14141414                  </p>
    14151415               </div>
    1416                <div id="rfc.figure.u.22"></div><pre class="inline"><span id="rfc.iref.g.48"></span><span id="rfc.iref.g.49"></span>  <a href="#rule.comment" class="smpl">comment</a>        = "(" *( <a href="#rule.comment" class="smpl">ctext</a> / <a href="#rule.quoted-pair" class="smpl">quoted-pair</a> / <a href="#rule.comment" class="smpl">comment</a> ) ")"
     1416               <div id="rfc.figure.u.22"></div><pre class="inline"><span id="rfc.iref.g.49"></span><span id="rfc.iref.g.50"></span>  <a href="#rule.comment" class="smpl">comment</a>        = "(" *( <a href="#rule.comment" class="smpl">ctext</a> / <a href="#rule.quoted-pair" class="smpl">quoted-pair</a> / <a href="#rule.comment" class="smpl">comment</a> ) ")"
    14171417  <a href="#rule.comment" class="smpl">ctext</a>          = <a href="#core.rules" class="smpl">HTAB</a> / <a href="#core.rules" class="smpl">SP</a> / %x21-27 / %x2A-5B / %x5D-7E / <a href="#rule.quoted-string" class="smpl">obs-text</a>
    14181418</pre><div id="rule.quoted-pair">
     
    14211421                  </p>
    14221422               </div>
    1423                <div id="rfc.figure.u.23"></div><pre class="inline"><span id="rfc.iref.g.50"></span>  <a href="#rule.quoted-pair" class="smpl">quoted-pair</a>    = "\" ( <a href="#core.rules" class="smpl">HTAB</a> / <a href="#core.rules" class="smpl">SP</a> / <a href="#core.rules" class="smpl">VCHAR</a> / <a href="#rule.quoted-string" class="smpl">obs-text</a> )
     1423               <div id="rfc.figure.u.23"></div><pre class="inline"><span id="rfc.iref.g.51"></span>  <a href="#rule.quoted-pair" class="smpl">quoted-pair</a>    = "\" ( <a href="#core.rules" class="smpl">HTAB</a> / <a href="#core.rules" class="smpl">SP</a> / <a href="#core.rules" class="smpl">VCHAR</a> / <a href="#rule.quoted-string" class="smpl">obs-text</a> )
    14241424</pre><p id="rfc.section.3.2.6.p.9">A sender <em class="bcp14">SHOULD NOT</em> generate a quoted-pair in a quoted-string except where necessary to quote DQUOTE and backslash octets occurring within that
    14251425                  string. A sender <em class="bcp14">SHOULD NOT</em> generate a quoted-pair in a comment except where necessary to quote parentheses ["(" and ")"] and backslash octets occurring
     
    14331433               is identical to the payload body unless a transfer coding has been applied, as described in <a href="#header.transfer-encoding" id="rfc.xref.header.transfer-encoding.1" title="Transfer-Encoding">Section&nbsp;3.3.1</a>.
    14341434            </p>
    1435             <div id="rfc.figure.u.24"></div><pre class="inline"><span id="rfc.iref.g.51"></span>  <a href="#message.body" class="smpl">message-body</a> = *OCTET
     1435            <div id="rfc.figure.u.24"></div><pre class="inline"><span id="rfc.iref.g.52"></span>  <a href="#message.body" class="smpl">message-body</a> = *OCTET
    14361436</pre><p id="rfc.section.3.3.p.3">The rules for when a message body is allowed in a message differ for requests and responses.</p>
    14371437            <p id="rfc.section.3.3.p.4">The presence of a message body in a request is signaled by a <a href="#header.content-length" class="smpl">Content-Length</a> or <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a> header field. Request message framing is independent of method semantics, even if the method does not define any use for a
     
    14491449                  have been (or will be) applied to the payload body in order to form the message body. Transfer codings are defined in <a href="#transfer.codings" title="Transfer Codings">Section&nbsp;4</a>.
    14501450               </p>
    1451                <div id="rfc.figure.u.25"></div><pre class="inline"><span id="rfc.iref.g.52"></span>  <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a> = 1#<a href="#transfer.codings" class="smpl">transfer-coding</a>
     1451               <div id="rfc.figure.u.25"></div><pre class="inline"><span id="rfc.iref.g.53"></span>  <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a> = 1#<a href="#transfer.codings" class="smpl">transfer-coding</a>
    14521452</pre><p id="rfc.section.3.3.1.p.3">Transfer-Encoding is analogous to the Content-Transfer-Encoding field of MIME, which was designed to enable safe transport
    14531453                  of binary data over a 7-bit transport service (<a href="#RFC2045" id="rfc.xref.RFC2045.2"><cite title="Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies">[RFC2045]</cite></a>, <a href="http://tools.ietf.org/html/rfc2045#section-6">Section 6</a>). However, safe transport has a different focus for an 8bit-clean transfer protocol. In HTTP's case, Transfer-Encoding is
     
    14891489                  indicates the size of the selected representation (<a href="p2-semantics.html#representations" title="Representations">Section 3</a> of <a href="#Part2" id="rfc.xref.Part2.16"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[Part2]</cite></a>).
    14901490               </p>
    1491                <div id="rfc.figure.u.27"></div><pre class="inline"><span id="rfc.iref.g.53"></span>  <a href="#header.content-length" class="smpl">Content-Length</a> = 1*<a href="#core.rules" class="smpl">DIGIT</a>
     1491               <div id="rfc.figure.u.27"></div><pre class="inline"><span id="rfc.iref.g.54"></span>  <a href="#header.content-length" class="smpl">Content-Length</a> = 1*<a href="#core.rules" class="smpl">DIGIT</a>
    14921492</pre><p id="rfc.section.3.3.2.p.3">An example is</p>
    14931493               <div id="rfc.figure.u.28"></div><pre class="text">  Content-Length: 3495
     
    16371637            coding is a property of the message rather than a property of the representation that is being transferred.
    16381638         </p>
    1639          <div id="rfc.figure.u.29"></div><pre class="inline"><span id="rfc.iref.g.54"></span><span id="rfc.iref.g.55"></span>  <a href="#transfer.codings" class="smpl">transfer-coding</a>    = "chunked" ; <a href="#chunked.encoding" title="Chunked Transfer Coding">Section&nbsp;4.1</a>
     1639         <div id="rfc.figure.u.29"></div><pre class="inline"><span id="rfc.iref.g.55"></span><span id="rfc.iref.g.56"></span>  <a href="#transfer.codings" class="smpl">transfer-coding</a>    = "chunked" ; <a href="#chunked.encoding" title="Chunked Transfer Coding">Section&nbsp;4.1</a>
    16401640                     / "compress" ; <a href="#compress.coding" title="Compress Coding">Section&nbsp;4.2.1</a>
    16411641                     / "deflate" ; <a href="#deflate.coding" title="Deflate Coding">Section&nbsp;4.2.2</a>
     
    16461646            <p id="rfc.section.4.p.3"> Parameters are in the form of a name or name=value pair.</p>
    16471647         </div>
    1648          <div id="rfc.figure.u.30"></div><pre class="inline"><span id="rfc.iref.g.56"></span>  <a href="#rule.parameter" class="smpl">transfer-parameter</a> = <a href="#rule.token.separators" class="smpl">token</a> <a href="#rule.whitespace" class="smpl">BWS</a> "=" <a href="#rule.whitespace" class="smpl">BWS</a> ( <a href="#rule.token.separators" class="smpl">token</a> / <a href="#rule.quoted-string" class="smpl">quoted-string</a> )
     1648         <div id="rfc.figure.u.30"></div><pre class="inline"><span id="rfc.iref.g.57"></span>  <a href="#rule.parameter" class="smpl">transfer-parameter</a> = <a href="#rule.token.separators" class="smpl">token</a> <a href="#rule.whitespace" class="smpl">BWS</a> "=" <a href="#rule.whitespace" class="smpl">BWS</a> ( <a href="#rule.token.separators" class="smpl">token</a> / <a href="#rule.quoted-string" class="smpl">quoted-string</a> )
    16491649</pre><p id="rfc.section.4.p.5">All transfer-coding names are case-insensitive and ought to be registered within the HTTP Transfer Coding registry, as defined
    16501650            in <a href="#transfer.coding.registry" title="Transfer Coding Registry">Section&nbsp;8.4</a>. They are used in the <a href="#header.te" class="smpl">TE</a> (<a href="#header.te" id="rfc.xref.header.te.1" title="TE">Section&nbsp;4.3</a>) and <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a> (<a href="#header.transfer-encoding" id="rfc.xref.header.transfer-encoding.2" title="Transfer-Encoding">Section&nbsp;3.3.1</a>) header fields.
     
    16581658               message.
    16591659            </p>
    1660             <div id="rfc.figure.u.31"></div><pre class="inline"><span id="rfc.iref.g.57"></span><span id="rfc.iref.g.58"></span><span id="rfc.iref.g.59"></span><span id="rfc.iref.g.60"></span><span id="rfc.iref.g.61"></span><span id="rfc.iref.g.62"></span><span id="rfc.iref.g.63"></span>  <a href="#chunked.encoding" class="smpl">chunked-body</a>   = *<a href="#chunked.encoding" class="smpl">chunk</a>
     1660            <div id="rfc.figure.u.31"></div><pre class="inline"><span id="rfc.iref.g.58"></span><span id="rfc.iref.g.59"></span><span id="rfc.iref.g.60"></span><span id="rfc.iref.g.61"></span><span id="rfc.iref.g.62"></span><span id="rfc.iref.g.63"></span><span id="rfc.iref.g.64"></span>  <a href="#chunked.encoding" class="smpl">chunked-body</a>   = *<a href="#chunked.encoding" class="smpl">chunk</a>
    16611661                   <a href="#chunked.encoding" class="smpl">last-chunk</a>
    16621662                   <a href="#chunked.trailer.part" class="smpl">trailer-part</a>
     
    16801680                  of message body size.
    16811681               </p>
    1682                <div id="rfc.figure.u.32"></div><pre class="inline"><span id="rfc.iref.g.64"></span><span id="rfc.iref.g.65"></span><span id="rfc.iref.g.66"></span><span id="rfc.iref.g.67"></span>  <a href="#chunked.extension" class="smpl">chunk-ext</a>      = *( ";" <a href="#chunked.extension" class="smpl">chunk-ext-name</a> [ "=" <a href="#chunked.extension" class="smpl">chunk-ext-val</a> ] )
     1682               <div id="rfc.figure.u.32"></div><pre class="inline"><span id="rfc.iref.g.65"></span><span id="rfc.iref.g.66"></span><span id="rfc.iref.g.67"></span><span id="rfc.iref.g.68"></span>  <a href="#chunked.extension" class="smpl">chunk-ext</a>      = *( ";" <a href="#chunked.extension" class="smpl">chunk-ext-name</a> [ "=" <a href="#chunked.extension" class="smpl">chunk-ext-val</a> ] )
    16831683
    16841684  <a href="#chunked.extension" class="smpl">chunk-ext-name</a> = <a href="#rule.token.separators" class="smpl">token</a>
     
    17011701                  header section.
    17021702               </p>
    1703                <div id="rfc.figure.u.33"></div><pre class="inline"><span id="rfc.iref.g.68"></span><span id="rfc.iref.g.69"></span>  <a href="#chunked.trailer.part" class="smpl">trailer-part</a>   = *( <a href="#header.fields" class="smpl">header-field</a> <a href="#core.rules" class="smpl">CRLF</a> )
     1703               <div id="rfc.figure.u.33"></div><pre class="inline"><span id="rfc.iref.g.69"></span><span id="rfc.iref.g.70"></span>  <a href="#chunked.trailer.part" class="smpl">trailer-part</a>   = *( <a href="#header.fields" class="smpl">header-field</a> <a href="#core.rules" class="smpl">CRLF</a> )
    17041704</pre><p id="rfc.section.4.1.2.p.3">A sender <em class="bcp14">MUST NOT</em> generate a trailer that contains a field necessary for message framing (e.g., <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a> and <a href="#header.content-length" class="smpl">Content-Length</a>), routing (e.g., <a href="#header.host" class="smpl">Host</a>), request modifiers (e.g., controls and conditionals in <a href="p2-semantics.html#request.header.fields" title="Request Header Fields">Section 5</a> of <a href="#Part2" id="rfc.xref.Part2.19"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[Part2]</cite></a>), authentication (e.g., see <a href="#Part7" id="rfc.xref.Part7.2"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Authentication">[Part7]</cite></a> and <a href="#RFC6265" id="rfc.xref.RFC6265.3"><cite title="HTTP State Management Mechanism">[RFC6265]</cite></a>), response control data (e.g., see <a href="p2-semantics.html#response.control.data" title="Control Data">Section 7.1</a> of <a href="#Part2" id="rfc.xref.Part2.20"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[Part2]</cite></a>), or determining how to process the payload (e.g., <a href="p2-semantics.html#header.content-encoding" class="smpl">Content-Encoding</a>, <a href="p2-semantics.html#header.content-type" class="smpl">Content-Type</a>, <a href="p5-range.html#header.content-range" class="smpl">Content-Range</a>, and <a href="#header.trailer" class="smpl">Trailer</a>).
    17051705               </p>
     
    17541754            </div>
    17551755            <div id="gzip.coding">
    1756                <div id="rfc.iref.g.70"></div>
     1756               <div id="rfc.iref.g.71"></div>
    17571757               <h3 id="rfc.section.4.2.3"><a href="#rfc.section.4.2.3">4.2.3</a>&nbsp;<a href="#gzip.coding">Gzip Coding</a></h3>
    17581758               <p id="rfc.section.4.2.3.p.1">The "gzip" coding is an LZ77 coding with a 32 bit CRC that is commonly produced by the gzip file compression program <a href="#RFC1952" id="rfc.xref.RFC1952.1"><cite title="GZIP file format specification version 4.3">[RFC1952]</cite></a>. A recipient <em class="bcp14">SHOULD</em> consider "x-gzip" to be equivalent to "gzip".
     
    17691769               described in <a href="#transfer.codings" title="Transfer Codings">Section&nbsp;4</a>), and/or the keyword "trailers". A client <em class="bcp14">MUST NOT</em> send the chunked transfer coding name in TE; chunked is always acceptable for HTTP/1.1 recipients.
    17701770            </p>
    1771             <div id="rfc.figure.u.35"></div><pre class="inline"><span id="rfc.iref.g.71"></span><span id="rfc.iref.g.72"></span><span id="rfc.iref.g.73"></span><span id="rfc.iref.g.74"></span>  <a href="#header.te" class="smpl">TE</a>        = #<a href="#header.te" class="smpl">t-codings</a>
     1771            <div id="rfc.figure.u.35"></div><pre class="inline"><span id="rfc.iref.g.72"></span><span id="rfc.iref.g.73"></span><span id="rfc.iref.g.74"></span><span id="rfc.iref.g.75"></span>  <a href="#header.te" class="smpl">TE</a>        = #<a href="#header.te" class="smpl">t-codings</a>
    17721772  <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> ] )
    17731773  <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>
     
    18021802               and the recipient wishes to confirm an integrity check on the fly.
    18031803            </p>
    1804             <div id="rfc.figure.u.37"></div><pre class="inline"><span id="rfc.iref.g.75"></span><span id="rfc.iref.g.76"></span>  <a href="#header.trailer" class="smpl">Trailer</a> = 1#<a href="#header.fields" class="smpl">field-name</a>
     1804            <div id="rfc.figure.u.37"></div><pre class="inline"><span id="rfc.iref.g.76"></span><span id="rfc.iref.g.77"></span>  <a href="#header.trailer" class="smpl">Trailer</a> = 1#<a href="#header.fields" class="smpl">field-name</a>
    18051805</pre></div>
    18061806      </div>
     
    18491849               both the method being requested and whether the request is to a proxy.
    18501850            </p>
    1851             <div id="rfc.figure.u.38"></div><pre class="inline"><span id="rfc.iref.g.77"></span><span id="rfc.iref.g.78"></span><span id="rfc.iref.g.79"></span><span id="rfc.iref.g.80"></span><span id="rfc.iref.g.81"></span>  <a href="#request-target" class="smpl">request-target</a> = <a href="#origin-form" class="smpl">origin-form</a>
     1851            <div id="rfc.figure.u.38"></div><pre class="inline"><span id="rfc.iref.g.78"></span><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>  <a href="#request-target" class="smpl">request-target</a> = <a href="#origin-form" class="smpl">origin-form</a>
    18521852                 / <a href="#absolute-form" class="smpl">absolute-form</a>
    18531853                 / <a href="#authority-form" class="smpl">authority-form</a>
     
    19171917               to distinguish among resources while servicing requests for multiple host names on a single IP address.
    19181918            </p>
    1919             <div id="rfc.figure.u.46"></div><pre class="inline"><span id="rfc.iref.g.82"></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.7.1</a>
     1919            <div id="rfc.figure.u.46"></div><pre class="inline"><span id="rfc.iref.g.83"></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.7.1</a>
    19201920</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 a client <em class="bcp14">MUST</em> send a field-value for Host that is identical to that authority component, excluding any userinfo subcomponent and its "@"
    19211921               delimiter (<a href="#http.uri" title="http URI scheme">Section&nbsp;2.7.1</a>). If the authority component is missing or undefined for the target URI, then a client <em class="bcp14">MUST</em> send a Host header field with an empty field-value.
     
    20112011                  along the request/response chain.
    20122012               </p>
    2013                <div id="rfc.figure.u.52"></div><pre class="inline"><span id="rfc.iref.g.83"></span><span id="rfc.iref.g.84"></span><span id="rfc.iref.g.85"></span><span id="rfc.iref.g.86"></span><span id="rfc.iref.g.87"></span><span id="rfc.iref.g.88"></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> [ <a href="#rule.whitespace" class="smpl">RWS</a> <a href="#rule.comment" class="smpl">comment</a> ] )
     2013               <div id="rfc.figure.u.52"></div><pre class="inline"><span id="rfc.iref.g.84"></span><span id="rfc.iref.g.85"></span><span id="rfc.iref.g.86"></span><span id="rfc.iref.g.87"></span><span id="rfc.iref.g.88"></span><span id="rfc.iref.g.89"></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> [ <a href="#rule.whitespace" class="smpl">RWS</a> <a href="#rule.comment" class="smpl">comment</a> ] )
    20142014
    20152015  <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>
     
    21162116            </p>
    21172117            <p id="rfc.section.6.1.p.4">The Connection header field's value has the following grammar:</p>
    2118             <div id="rfc.figure.u.56"></div><pre class="inline"><span id="rfc.iref.g.89"></span><span id="rfc.iref.g.90"></span>  <a href="#header.connection" class="smpl">Connection</a>        = 1#<a href="#header.connection" class="smpl">connection-option</a>
     2118            <div id="rfc.figure.u.56"></div><pre class="inline"><span id="rfc.iref.g.90"></span><span id="rfc.iref.g.91"></span>  <a href="#header.connection" class="smpl">Connection</a>        = 1#<a href="#header.connection" class="smpl">connection-option</a>
    21192119  <a href="#header.connection" class="smpl">connection-option</a> = <a href="#rule.token.separators" class="smpl">token</a>
    21202120</pre><p id="rfc.section.6.1.p.6">Connection options are case-insensitive.</p>
     
    22852285               in order of descending preference, before sending the final response. A server <em class="bcp14">MAY</em> ignore a received Upgrade header field if it wishes to continue using the current protocol on that connection.
    22862286            </p>
    2287             <div id="rfc.figure.u.58"></div><pre class="inline"><span id="rfc.iref.g.91"></span>  <a href="#header.upgrade" class="smpl">Upgrade</a>          = 1#<a href="#header.upgrade" class="smpl">protocol</a>
     2287            <div id="rfc.figure.u.58"></div><pre class="inline"><span id="rfc.iref.g.92"></span>  <a href="#header.upgrade" class="smpl">Upgrade</a>          = 1#<a href="#header.upgrade" class="smpl">protocol</a>
    22882288
    22892289  <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>]
     
    33443344 / obs-text
    33453345
    3346 <a href="#header.fields" class="smpl">field-content</a> = *( HTAB / SP / VCHAR / obs-text )
     3346<a href="#header.fields" class="smpl">field-content</a> = field-vchar [ *( SP / HTAB ) field-vchar ]
    33473347<a href="#header.fields" class="smpl">field-name</a> = token
    33483348<a href="#header.fields" class="smpl">field-value</a> = *( field-content / obs-fold )
     3349<a href="#header.fields" class="smpl">field-vchar</a> = VCHAR / obs-text
    33493350<a href="#uri" class="smpl">fragment</a> = &lt;fragment, defined in [RFC3986], Section 3.5&gt;
    33503351
     
    33603361<a href="#method" class="smpl">method</a> = token
    33613362
    3362 <a href="#header.fields" class="smpl">obs-fold</a> = CRLF ( SP / HTAB )
     3363<a href="#header.fields" class="smpl">obs-fold</a> = CRLF 1*( SP / HTAB )
    33633364<a href="#rule.quoted-string" class="smpl">obs-text</a> = %x80-FF
    33643365<a href="#origin-form" class="smpl">origin-form</a> = absolute-path [ "?" query ]
     
    35033504                  <li><tt>Grammar</tt>&nbsp;&nbsp;
    35043505                     <ul>
    3505                         <li><tt>absolute-form</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.79"><b>5.3</b></a></li>
     3506                        <li><tt>absolute-form</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.80"><b>5.3</b></a></li>
    35063507                        <li><tt>absolute-path</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.19"><b>2.7</b></a></li>
    35073508                        <li><tt>absolute-URI</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.17"><b>2.7</b></a></li>
    35083509                        <li>ALPHA&nbsp;&nbsp;<a href="#rfc.iref.g.1"><b>1.2</b></a></li>
    3509                         <li><tt>asterisk-form</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.81"><b>5.3</b></a></li>
     3510                        <li><tt>asterisk-form</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.82"><b>5.3</b></a></li>
    35103511                        <li><tt>authority</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.18"><b>2.7</b></a></li>
    3511                         <li><tt>authority-form</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.80"><b>5.3</b></a></li>
    3512                         <li><tt>BWS</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.42"><b>3.2.3</b></a></li>
    3513                         <li><tt>chunk</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.58"><b>4.1</b></a></li>
    3514                         <li><tt>chunk-data</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.63"><b>4.1</b></a></li>
    3515                         <li><tt>chunk-ext</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.62">4.1</a>, <a href="#rfc.iref.g.65"><b>4.1.1</b></a></li>
    3516                         <li><tt>chunk-ext-name</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.66"><b>4.1.1</b></a></li>
    3517                         <li><tt>chunk-ext-val</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.67"><b>4.1.1</b></a></li>
    3518                         <li><tt>chunk-size</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.59"><b>4.1</b></a></li>
    3519                         <li><tt>chunked-body</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.57"><b>4.1</b></a>, <a href="#rfc.iref.g.64"><b>4.1.1</b></a></li>
    3520                         <li><tt>comment</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.48"><b>3.2.6</b></a></li>
    3521                         <li><tt>Connection</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.89"><b>6.1</b></a></li>
    3522                         <li><tt>connection-option</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.90"><b>6.1</b></a></li>
    3523                         <li><tt>Content-Length</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.53"><b>3.3.2</b></a></li>
     3512                        <li><tt>authority-form</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.81"><b>5.3</b></a></li>
     3513                        <li><tt>BWS</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.43"><b>3.2.3</b></a></li>
     3514                        <li><tt>chunk</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.59"><b>4.1</b></a></li>
     3515                        <li><tt>chunk-data</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.64"><b>4.1</b></a></li>
     3516                        <li><tt>chunk-ext</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.63">4.1</a>, <a href="#rfc.iref.g.66"><b>4.1.1</b></a></li>
     3517                        <li><tt>chunk-ext-name</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.67"><b>4.1.1</b></a></li>
     3518                        <li><tt>chunk-ext-val</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.68"><b>4.1.1</b></a></li>
     3519                        <li><tt>chunk-size</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.60"><b>4.1</b></a></li>
     3520                        <li><tt>chunked-body</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.58"><b>4.1</b></a>, <a href="#rfc.iref.g.65"><b>4.1.1</b></a></li>
     3521                        <li><tt>comment</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.49"><b>3.2.6</b></a></li>
     3522                        <li><tt>Connection</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.90"><b>6.1</b></a></li>
     3523                        <li><tt>connection-option</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.91"><b>6.1</b></a></li>
     3524                        <li><tt>Content-Length</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.54"><b>3.3.2</b></a></li>
    35243525                        <li>CR&nbsp;&nbsp;<a href="#rfc.iref.g.2"><b>1.2</b></a></li>
    35253526                        <li>CRLF&nbsp;&nbsp;<a href="#rfc.iref.g.3"><b>1.2</b></a></li>
    3526                         <li><tt>ctext</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.49"><b>3.2.6</b></a></li>
     3527                        <li><tt>ctext</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.50"><b>3.2.6</b></a></li>
    35273528                        <li>CTL&nbsp;&nbsp;<a href="#rfc.iref.g.4"><b>1.2</b></a></li>
    35283529                        <li>DIGIT&nbsp;&nbsp;<a href="#rfc.iref.g.5"><b>1.2</b></a></li>
    35293530                        <li>DQUOTE&nbsp;&nbsp;<a href="#rfc.iref.g.6"><b>1.2</b></a></li>
    3530                         <li><tt>field-content</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.38"><b>3.2</b></a></li>
    3531                         <li><tt>field-name</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.36"><b>3.2</b></a>, <a href="#rfc.iref.g.76">4.4</a></li>
     3531                        <li><tt>field-content</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.39"><b>3.2</b></a></li>
     3532                        <li><tt>field-name</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.36"><b>3.2</b></a>, <a href="#rfc.iref.g.77">4.4</a></li>
    35323533                        <li><tt>field-value</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.37"><b>3.2</b></a></li>
     3534                        <li><tt>field-vchar</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.38"><b>3.2</b></a></li>
    35333535                        <li><tt>fragment</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.22"><b>2.7</b></a></li>
    3534                         <li><tt>header-field</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.35"><b>3.2</b></a>, <a href="#rfc.iref.g.69">4.1.2</a></li>
     3536                        <li><tt>header-field</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.35"><b>3.2</b></a>, <a href="#rfc.iref.g.70">4.1.2</a></li>
    35353537                        <li>HEXDIG&nbsp;&nbsp;<a href="#rfc.iref.g.7"><b>1.2</b></a></li>
    3536                         <li><tt>Host</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.82"><b>5.4</b></a></li>
     3538                        <li><tt>Host</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.83"><b>5.4</b></a></li>
    35373539                        <li>HTAB&nbsp;&nbsp;<a href="#rfc.iref.g.8"><b>1.2</b></a></li>
    35383540                        <li><tt>HTTP-message</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.28"><b>3</b></a></li>
     
    35413543                        <li><tt>HTTP-version</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.14"><b>2.6</b></a></li>
    35423544                        <li><tt>https-URI</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.27"><b>2.7.2</b></a></li>
    3543                         <li><tt>last-chunk</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.60"><b>4.1</b></a></li>
     3545                        <li><tt>last-chunk</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.61"><b>4.1</b></a></li>
    35443546                        <li>LF&nbsp;&nbsp;<a href="#rfc.iref.g.9"><b>1.2</b></a></li>
    3545                         <li><tt>message-body</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.51"><b>3.3</b></a></li>
     3547                        <li><tt>message-body</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.52"><b>3.3</b></a></li>
    35463548                        <li><tt>method</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.31"><b>3.1.1</b></a></li>
    3547                         <li><tt>obs-fold</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.39"><b>3.2</b></a></li>
    3548                         <li><tt>obs-text</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.47"><b>3.2.6</b></a></li>
     3549                        <li><tt>obs-fold</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.40"><b>3.2</b></a></li>
     3550                        <li><tt>obs-text</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.48"><b>3.2.6</b></a></li>
    35493551                        <li>OCTET&nbsp;&nbsp;<a href="#rfc.iref.g.10"><b>1.2</b></a></li>
    3550                         <li><tt>origin-form</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.78"><b>5.3</b></a></li>
    3551                         <li><tt>OWS</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.40"><b>3.2.3</b></a></li>
     3552                        <li><tt>origin-form</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.79"><b>5.3</b></a></li>
     3553                        <li><tt>OWS</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.41"><b>3.2.3</b></a></li>
    35523554                        <li><tt>partial-URI</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.25"><b>2.7</b></a></li>
    35533555                        <li><tt>port</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.20"><b>2.7</b></a></li>
    3554                         <li><tt>protocol-name</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.85"><b>5.7.1</b></a></li>
    3555                         <li><tt>protocol-version</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.86"><b>5.7.1</b></a></li>
    3556                         <li><tt>pseudonym</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.88"><b>5.7.1</b></a></li>
    3557                         <li><tt>qdtext</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.46"><b>3.2.6</b></a></li>
     3556                        <li><tt>protocol-name</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.86"><b>5.7.1</b></a></li>
     3557                        <li><tt>protocol-version</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.87"><b>5.7.1</b></a></li>
     3558                        <li><tt>pseudonym</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.89"><b>5.7.1</b></a></li>
     3559                        <li><tt>qdtext</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.47"><b>3.2.6</b></a></li>
    35583560                        <li><tt>query</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.21"><b>2.7</b></a></li>
    3559                         <li><tt>quoted-pair</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.50"><b>3.2.6</b></a></li>
    3560                         <li><tt>quoted-string</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.45"><b>3.2.6</b></a></li>
    3561                         <li><tt>rank</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.74"><b>4.3</b></a></li>
     3561                        <li><tt>quoted-pair</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.51"><b>3.2.6</b></a></li>
     3562                        <li><tt>quoted-string</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.46"><b>3.2.6</b></a></li>
     3563                        <li><tt>rank</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.75"><b>4.3</b></a></li>
    35623564                        <li><tt>reason-phrase</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.34"><b>3.1.2</b></a></li>
    3563                         <li><tt>received-by</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.87"><b>5.7.1</b></a></li>
    3564                         <li><tt>received-protocol</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.84"><b>5.7.1</b></a></li>
     3565                        <li><tt>received-by</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.88"><b>5.7.1</b></a></li>
     3566                        <li><tt>received-protocol</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.85"><b>5.7.1</b></a></li>
    35653567                        <li><tt>request-line</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.30"><b>3.1.1</b></a></li>
    3566                         <li><tt>request-target</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.77"><b>5.3</b></a></li>
    3567                         <li><tt>RWS</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.41"><b>3.2.3</b></a></li>
     3568                        <li><tt>request-target</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.78"><b>5.3</b></a></li>
     3569                        <li><tt>RWS</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.42"><b>3.2.3</b></a></li>
    35683570                        <li><tt>segment</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.23"><b>2.7</b></a></li>
    35693571                        <li>SP&nbsp;&nbsp;<a href="#rfc.iref.g.11"><b>1.2</b></a></li>
     
    35713573                        <li><tt>status-code</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.33"><b>3.1.2</b></a></li>
    35723574                        <li><tt>status-line</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.32"><b>3.1.2</b></a></li>
    3573                         <li><tt>t-codings</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.72"><b>4.3</b></a></li>
    3574                         <li><tt>t-ranking</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.73"><b>4.3</b></a></li>
    3575                         <li><tt>tchar</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.44"><b>3.2.6</b></a></li>
    3576                         <li><tt>TE</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.71"><b>4.3</b></a></li>
    3577                         <li><tt>token</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.43"><b>3.2.6</b></a></li>
    3578                         <li><tt>Trailer</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.75"><b>4.4</b></a></li>
    3579                         <li><tt>trailer-part</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.61">4.1</a>, <a href="#rfc.iref.g.68"><b>4.1.2</b></a></li>
    3580                         <li><tt>transfer-coding</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.54"><b>4</b></a></li>
    3581                         <li><tt>Transfer-Encoding</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.52"><b>3.3.1</b></a></li>
    3582                         <li><tt>transfer-extension</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.55"><b>4</b></a></li>
    3583                         <li><tt>transfer-parameter</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.56"><b>4</b></a></li>
    3584                         <li><tt>Upgrade</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.91"><b>6.7</b></a></li>
     3575                        <li><tt>t-codings</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.73"><b>4.3</b></a></li>
     3576                        <li><tt>t-ranking</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.74"><b>4.3</b></a></li>
     3577                        <li><tt>tchar</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.45"><b>3.2.6</b></a></li>
     3578                        <li><tt>TE</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.72"><b>4.3</b></a></li>
     3579                        <li><tt>token</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.44"><b>3.2.6</b></a></li>
     3580                        <li><tt>Trailer</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.76"><b>4.4</b></a></li>
     3581                        <li><tt>trailer-part</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.62">4.1</a>, <a href="#rfc.iref.g.69"><b>4.1.2</b></a></li>
     3582                        <li><tt>transfer-coding</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.55"><b>4</b></a></li>
     3583                        <li><tt>Transfer-Encoding</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.53"><b>3.3.1</b></a></li>
     3584                        <li><tt>transfer-extension</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.56"><b>4</b></a></li>
     3585                        <li><tt>transfer-parameter</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.57"><b>4</b></a></li>
     3586                        <li><tt>Upgrade</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.92"><b>6.7</b></a></li>
    35853587                        <li><tt>uri-host</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.24"><b>2.7</b></a></li>
    35863588                        <li><tt>URI-reference</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.16"><b>2.7</b></a></li>
    35873589                        <li>VCHAR&nbsp;&nbsp;<a href="#rfc.iref.g.12"><b>1.2</b></a></li>
    3588                         <li><tt>Via</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.83"><b>5.7.1</b></a></li>
     3590                        <li><tt>Via</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.84"><b>5.7.1</b></a></li>
    35893591                     </ul>
    35903592                  </li>
    3591                   <li>gzip (Coding Format)&nbsp;&nbsp;<a href="#rfc.iref.g.70">4.2.3</a></li>
     3593                  <li>gzip (Coding Format)&nbsp;&nbsp;<a href="#rfc.iref.g.71">4.2.3</a></li>
    35923594               </ul>
    35933595            </li>
  • draft-ietf-httpbis/latest/p1-messaging.xml

    r2583 r2584  
    12031203  <x:anchor-alias value="field-name"/>
    12041204  <x:anchor-alias value="field-value"/>
     1205  <x:anchor-alias value="field-vchar"/>
    12051206  <x:anchor-alias value="obs-fold"/>
    12061207<t>
     
    12091210   and optional trailing whitespace.
    12101211</t>
    1211 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="header-field"/><iref primary="true" item="Grammar" subitem="field-name"/><iref primary="true" item="Grammar" subitem="field-value"/><iref primary="true" item="Grammar" subitem="field-content"/><iref primary="true" item="Grammar" subitem="obs-fold"/>
     1212<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="header-field"/><iref primary="true" item="Grammar" subitem="field-name"/><iref primary="true" item="Grammar" subitem="field-value"/><iref primary="true" item="Grammar" subitem="field-vchar"/><iref primary="true" item="Grammar" subitem="field-content"/><iref primary="true" item="Grammar" subitem="obs-fold"/>
    12121213  <x:ref>header-field</x:ref>   = <x:ref>field-name</x:ref> ":" <x:ref>OWS</x:ref> <x:ref>field-value</x:ref> <x:ref>OWS</x:ref>
     1214
    12131215  <x:ref>field-name</x:ref>     = <x:ref>token</x:ref>
    12141216  <x:ref>field-value</x:ref>    = *( <x:ref>field-content</x:ref> / <x:ref>obs-fold</x:ref> )
    1215   <x:ref>field-content</x:ref>  = *( <x:ref>HTAB</x:ref> / <x:ref>SP</x:ref> / <x:ref>VCHAR</x:ref> / <x:ref>obs-text</x:ref> )
    1216   <x:ref>obs-fold</x:ref>       = <x:ref>CRLF</x:ref> ( <x:ref>SP</x:ref> / <x:ref>HTAB</x:ref> )
     1217  <x:ref>field-content</x:ref>  = <x:ref>field-vchar</x:ref> [ *( <x:ref>SP</x:ref> / <x:ref>HTAB</x:ref> ) <x:ref>field-vchar</x:ref> ]
     1218  <x:ref>field-vchar</x:ref>    = <x:ref>VCHAR</x:ref> / <x:ref>obs-text</x:ref>
     1219
     1220  <x:ref>obs-fold</x:ref>       = <x:ref>CRLF</x:ref> 1*( <x:ref>SP</x:ref> / <x:ref>HTAB</x:ref> )
    12171221                 ; obsolete line folding
    12181222                 ; see <xref target="field.parsing"/>
     
    13631367   the last non-whitespace octet of the field value ought to be excluded by
    13641368   parsers when extracting the field value from a header field.
    1365 </t>
    1366 <t>
    1367    A recipient of field-content containing multiple sequential octets of
    1368    optional (OWS) or required (RWS) whitespace &SHOULD; either replace the
    1369    sequence with a single SP or transform any non-SP octets in the sequence to
    1370    SP octets before interpreting the field value or forwarding the message
    1371    downstream.
    13721369</t>
    13731370<t>
     
    53375334 / obs-text
    53385335
    5339 <x:ref>field-content</x:ref> = *( HTAB / SP / VCHAR / obs-text )
     5336<x:ref>field-content</x:ref> = field-vchar [ *( SP / HTAB ) field-vchar ]
    53405337<x:ref>field-name</x:ref> = token
    53415338<x:ref>field-value</x:ref> = *( field-content / obs-fold )
     5339<x:ref>field-vchar</x:ref> = VCHAR / obs-text
    53425340<x:ref>fragment</x:ref> = &lt;fragment, defined in [RFC3986], Section 3.5&gt;
    53435341
     
    53535351<x:ref>method</x:ref> = token
    53545352
    5355 <x:ref>obs-fold</x:ref> = CRLF ( SP / HTAB )
     5353<x:ref>obs-fold</x:ref> = CRLF 1*( SP / HTAB )
    53565354<x:ref>obs-text</x:ref> = %x80-FF
    53575355<x:ref>origin-form</x:ref> = absolute-path [ "?" query ]
Note: See TracChangeset for help on using the changeset viewer.