Changeset 2279


Ignore:
Timestamp:
Jun 3, 2013, 12:49:30 AM (6 years ago)
Author:
fielding@…
Message:

add optional fragment to the URI definitions, as required by RFC3986; addresses #451

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

Legend:

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

    r2263 r2279  
    134134field-value = *( field-content / obs-fold )
    135135first-byte-pos = 1*DIGIT
     136fragment = <fragment, defined in [RFC3986], Section 3.5>
    136137header-field = field-name ":" OWS field-value OWS
    137138hour = 2DIGIT
    138 http-URI = "http://" authority path-abempty [ "?" query ]
    139 https-URI = "https://" authority path-abempty [ "?" query ]
     139http-URI = "http://" authority path-abempty [ "?" query ] [ "#" fragment ]
     140https-URI = "https://" authority path-abempty [ "?" query ] [ "#" fragment ]
    140141language-range = <language-range, defined in [RFC4647], Section 2.1>
    141142language-tag = <Language-Tag, defined in [RFC5646], Section 2.1>
  • draft-ietf-httpbis/latest/p1-messaging.html

    r2278 r2279  
    10251025      <p id="rfc.section.2.7.p.1">Uniform Resource Identifiers (URIs) <a href="#RFC3986" id="rfc.xref.RFC3986.2"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a> are used throughout HTTP as the means for identifying resources (<a href="p2-semantics.html#resources" title="Resources">Section 2</a> of <a href="#Part2" id="rfc.xref.Part2.4"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[Part2]</cite></a>). URI references are used to target requests, indicate redirects, and define relationships.
    10261026      </p>
    1027       <p id="rfc.section.2.7.p.2">This specification adopts the definitions of "URI-reference", "absolute-URI", "relative-part", "port", "host", "path-abempty",
    1028          "query", "segment", and "authority" from the URI generic syntax. In addition, we define an "absolute-path" rule (that differs
    1029          from RFC 3986's "path-absolute" in that it allows a leading "//") and a "partial-URI" rule for protocol elements that allow
    1030          a relative URI but not a fragment.
    1031       </p>
    1032       <div id="rfc.figure.u.7"></div><pre class="inline"><span id="rfc.iref.g.16"></span><span id="rfc.iref.g.17"></span><span id="rfc.iref.g.18"></span><span id="rfc.iref.g.19"></span><span id="rfc.iref.g.20"></span><span id="rfc.iref.g.21"></span><span id="rfc.iref.g.22"></span><span id="rfc.iref.g.23"></span><span id="rfc.iref.g.24"></span>  <a href="#uri" class="smpl">URI-reference</a> = &lt;URI-reference, defined in <a href="#RFC3986" id="rfc.xref.RFC3986.3"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a>, <a href="http://tools.ietf.org/html/rfc3986#section-4.1">Section 4.1</a>&gt;
     1027      <p id="rfc.section.2.7.p.2">This specification adopts the definitions of "URI-reference", "absolute-URI", "relative-part", "authority", "port", "host",
     1028         "path-abempty", "segment", "query", and "fragment" from the URI generic syntax. In addition, we define an "absolute-path"
     1029         rule (that differs from RFC 3986's "path-absolute" in that it allows a leading "//") and a "partial-URI" rule for protocol
     1030         elements that allow a relative URI but not a fragment.
     1031      </p>
     1032      <div id="rfc.figure.u.7"></div><pre class="inline"><span id="rfc.iref.g.16"></span><span id="rfc.iref.g.17"></span><span id="rfc.iref.g.18"></span><span id="rfc.iref.g.19"></span><span id="rfc.iref.g.20"></span><span id="rfc.iref.g.21"></span><span id="rfc.iref.g.22"></span><span id="rfc.iref.g.23"></span><span id="rfc.iref.g.24"></span><span id="rfc.iref.g.25"></span>  <a href="#uri" class="smpl">URI-reference</a> = &lt;URI-reference, defined in <a href="#RFC3986" id="rfc.xref.RFC3986.3"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a>, <a href="http://tools.ietf.org/html/rfc3986#section-4.1">Section 4.1</a>&gt;
    10331033  <a href="#uri" class="smpl">absolute-URI</a>  = &lt;absolute-URI, defined in <a href="#RFC3986" id="rfc.xref.RFC3986.4"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a>, <a href="http://tools.ietf.org/html/rfc3986#section-4.3">Section 4.3</a>&gt;
    10341034  <a href="#uri" class="smpl">relative-part</a> = &lt;relative-part, defined in <a href="#RFC3986" id="rfc.xref.RFC3986.5"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a>, <a href="http://tools.ietf.org/html/rfc3986#section-4.2">Section 4.2</a>&gt;
    10351035  <a href="#uri" class="smpl">authority</a>     = &lt;authority, defined in <a href="#RFC3986" id="rfc.xref.RFC3986.6"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a>, <a href="http://tools.ietf.org/html/rfc3986#section-3.2">Section 3.2</a>&gt;
    1036   <a href="#uri" class="smpl">path-abempty</a>  = &lt;path-abempty, defined in <a href="#RFC3986" id="rfc.xref.RFC3986.7"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a>, <a href="http://tools.ietf.org/html/rfc3986#section-3.3">Section 3.3</a>&gt;
     1036  <a href="#uri" class="smpl">uri-host</a>      = &lt;host, defined in <a href="#RFC3986" id="rfc.xref.RFC3986.7"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a>, <a href="http://tools.ietf.org/html/rfc3986#section-3.2.2">Section 3.2.2</a>&gt;
    10371037  <a href="#uri" class="smpl">port</a>          = &lt;port, defined in <a href="#RFC3986" id="rfc.xref.RFC3986.8"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a>, <a href="http://tools.ietf.org/html/rfc3986#section-3.2.3">Section 3.2.3</a>&gt;
    1038   <a href="#uri" class="smpl">query</a>         = &lt;query, defined in <a href="#RFC3986" id="rfc.xref.RFC3986.9"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a>, <a href="http://tools.ietf.org/html/rfc3986#section-3.4">Section 3.4</a>&gt;
     1038  <a href="#uri" class="smpl">path-abempty</a>  = &lt;path-abempty, defined in <a href="#RFC3986" id="rfc.xref.RFC3986.9"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a>, <a href="http://tools.ietf.org/html/rfc3986#section-3.3">Section 3.3</a>&gt;
    10391039  <a href="#uri" class="smpl">segment</a>       = &lt;segment, defined in <a href="#RFC3986" id="rfc.xref.RFC3986.10"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a>, <a href="http://tools.ietf.org/html/rfc3986#section-3.3">Section 3.3</a>&gt;
    1040   <a href="#uri" class="smpl">uri-host</a>      = &lt;host, defined in <a href="#RFC3986" id="rfc.xref.RFC3986.11"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a>, <a href="http://tools.ietf.org/html/rfc3986#section-3.2.2">Section 3.2.2</a>&gt;
     1040  <a href="#uri" class="smpl">query</a>         = &lt;query, defined in <a href="#RFC3986" id="rfc.xref.RFC3986.11"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a>, <a href="http://tools.ietf.org/html/rfc3986#section-3.4">Section 3.4</a>&gt;
     1041  <a href="#uri" class="smpl">fragment</a>      = &lt;fragment, defined in <a href="#RFC3986" id="rfc.xref.RFC3986.12"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a>, <a href="http://tools.ietf.org/html/rfc3986#section-3.5">Section 3.5</a>&gt;
    10411042 
    10421043  <a href="#uri" class="smpl">absolute-path</a> = 1*( "/" segment )
     
    10531054         namespace governed by a potential HTTP origin server listening for TCP (<a href="#RFC0793" id="rfc.xref.RFC0793.1"><cite title="Transmission Control Protocol">[RFC0793]</cite></a>) connections on a given port.
    10541055      </p>
    1055       <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g.25"></span>  <a href="#http.uri" class="smpl">http-URI</a> = "http:" "//" <a href="#uri" class="smpl">authority</a> <a href="#uri" class="smpl">path-abempty</a> [ "?" <a href="#uri" class="smpl">query</a> ]
    1056 </pre><p id="rfc.section.2.7.1.p.3">The HTTP origin server is identified by the generic syntax's <a href="#uri" class="smpl">authority</a> component, which includes a host identifier and optional TCP port (<a href="#RFC3986" id="rfc.xref.RFC3986.12"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a>, <a href="http://tools.ietf.org/html/rfc3986#section-3.2.2">Section 3.2.2</a>). The remainder of the URI, consisting of both the hierarchical path component and optional query component, serves as an
     1056      <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g.26"></span>  <a href="#http.uri" class="smpl">http-URI</a> = "http:" "//" <a href="#uri" class="smpl">authority</a> <a href="#uri" class="smpl">path-abempty</a> [ "?" <a href="#uri" class="smpl">query</a> ]
     1057             [ "#" <a href="#uri" class="smpl">fragment</a> ]
     1058</pre><p id="rfc.section.2.7.1.p.3">The HTTP origin server is identified by the generic syntax's <a href="#uri" class="smpl">authority</a> component, which includes a host identifier and optional TCP port (<a href="#RFC3986" id="rfc.xref.RFC3986.13"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a>, <a href="http://tools.ietf.org/html/rfc3986#section-3.2.2">Section 3.2.2</a>). The remainder of the URI, consisting of both the hierarchical path component and optional query component, serves as an
    10571059         identifier for a potential resource within that origin server's name space.
    10581060      </p>
     
    10771079         — it is only the authoritative interface that is specific to TCP.
    10781080      </p>
    1079       <p id="rfc.section.2.7.1.p.8">The URI generic syntax for authority also includes a deprecated userinfo subcomponent (<a href="#RFC3986" id="rfc.xref.RFC3986.13"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a>, <a href="http://tools.ietf.org/html/rfc3986#section-3.2.1">Section 3.2.1</a>) for including user authentication information in the URI. Some implementations make use of the userinfo component for internal
     1081      <p id="rfc.section.2.7.1.p.8">The URI generic syntax for authority also includes a deprecated userinfo subcomponent (<a href="#RFC3986" id="rfc.xref.RFC3986.14"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a>, <a href="http://tools.ietf.org/html/rfc3986#section-3.2.1">Section 3.2.1</a>) for including user authentication information in the URI. Some implementations make use of the userinfo component for internal
    10801082         configuration of authentication information, such as within command invocation options, configuration files, or bookmark lists,
    10811083         even though such usage might expose a user identifier or password. Senders <em class="bcp14">MUST</em> exclude the userinfo subcomponent (and its "@" delimiter) when an "http" URI is transmitted within a message as a request
     
    10921094         TCP port of 443 is assumed if the port subcomponent is empty or not given, and the TCP connection <em class="bcp14">MUST</em> be secured, end-to-end, through the use of strong encryption prior to sending the first HTTP request.
    10931095      </p>
    1094       <div id="rfc.figure.u.9"></div><pre class="inline"><span id="rfc.iref.g.26"></span>  <a href="#https.uri" class="smpl">https-URI</a> = "https:" "//" <a href="#uri" class="smpl">authority</a> <a href="#uri" class="smpl">path-abempty</a> [ "?" <a href="#uri" class="smpl">query</a> ]
     1096      <div id="rfc.figure.u.9"></div><pre class="inline"><span id="rfc.iref.g.27"></span>  <a href="#https.uri" class="smpl">https-URI</a> = "https:" "//" <a href="#uri" class="smpl">authority</a> <a href="#uri" class="smpl">path-abempty</a> [ "?" <a href="#uri" class="smpl">query</a> ]
     1097              [ "#" <a href="#uri" class="smpl">fragment</a> ]
    10951098</pre><p id="rfc.section.2.7.2.p.4">Note that the "https" URI scheme depends on both TLS and TCP for establishing authority. Resources made available via the
    10961099         "https" scheme have no shared identity with the "http" scheme even if their resource identifiers indicate the same authority
     
    11021105      <h3 id="rfc.section.2.7.3"><a href="#rfc.section.2.7.3">2.7.3</a>&nbsp;<a id="uri.comparison" href="#uri.comparison">http and https URI Normalization and Comparison</a></h3>
    11031106      <p id="rfc.section.2.7.3.p.1">Since the "http" and "https" schemes conform to the URI generic syntax, such URIs are normalized and compared according to
    1104          the algorithm defined in <a href="#RFC3986" id="rfc.xref.RFC3986.14"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a>, <a href="http://tools.ietf.org/html/rfc3986#section-6">Section 6</a>, using the defaults described above for each scheme.
     1107         the algorithm defined in <a href="#RFC3986" id="rfc.xref.RFC3986.15"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a>, <a href="http://tools.ietf.org/html/rfc3986#section-6">Section 6</a>, using the defaults described above for each scheme.
    11051108      </p>
    11061109      <p id="rfc.section.2.7.3.p.2">If the port is equal to the default port for a scheme, the normal form is to elide the port subcomponent. When not being used
     
    11081111         "/", so the normal form is to provide a path of "/" instead. The scheme and host are case-insensitive and normally provided
    11091112         in lowercase; all other components are compared in a case-sensitive manner. Characters other than those in the "reserved"
    1110          set are equivalent to their percent-encoded octets (see <a href="#RFC3986" id="rfc.xref.RFC3986.15"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a>, <a href="http://tools.ietf.org/html/rfc3986#section-2.1">Section 2.1</a>): the normal form is to not encode them.
     1113         set are equivalent to their percent-encoded octets (see <a href="#RFC3986" id="rfc.xref.RFC3986.16"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a>, <a href="http://tools.ietf.org/html/rfc3986#section-2.1">Section 2.1</a>): the normal form is to not encode them.
    11111114      </p>
    11121115      <p id="rfc.section.2.7.3.p.3">For example, the following three URIs are equivalent:</p>
     
    11221125         the end of the header section, and an optional message body.
    11231126      </p>
    1124       <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.27"></span>  <a href="#http.message" class="smpl">HTTP-message</a>   = <a href="#http.message" class="smpl">start-line</a>
     1127      <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.28"></span>  <a href="#http.message" class="smpl">HTTP-message</a>   = <a href="#http.message" class="smpl">start-line</a>
    11251128                   *( <a href="#header.fields" class="smpl">header-field</a> <a href="#core.rules" class="smpl">CRLF</a> )
    11261129                   <a href="#core.rules" class="smpl">CRLF</a>
     
    11591162         request method) and clients are implemented to only expect a response.
    11601163      </p>
    1161       <div id="rfc.figure.u.12"></div><pre class="inline"><span id="rfc.iref.g.28"></span>  <a href="#http.message" class="smpl">start-line</a>     = <a href="#request.line" class="smpl">request-line</a> / <a href="#status.line" class="smpl">status-line</a>
     1164      <div id="rfc.figure.u.12"></div><pre class="inline"><span id="rfc.iref.g.29"></span>  <a href="#http.message" class="smpl">start-line</a>     = <a href="#request.line" class="smpl">request-line</a> / <a href="#status.line" class="smpl">status-line</a>
    11621165</pre><h3 id="rfc.section.3.1.1"><a href="#rfc.section.3.1.1">3.1.1</a>&nbsp;<a id="request.line" href="#request.line">Request Line</a></h3>
    11631166      <p id="rfc.section.3.1.1.p.1">A request-line begins with a method token, followed by a single space (SP), the request-target, another single space (SP),
    11641167         the protocol version, and ending with CRLF.
    11651168      </p>
    1166       <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.29"></span>  <a href="#request.line" class="smpl">request-line</a>   = <a href="#method" class="smpl">method</a> <a href="#core.rules" class="smpl">SP</a> <a href="#request-target" class="smpl">request-target</a> <a href="#core.rules" class="smpl">SP</a> <a href="#http.version" class="smpl">HTTP-version</a> <a href="#core.rules" class="smpl">CRLF</a>
     1169      <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.30"></span>  <a href="#request.line" class="smpl">request-line</a>   = <a href="#method" class="smpl">method</a> <a href="#core.rules" class="smpl">SP</a> <a href="#request-target" class="smpl">request-target</a> <a href="#core.rules" class="smpl">SP</a> <a href="#http.version" class="smpl">HTTP-version</a> <a href="#core.rules" class="smpl">CRLF</a>
    11671170</pre><div id="rfc.iref.m.2"></div>
    11681171      <div id="method">
    11691172         <p id="rfc.section.3.1.1.p.3">The method token indicates the request method to be performed on the target resource. The request method is case-sensitive.</p>
    11701173      </div>
    1171       <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.30"></span>  <a href="#method" class="smpl">method</a>         = <a href="#rule.token.separators" class="smpl">token</a>
     1174      <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.31"></span>  <a href="#method" class="smpl">method</a>         = <a href="#rule.token.separators" class="smpl">token</a>
    11721175</pre><p id="rfc.section.3.1.1.p.5">The methods defined by this specification can be found in <a href="p2-semantics.html#methods" title="Request Methods">Section 4</a> of <a href="#Part2" id="rfc.xref.Part2.6"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[Part2]</cite></a>, along with information regarding the HTTP method registry and considerations for defining new methods.
    11731176      </p>
     
    11901193         another space, a possibly-empty textual phrase describing the status code, and ending with CRLF.
    11911194      </p>
    1192       <div id="rfc.figure.u.15"></div><pre class="inline"><span id="rfc.iref.g.31"></span>  <a href="#status.line" class="smpl">status-line</a> = <a href="#http.version" class="smpl">HTTP-version</a> <a href="#core.rules" class="smpl">SP</a> <a href="#status.line" class="smpl">status-code</a> <a href="#core.rules" class="smpl">SP</a> <a href="#status.line" class="smpl">reason-phrase</a> <a href="#core.rules" class="smpl">CRLF</a>
     1195      <div id="rfc.figure.u.15"></div><pre class="inline"><span id="rfc.iref.g.32"></span>  <a href="#status.line" class="smpl">status-line</a> = <a href="#http.version" class="smpl">HTTP-version</a> <a href="#core.rules" class="smpl">SP</a> <a href="#status.line" class="smpl">status-code</a> <a href="#core.rules" class="smpl">SP</a> <a href="#status.line" class="smpl">reason-phrase</a> <a href="#core.rules" class="smpl">CRLF</a>
    11931196</pre><p id="rfc.section.3.1.2.p.3">The status-code element is a 3-digit integer code describing the result of the server's attempt to understand and satisfy
    11941197         the client's corresponding request. The rest of the response message is to be interpreted in light of the semantics defined
     
    11961199         the status codes defined by this specification, considerations for the definition of new status codes, and the IANA registry.
    11971200      </p>
    1198       <div id="rfc.figure.u.16"></div><pre class="inline"><span id="rfc.iref.g.32"></span>  <a href="#status.line" class="smpl">status-code</a>    = 3<a href="#core.rules" class="smpl">DIGIT</a>
     1201      <div id="rfc.figure.u.16"></div><pre class="inline"><span id="rfc.iref.g.33"></span>  <a href="#status.line" class="smpl">status-code</a>    = 3<a href="#core.rules" class="smpl">DIGIT</a>
    11991202</pre><p id="rfc.section.3.1.2.p.5">The reason-phrase element exists for the sole purpose of providing a textual description associated with the numeric status
    12001203         code, mostly out of deference to earlier Internet application protocols that were more frequently used with interactive text
    12011204         clients. A client <em class="bcp14">SHOULD</em> ignore the reason-phrase content.
    12021205      </p>
    1203       <div id="rfc.figure.u.17"></div><pre class="inline"><span id="rfc.iref.g.33"></span>  <a href="#status.line" class="smpl">reason-phrase</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> )
     1206      <div id="rfc.figure.u.17"></div><pre class="inline"><span id="rfc.iref.g.34"></span>  <a href="#status.line" class="smpl">reason-phrase</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> )
    12041207</pre><h2 id="rfc.section.3.2"><a href="#rfc.section.3.2">3.2</a>&nbsp;<a id="header.fields" href="#header.fields">Header Fields</a></h2>
    12051208      <p id="rfc.section.3.2.p.1">Each HTTP header field consists of a case-insensitive field name followed by a colon (":"), optional leading whitespace, the
    12061209         field value, and optional trailing whitespace.
    12071210      </p>
    1208       <div id="rfc.figure.u.18"></div><pre class="inline"><span id="rfc.iref.g.34"></span><span id="rfc.iref.g.35"></span><span id="rfc.iref.g.36"></span><span id="rfc.iref.g.37"></span><span id="rfc.iref.g.38"></span>  <a href="#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>
     1211      <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>
    12091212  <a href="#header.fields" class="smpl">field-name</a>     = <a href="#rule.token.separators" class="smpl">token</a>
    12101213  <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> )
     
    12651268         <p id="rfc.section.3.2.3.p.5">      </p>
    12661269      </div>
    1267       <div id="rfc.figure.u.19"></div><pre class="inline"><span id="rfc.iref.g.39"></span><span id="rfc.iref.g.40"></span><span id="rfc.iref.g.41"></span>  <a href="#rule.whitespace" class="smpl">OWS</a>            = *( <a href="#core.rules" class="smpl">SP</a> / <a href="#core.rules" class="smpl">HTAB</a> )
     1270      <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> )
    12681271                 ; optional whitespace
    12691272  <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> )
     
    13101313         </p>
    13111314      </div>
    1312       <div id="rfc.figure.u.20"></div><pre class="inline"><span id="rfc.iref.g.42"></span><span id="rfc.iref.g.43"></span><span id="rfc.iref.g.44"></span><span id="rfc.iref.g.45"></span>  <a href="#rule.token.separators" class="smpl">word</a>           = <a href="#rule.token.separators" class="smpl">token</a> / <a href="#rule.quoted-string" class="smpl">quoted-string</a>
     1315      <div id="rfc.figure.u.20"></div><pre class="inline"><span id="rfc.iref.g.43"></span><span id="rfc.iref.g.44"></span><span id="rfc.iref.g.45"></span><span id="rfc.iref.g.46"></span>  <a href="#rule.token.separators" class="smpl">word</a>           = <a href="#rule.token.separators" class="smpl">token</a> / <a href="#rule.quoted-string" class="smpl">quoted-string</a>
    13131316
    13141317  <a href="#rule.token.separators" class="smpl">token</a>          = 1*<a href="#rule.token.separators" class="smpl">tchar</a>
     
    13251328         <p id="rfc.section.3.2.6.p.3">      A string of text is parsed as a single word if it is quoted using double-quote marks.</p>
    13261329      </div>
    1327       <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>
     1330      <div id="rfc.figure.u.21"></div><pre class="inline"><span id="rfc.iref.g.47"></span><span id="rfc.iref.g.48"></span><span id="rfc.iref.g.49"></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>
    13281331  <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>
    13291332  <a href="#rule.quoted-string" class="smpl">obs-text</a>       = %x80-FF
     
    13311334         <p id="rfc.section.3.2.6.p.5">  The backslash octet ("\") can be used as a single-octet quoting mechanism within quoted-string constructs:</p>
    13321335      </div>
    1333       <div id="rfc.figure.u.22"></div><pre class="inline"><span id="rfc.iref.g.49"></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> )
     1336      <div id="rfc.figure.u.22"></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> )
    13341337</pre><p id="rfc.section.3.2.6.p.7">Recipients that process the value of a quoted-string <em class="bcp14">MUST</em> handle a quoted-pair as if it were replaced by the octet following the backslash.
    13351338      </p>
     
    13421345         </p>
    13431346      </div>
    1344       <div id="rfc.figure.u.23"></div><pre class="inline"><span id="rfc.iref.g.50"></span><span id="rfc.iref.g.51"></span>  <a href="#rule.comment" class="smpl">comment</a>        = "(" *( <a href="#rule.comment" class="smpl">ctext</a> / <a href="#rule.quoted-cpair" class="smpl">quoted-cpair</a> / <a href="#rule.comment" class="smpl">comment</a> ) ")"
     1347      <div id="rfc.figure.u.23"></div><pre class="inline"><span id="rfc.iref.g.51"></span><span id="rfc.iref.g.52"></span>  <a href="#rule.comment" class="smpl">comment</a>        = "(" *( <a href="#rule.comment" class="smpl">ctext</a> / <a href="#rule.quoted-cpair" class="smpl">quoted-cpair</a> / <a href="#rule.comment" class="smpl">comment</a> ) ")"
    13451348  <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>
    13461349</pre><div id="rule.quoted-cpair">
    13471350         <p id="rfc.section.3.2.6.p.11">  The backslash octet ("\") can be used as a single-octet quoting mechanism within comment constructs:</p>
    13481351      </div>
    1349       <div id="rfc.figure.u.24"></div><pre class="inline"><span id="rfc.iref.g.52"></span>  <a href="#rule.quoted-cpair" class="smpl">quoted-cpair</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> )
     1352      <div id="rfc.figure.u.24"></div><pre class="inline"><span id="rfc.iref.g.53"></span>  <a href="#rule.quoted-cpair" class="smpl">quoted-cpair</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> )
    13501353</pre><p id="rfc.section.3.2.6.p.13">Senders <em class="bcp14">SHOULD NOT</em> escape octets in comments that do not require escaping (i.e., other than the backslash octet "\" and the parentheses "(" and
    13511354         ")").
     
    13551358         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>.
    13561359      </p>
    1357       <div id="rfc.figure.u.25"></div><pre class="inline"><span id="rfc.iref.g.53"></span>  <a href="#message.body" class="smpl">message-body</a> = *OCTET
     1360      <div id="rfc.figure.u.25"></div><pre class="inline"><span id="rfc.iref.g.54"></span>  <a href="#message.body" class="smpl">message-body</a> = *OCTET
    13581361</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>
    13591362      <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
     
    13701373         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>.
    13711374      </p>
    1372       <div id="rfc.figure.u.26"></div><pre class="inline"><span id="rfc.iref.g.54"></span>  <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a> = 1#<a href="#transfer.codings" class="smpl">transfer-coding</a>
     1375      <div id="rfc.figure.u.26"></div><pre class="inline"><span id="rfc.iref.g.55"></span>  <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a> = 1#<a href="#transfer.codings" class="smpl">transfer-coding</a>
    13731376</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
    13741377         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
     
    14071410         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.14"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[Part2]</cite></a>).
    14081411      </p>
    1409       <div id="rfc.figure.u.28"></div><pre class="inline"><span id="rfc.iref.g.55"></span>  <a href="#header.content-length" class="smpl">Content-Length</a> = 1*<a href="#core.rules" class="smpl">DIGIT</a>
     1412      <div id="rfc.figure.u.28"></div><pre class="inline"><span id="rfc.iref.g.56"></span>  <a href="#header.content-length" class="smpl">Content-Length</a> = 1*<a href="#core.rules" class="smpl">DIGIT</a>
    14101413</pre><p id="rfc.section.3.3.2.p.3">An example is</p>
    14111414      <div id="rfc.figure.u.29"></div><pre class="text">  Content-Length: 3495
     
    15471550         coding is a property of the message rather than a property of the representation that is being transferred.
    15481551      </p>
    1549       <div id="rfc.figure.u.30"></div><pre class="inline"><span id="rfc.iref.g.56"></span><span id="rfc.iref.g.57"></span>  <a href="#transfer.codings" class="smpl">transfer-coding</a>    = "chunked" ; <a href="#chunked.encoding" title="Chunked Transfer Coding">Section&nbsp;4.1</a>
     1552      <div id="rfc.figure.u.30"></div><pre class="inline"><span id="rfc.iref.g.57"></span><span id="rfc.iref.g.58"></span>  <a href="#transfer.codings" class="smpl">transfer-coding</a>    = "chunked" ; <a href="#chunked.encoding" title="Chunked Transfer Coding">Section&nbsp;4.1</a>
    15501553                     / "compress" ; <a href="#compress.coding" title="Compress Coding">Section&nbsp;4.2.1</a>
    15511554                     / "deflate" ; <a href="#deflate.coding" title="Deflate Coding">Section&nbsp;4.2.2</a>
     
    15561559         <p id="rfc.section.4.p.3">      Parameters are in the form of attribute/value pairs.</p>
    15571560      </div>
    1558       <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>  <a href="#rule.parameter" class="smpl">transfer-parameter</a> = <a href="#rule.parameter" class="smpl">attribute</a> <a href="#rule.whitespace" class="smpl">BWS</a> "=" <a href="#rule.whitespace" class="smpl">BWS</a> <a href="#rule.parameter" class="smpl">value</a>
     1561      <div id="rfc.figure.u.31"></div><pre class="inline"><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="#rule.parameter" class="smpl">transfer-parameter</a> = <a href="#rule.parameter" class="smpl">attribute</a> <a href="#rule.whitespace" class="smpl">BWS</a> "=" <a href="#rule.whitespace" class="smpl">BWS</a> <a href="#rule.parameter" class="smpl">value</a>
    15591562  <a href="#rule.parameter" class="smpl">attribute</a>          = <a href="#rule.token.separators" class="smpl">token</a>
    15601563  <a href="#rule.parameter" class="smpl">value</a>              = <a href="#rule.token.separators" class="smpl">word</a>
     
    15681571         for the recipient to verify that it has received the full message.
    15691572      </p>
    1570       <div id="rfc.figure.u.32"></div><pre class="inline"><span id="rfc.iref.g.63"></span><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><span id="rfc.iref.g.68"></span><span id="rfc.iref.g.69"></span><span id="rfc.iref.g.70"></span><span id="rfc.iref.g.71"></span><span id="rfc.iref.g.72"></span><span id="rfc.iref.g.73"></span>  <a href="#chunked.encoding" class="smpl">chunked-body</a>   = *<a href="#chunked.encoding" class="smpl">chunk</a>
     1573      <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><span id="rfc.iref.g.68"></span><span id="rfc.iref.g.69"></span><span id="rfc.iref.g.70"></span><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="#chunked.encoding" class="smpl">chunked-body</a>   = *<a href="#chunked.encoding" class="smpl">chunk</a>
    15711574                   <a href="#chunked.encoding" class="smpl">last-chunk</a>
    15721575                   <a href="#chunked.encoding" class="smpl">trailer-part</a>
     
    16041607         and the recipient wishes to confirm an integrity check on the fly.
    16051608      </p>
    1606       <div id="rfc.figure.u.33"></div><pre class="inline"><span id="rfc.iref.g.74"></span>  <a href="#header.trailer" class="smpl">Trailer</a> = 1#<a href="#header.fields" class="smpl">field-name</a>
     1609      <div id="rfc.figure.u.33"></div><pre class="inline"><span id="rfc.iref.g.75"></span>  <a href="#header.trailer" class="smpl">Trailer</a> = 1#<a href="#header.fields" class="smpl">field-name</a>
    16071610</pre><p id="rfc.section.4.1.1.p.4">If no <a href="#header.trailer" class="smpl">Trailer</a> header field is present, the sender of a chunked message body <em class="bcp14">SHOULD</em> send an empty trailer.
    16081611      </p>
     
    16551658         </p>
    16561659      </div>
    1657       <div id="rfc.iref.g.75"></div>
     1660      <div id="rfc.iref.g.76"></div>
    16581661      <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>
    16591662      <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".
     
    16671670         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.
    16681671      </p>
    1669       <div id="rfc.figure.u.35"></div><pre class="inline"><span id="rfc.iref.g.76"></span><span id="rfc.iref.g.77"></span><span id="rfc.iref.g.78"></span><span id="rfc.iref.g.79"></span>  <a href="#header.te" class="smpl">TE</a>        = #<a href="#header.te" class="smpl">t-codings</a>
     1672      <div id="rfc.figure.u.35"></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>  <a href="#header.te" class="smpl">TE</a>        = #<a href="#header.te" class="smpl">t-codings</a>
    16701673  <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> ] )
    16711674  <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>
     
    17041707      </p>
    17051708      <p id="rfc.section.5.1.p.2">HTTP communication is initiated by a user agent for some purpose. The purpose is a combination of request semantics, which
    1706          are defined in <a href="#Part2" id="rfc.xref.Part2.18"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[Part2]</cite></a>, and a target resource upon which to apply those semantics. A URI reference (<a href="#uri" title="Uniform Resource Identifiers">Section&nbsp;2.7</a>) is typically used as an identifier for the "<dfn>target resource</dfn>", which a user agent would resolve to its absolute form in order to obtain the "<dfn>target URI</dfn>". The target URI excludes the reference's fragment identifier component, if any, since fragment identifiers are reserved
    1707          for client-side processing (<a href="#RFC3986" id="rfc.xref.RFC3986.16"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a>, <a href="http://tools.ietf.org/html/rfc3986#section-3.5">Section 3.5</a>).
     1709         are defined in <a href="#Part2" id="rfc.xref.Part2.18"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[Part2]</cite></a>, and a target resource upon which to apply those semantics. A URI reference (<a href="#uri" title="Uniform Resource Identifiers">Section&nbsp;2.7</a>) is typically used as an identifier for the "<dfn>target resource</dfn>", which a user agent would resolve to its absolute form in order to obtain the "<dfn>target URI</dfn>". The target URI excludes the reference's fragment component, if any, since fragment identifiers are reserved for client-side
     1710         processing (<a href="#RFC3986" id="rfc.xref.RFC3986.17"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a>, <a href="http://tools.ietf.org/html/rfc3986#section-3.5">Section 3.5</a>).
    17081711      </p>
    17091712      <h2 id="rfc.section.5.2"><a href="#rfc.section.5.2">5.2</a>&nbsp;<a id="connecting.inbound" href="#connecting.inbound">Connecting Inbound</a></h2>
     
    17291732         both the method being requested and whether the request is to a proxy.
    17301733      </p>
    1731       <div id="rfc.figure.u.37"></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>
     1734      <div id="rfc.figure.u.37"></div><pre class="inline"><span id="rfc.iref.g.81"></span><span id="rfc.iref.g.82"></span><span id="rfc.iref.g.83"></span><span id="rfc.iref.g.84"></span><span id="rfc.iref.g.85"></span>  <a href="#request-target" class="smpl">request-target</a> = <a href="#origin-form" class="smpl">origin-form</a>
    17321735                 / <a href="#absolute-form" class="smpl">absolute-form</a>
    17331736                 / <a href="#authority-form" class="smpl">authority-form</a>
     
    17961799         is critical information for handling a request, it <em class="bcp14">SHOULD</em> be sent as the first header field following the request-line.
    17971800      </p>
    1798       <div id="rfc.figure.u.45"></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.7.1</a>
     1801      <div id="rfc.figure.u.45"></div><pre class="inline"><span id="rfc.iref.g.86"></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>
    17991802</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
    18001803         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.7.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.
     
    18801883         all senders along the request/response chain.
    18811884      </p>
    1882       <div id="rfc.figure.u.51"></div><pre class="inline"><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><span id="rfc.iref.g.90"></span><span id="rfc.iref.g.91"></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>
     1885      <div id="rfc.figure.u.51"></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>
    18831886                          [ <a href="#rule.whitespace" class="smpl">RWS</a> <a href="#rule.comment" class="smpl">comment</a> ] )
    18841887  <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>
     
    19651968      </p>
    19661969      <p id="rfc.section.6.1.p.4">The Connection header field's value has the following grammar:</p>
    1967       <div id="rfc.figure.u.55"></div><pre class="inline"><span id="rfc.iref.g.92"></span><span id="rfc.iref.g.93"></span>  <a href="#header.connection" class="smpl">Connection</a>        = 1#<a href="#header.connection" class="smpl">connection-option</a>
     1970      <div id="rfc.figure.u.55"></div><pre class="inline"><span id="rfc.iref.g.93"></span><span id="rfc.iref.g.94"></span>  <a href="#header.connection" class="smpl">Connection</a>        = 1#<a href="#header.connection" class="smpl">connection-option</a>
    19681971  <a href="#header.connection" class="smpl">connection-option</a> = <a href="#rule.token.separators" class="smpl">token</a>
    19691972</pre><p id="rfc.section.6.1.p.6">Connection options are case-insensitive.</p>
     
    21162119         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.
    21172120      </p>
    2118       <div id="rfc.figure.u.57"></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>
     2121      <div id="rfc.figure.u.57"></div><pre class="inline"><span id="rfc.iref.g.95"></span>  <a href="#header.upgrade" class="smpl">Upgrade</a>          = 1#<a href="#header.upgrade" class="smpl">protocol</a>
    21192122
    21202123  <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>]
     
    30463049<a href="#header.fields" class="smpl">field-name</a> = token
    30473050<a href="#header.fields" class="smpl">field-value</a> = *( field-content / obs-fold )
     3051fragment = &lt;fragment, defined in [RFC3986], Section 3.5&gt;
    30483052
    30493053<a href="#header.fields" class="smpl">header-field</a> = field-name ":" OWS field-value OWS
    3050 <a href="#http.uri" class="smpl">http-URI</a> = "http://" authority path-abempty [ "?" query ]
    3051 <a href="#https.uri" class="smpl">https-URI</a> = "https://" authority path-abempty [ "?" query ]
     3054<a href="#http.uri" class="smpl">http-URI</a> = "http://" authority path-abempty [ "?" query ] [ "#"
     3055 fragment ]
     3056<a href="#https.uri" class="smpl">https-URI</a> = "https://" authority path-abempty [ "?" query ] [ "#"
     3057 fragment ]
    30523058
    30533059<a href="#chunked.encoding" class="smpl">last-chunk</a> = 1*"0" [ chunk-ext ] CRLF
     
    32273233                  <li><tt>Grammar</tt>&nbsp;&nbsp;
    32283234                     <ul>
    3229                         <li><tt>absolute-form</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.82"><b>5.3</b></a></li>
     3235                        <li><tt>absolute-form</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.83"><b>5.3</b></a></li>
    32303236                        <li><tt>absolute-path</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.19"><b>2.7</b></a></li>
    32313237                        <li><tt>absolute-URI</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.17"><b>2.7</b></a></li>
    32323238                        <li>ALPHA&nbsp;&nbsp;<a href="#rfc.iref.g.1"><b>1.2</b></a></li>
    3233                         <li><tt>asterisk-form</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.84"><b>5.3</b></a></li>
    3234                         <li><tt>attribute</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.59"><b>4</b></a></li>
     3239                        <li><tt>asterisk-form</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.85"><b>5.3</b></a></li>
     3240                        <li><tt>attribute</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.60"><b>4</b></a></li>
    32353241                        <li><tt>authority</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.18"><b>2.7</b></a></li>
    3236                         <li><tt>authority-form</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.83"><b>5.3</b></a></li>
    3237                         <li><tt>BWS</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.41"><b>3.2.3</b></a></li>
    3238                         <li><tt>chunk</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.64"><b>4.1</b></a></li>
    3239                         <li><tt>chunk-data</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.70"><b>4.1</b></a></li>
    3240                         <li><tt>chunk-ext</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.67"><b>4.1</b></a></li>
    3241                         <li><tt>chunk-ext-name</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.68"><b>4.1</b></a></li>
    3242                         <li><tt>chunk-ext-val</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.69"><b>4.1</b></a></li>
    3243                         <li><tt>chunk-size</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.65"><b>4.1</b></a></li>
    3244                         <li><tt>chunked-body</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.63"><b>4.1</b></a></li>
    3245                         <li><tt>comment</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.50"><b>3.2.6</b></a></li>
    3246                         <li><tt>Connection</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.92"><b>6.1</b></a></li>
    3247                         <li><tt>connection-option</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.93"><b>6.1</b></a></li>
    3248                         <li><tt>Content-Length</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.55"><b>3.3.2</b></a></li>
     3242                        <li><tt>authority-form</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.84"><b>5.3</b></a></li>
     3243                        <li><tt>BWS</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.42"><b>3.2.3</b></a></li>
     3244                        <li><tt>chunk</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.65"><b>4.1</b></a></li>
     3245                        <li><tt>chunk-data</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.71"><b>4.1</b></a></li>
     3246                        <li><tt>chunk-ext</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.68"><b>4.1</b></a></li>
     3247                        <li><tt>chunk-ext-name</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.69"><b>4.1</b></a></li>
     3248                        <li><tt>chunk-ext-val</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.70"><b>4.1</b></a></li>
     3249                        <li><tt>chunk-size</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.66"><b>4.1</b></a></li>
     3250                        <li><tt>chunked-body</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.64"><b>4.1</b></a></li>
     3251                        <li><tt>comment</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.51"><b>3.2.6</b></a></li>
     3252                        <li><tt>Connection</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.93"><b>6.1</b></a></li>
     3253                        <li><tt>connection-option</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.94"><b>6.1</b></a></li>
     3254                        <li><tt>Content-Length</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.56"><b>3.3.2</b></a></li>
    32493255                        <li>CR&nbsp;&nbsp;<a href="#rfc.iref.g.2"><b>1.2</b></a></li>
    32503256                        <li>CRLF&nbsp;&nbsp;<a href="#rfc.iref.g.3"><b>1.2</b></a></li>
    3251                         <li><tt>ctext</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.51"><b>3.2.6</b></a></li>
     3257                        <li><tt>ctext</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.52"><b>3.2.6</b></a></li>
    32523258                        <li>CTL&nbsp;&nbsp;<a href="#rfc.iref.g.4"><b>1.2</b></a></li>
    3253                         <li><tt>date2</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.61"><b>4</b></a></li>
    3254                         <li><tt>date3</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.62"><b>4</b></a></li>
     3259                        <li><tt>date2</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.62"><b>4</b></a></li>
     3260                        <li><tt>date3</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.63"><b>4</b></a></li>
    32553261                        <li>DIGIT&nbsp;&nbsp;<a href="#rfc.iref.g.5"><b>1.2</b></a></li>
    32563262                        <li>DQUOTE&nbsp;&nbsp;<a href="#rfc.iref.g.6"><b>1.2</b></a></li>
    3257                         <li><tt>field-content</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.37"><b>3.2</b></a></li>
    3258                         <li><tt>field-name</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.35"><b>3.2</b></a></li>
    3259                         <li><tt>field-value</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.36"><b>3.2</b></a></li>
    3260                         <li><tt>header-field</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.34"><b>3.2</b></a></li>
     3263                        <li><tt>field-content</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.38"><b>3.2</b></a></li>
     3264                        <li><tt>field-name</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.36"><b>3.2</b></a></li>
     3265                        <li><tt>field-value</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.37"><b>3.2</b></a></li>
     3266                        <li><tt>fragment</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.22"><b>2.7</b></a></li>
     3267                        <li><tt>header-field</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.35"><b>3.2</b></a></li>
    32613268                        <li>HEXDIG&nbsp;&nbsp;<a href="#rfc.iref.g.7"><b>1.2</b></a></li>
    3262                         <li><tt>Host</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.85"><b>5.4</b></a></li>
     3269                        <li><tt>Host</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.86"><b>5.4</b></a></li>
    32633270                        <li>HTAB&nbsp;&nbsp;<a href="#rfc.iref.g.8"><b>1.2</b></a></li>
    3264                         <li><tt>HTTP-message</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.27"><b>3</b></a></li>
     3271                        <li><tt>HTTP-message</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.28"><b>3</b></a></li>
    32653272                        <li><tt>HTTP-name</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.15"><b>2.6</b></a></li>
    3266                         <li><tt>http-URI</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.25"><b>2.7.1</b></a></li>
     3273                        <li><tt>http-URI</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.26"><b>2.7.1</b></a></li>
    32673274                        <li><tt>HTTP-version</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.14"><b>2.6</b></a></li>
    3268                         <li><tt>https-URI</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.26"><b>2.7.2</b></a></li>
    3269                         <li><tt>last-chunk</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.66"><b>4.1</b></a></li>
     3275                        <li><tt>https-URI</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.27"><b>2.7.2</b></a></li>
     3276                        <li><tt>last-chunk</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.67"><b>4.1</b></a></li>
    32703277                        <li>LF&nbsp;&nbsp;<a href="#rfc.iref.g.9"><b>1.2</b></a></li>
    3271                         <li><tt>message-body</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.53"><b>3.3</b></a></li>
    3272                         <li><tt>method</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.30"><b>3.1.1</b></a></li>
    3273                         <li><tt>obs-fold</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.38"><b>3.2</b></a></li>
    3274                         <li><tt>obs-text</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.48"><b>3.2.6</b></a></li>
     3278                        <li><tt>message-body</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.54"><b>3.3</b></a></li>
     3279                        <li><tt>method</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.31"><b>3.1.1</b></a></li>
     3280                        <li><tt>obs-fold</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.39"><b>3.2</b></a></li>
     3281                        <li><tt>obs-text</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.49"><b>3.2.6</b></a></li>
    32753282                        <li>OCTET&nbsp;&nbsp;<a href="#rfc.iref.g.10"><b>1.2</b></a></li>
    3276                         <li><tt>origin-form</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.81"><b>5.3</b></a></li>
    3277                         <li><tt>OWS</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.39"><b>3.2.3</b></a></li>
    3278                         <li><tt>partial-URI</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.24"><b>2.7</b></a></li>
     3283                        <li><tt>origin-form</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.82"><b>5.3</b></a></li>
     3284                        <li><tt>OWS</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.40"><b>3.2.3</b></a></li>
     3285                        <li><tt>partial-URI</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.25"><b>2.7</b></a></li>
    32793286                        <li><tt>port</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.20"><b>2.7</b></a></li>
    3280                         <li><tt>protocol-name</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.88"><b>5.7.1</b></a></li>
    3281                         <li><tt>protocol-version</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.89"><b>5.7.1</b></a></li>
    3282                         <li><tt>pseudonym</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.91"><b>5.7.1</b></a></li>
    3283                         <li><tt>qdtext</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.47"><b>3.2.6</b></a></li>
    3284                         <li><tt>qdtext-nf</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.73"><b>4.1</b></a></li>
     3287                        <li><tt>protocol-name</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.89"><b>5.7.1</b></a></li>
     3288                        <li><tt>protocol-version</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.90"><b>5.7.1</b></a></li>
     3289                        <li><tt>pseudonym</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.92"><b>5.7.1</b></a></li>
     3290                        <li><tt>qdtext</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.48"><b>3.2.6</b></a></li>
     3291                        <li><tt>qdtext-nf</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.74"><b>4.1</b></a></li>
    32853292                        <li><tt>query</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.21"><b>2.7</b></a></li>
    3286                         <li><tt>quoted-cpair</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.52"><b>3.2.6</b></a></li>
    3287                         <li><tt>quoted-pair</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.49"><b>3.2.6</b></a></li>
    3288                         <li><tt>quoted-str-nf</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.72"><b>4.1</b></a></li>
    3289                         <li><tt>quoted-string</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.46"><b>3.2.6</b></a></li>
    3290                         <li><tt>rank</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.79"><b>4.3</b></a></li>
    3291                         <li><tt>reason-phrase</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.33"><b>3.1.2</b></a></li>
    3292                         <li><tt>received-by</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.90"><b>5.7.1</b></a></li>
    3293                         <li><tt>received-protocol</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.87"><b>5.7.1</b></a></li>
    3294                         <li><tt>request-line</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.29"><b>3.1.1</b></a></li>
    3295                         <li><tt>request-target</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.80"><b>5.3</b></a></li>
    3296                         <li><tt>RWS</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.40"><b>3.2.3</b></a></li>
    3297                         <li><tt>segment</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.22"><b>2.7</b></a></li>
     3293                        <li><tt>quoted-cpair</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.53"><b>3.2.6</b></a></li>
     3294                        <li><tt>quoted-pair</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.50"><b>3.2.6</b></a></li>
     3295                        <li><tt>quoted-str-nf</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.73"><b>4.1</b></a></li>
     3296                        <li><tt>quoted-string</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.47"><b>3.2.6</b></a></li>
     3297                        <li><tt>rank</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.80"><b>4.3</b></a></li>
     3298                        <li><tt>reason-phrase</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.34"><b>3.1.2</b></a></li>
     3299                        <li><tt>received-by</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.91"><b>5.7.1</b></a></li>
     3300                        <li><tt>received-protocol</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.88"><b>5.7.1</b></a></li>
     3301                        <li><tt>request-line</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.30"><b>3.1.1</b></a></li>
     3302                        <li><tt>request-target</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.81"><b>5.3</b></a></li>
     3303                        <li><tt>RWS</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.41"><b>3.2.3</b></a></li>
     3304                        <li><tt>segment</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.23"><b>2.7</b></a></li>
    32983305                        <li>SP&nbsp;&nbsp;<a href="#rfc.iref.g.11"><b>1.2</b></a></li>
    3299                         <li><tt>special</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.45"><b>3.2.6</b></a></li>
    3300                         <li><tt>start-line</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.28"><b>3.1</b></a></li>
    3301                         <li><tt>status-code</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.32"><b>3.1.2</b></a></li>
    3302                         <li><tt>status-line</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.31"><b>3.1.2</b></a></li>
    3303                         <li><tt>t-codings</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.77"><b>4.3</b></a></li>
    3304                         <li><tt>t-ranking</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.78"><b>4.3</b></a></li>
    3305                         <li><tt>tchar</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.44"><b>3.2.6</b></a></li>
    3306                         <li><tt>TE</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.76"><b>4.3</b></a></li>
    3307                         <li><tt>token</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.43"><b>3.2.6</b></a></li>
    3308                         <li><tt>Trailer</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.74"><b>4.1.1</b></a></li>
    3309                         <li><tt>trailer-part</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.71"><b>4.1</b></a></li>
    3310                         <li><tt>transfer-coding</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.56"><b>4</b></a></li>
    3311                         <li><tt>Transfer-Encoding</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.54"><b>3.3.1</b></a></li>
    3312                         <li><tt>transfer-extension</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.57"><b>4</b></a></li>
    3313                         <li><tt>transfer-parameter</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.58"><b>4</b></a></li>
    3314                         <li><tt>Upgrade</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.94"><b>6.7</b></a></li>
    3315                         <li><tt>uri-host</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.23"><b>2.7</b></a></li>
     3306                        <li><tt>special</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.46"><b>3.2.6</b></a></li>
     3307                        <li><tt>start-line</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.29"><b>3.1</b></a></li>
     3308                        <li><tt>status-code</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.33"><b>3.1.2</b></a></li>
     3309                        <li><tt>status-line</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.32"><b>3.1.2</b></a></li>
     3310                        <li><tt>t-codings</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.78"><b>4.3</b></a></li>
     3311                        <li><tt>t-ranking</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.79"><b>4.3</b></a></li>
     3312                        <li><tt>tchar</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.45"><b>3.2.6</b></a></li>
     3313                        <li><tt>TE</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.77"><b>4.3</b></a></li>
     3314                        <li><tt>token</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.44"><b>3.2.6</b></a></li>
     3315                        <li><tt>Trailer</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.75"><b>4.1.1</b></a></li>
     3316                        <li><tt>trailer-part</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.72"><b>4.1</b></a></li>
     3317                        <li><tt>transfer-coding</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.57"><b>4</b></a></li>
     3318                        <li><tt>Transfer-Encoding</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.55"><b>3.3.1</b></a></li>
     3319                        <li><tt>transfer-extension</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.58"><b>4</b></a></li>
     3320                        <li><tt>transfer-parameter</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.59"><b>4</b></a></li>
     3321                        <li><tt>Upgrade</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.95"><b>6.7</b></a></li>
     3322                        <li><tt>uri-host</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.24"><b>2.7</b></a></li>
    33163323                        <li><tt>URI-reference</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.16"><b>2.7</b></a></li>
    3317                         <li><tt>value</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.60"><b>4</b></a></li>
     3324                        <li><tt>value</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.61"><b>4</b></a></li>
    33183325                        <li>VCHAR&nbsp;&nbsp;<a href="#rfc.iref.g.12"><b>1.2</b></a></li>
    3319                         <li><tt>Via</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.86"><b>5.7.1</b></a></li>
    3320                         <li><tt>word</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.42"><b>3.2.6</b></a></li>
     3326                        <li><tt>Via</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.87"><b>5.7.1</b></a></li>
     3327                        <li><tt>word</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.43"><b>3.2.6</b></a></li>
    33213328                     </ul>
    33223329                  </li>
    3323                   <li>gzip (Coding Format)&nbsp;&nbsp;<a href="#rfc.iref.g.75">4.2.3</a></li>
     3330                  <li>gzip (Coding Format)&nbsp;&nbsp;<a href="#rfc.iref.g.76">4.2.3</a></li>
    33243331               </ul>
    33253332            </li>
     
    34433450                  </li>
    34443451                  <li><em>RFC3040</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC3040.1">2.3</a>, <a href="#RFC3040"><b>10.2</b></a></li>
    3445                   <li><em>RFC3986</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC3986.1">2.1</a>, <a href="#rfc.xref.RFC3986.2">2.7</a>, <a href="#rfc.xref.RFC3986.3">2.7</a>, <a href="#rfc.xref.RFC3986.4">2.7</a>, <a href="#rfc.xref.RFC3986.5">2.7</a>, <a href="#rfc.xref.RFC3986.6">2.7</a>, <a href="#rfc.xref.RFC3986.7">2.7</a>, <a href="#rfc.xref.RFC3986.8">2.7</a>, <a href="#rfc.xref.RFC3986.9">2.7</a>, <a href="#rfc.xref.RFC3986.10">2.7</a>, <a href="#rfc.xref.RFC3986.11">2.7</a>, <a href="#rfc.xref.RFC3986.12">2.7.1</a>, <a href="#rfc.xref.RFC3986.13">2.7.1</a>, <a href="#rfc.xref.RFC3986.14">2.7.3</a>, <a href="#rfc.xref.RFC3986.15">2.7.3</a>, <a href="#rfc.xref.RFC3986.16">5.1</a>, <a href="#RFC3986"><b>10.1</b></a><ul>
    3446                         <li><em>Section 2.1</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC3986.15">2.7.3</a></li>
     3452                  <li><em>RFC3986</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC3986.1">2.1</a>, <a href="#rfc.xref.RFC3986.2">2.7</a>, <a href="#rfc.xref.RFC3986.3">2.7</a>, <a href="#rfc.xref.RFC3986.4">2.7</a>, <a href="#rfc.xref.RFC3986.5">2.7</a>, <a href="#rfc.xref.RFC3986.6">2.7</a>, <a href="#rfc.xref.RFC3986.7">2.7</a>, <a href="#rfc.xref.RFC3986.8">2.7</a>, <a href="#rfc.xref.RFC3986.9">2.7</a>, <a href="#rfc.xref.RFC3986.10">2.7</a>, <a href="#rfc.xref.RFC3986.11">2.7</a>, <a href="#rfc.xref.RFC3986.12">2.7</a>, <a href="#rfc.xref.RFC3986.13">2.7.1</a>, <a href="#rfc.xref.RFC3986.14">2.7.1</a>, <a href="#rfc.xref.RFC3986.15">2.7.3</a>, <a href="#rfc.xref.RFC3986.16">2.7.3</a>, <a href="#rfc.xref.RFC3986.17">5.1</a>, <a href="#RFC3986"><b>10.1</b></a><ul>
     3453                        <li><em>Section 2.1</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC3986.16">2.7.3</a></li>
    34473454                        <li><em>Section 3.2</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC3986.6">2.7</a></li>
    3448                         <li><em>Section 3.2.1</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC3986.13">2.7.1</a></li>
    3449                         <li><em>Section 3.2.2</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC3986.11">2.7</a>, <a href="#rfc.xref.RFC3986.12">2.7.1</a></li>
     3455                        <li><em>Section 3.2.1</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC3986.14">2.7.1</a></li>
     3456                        <li><em>Section 3.2.2</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC3986.7">2.7</a>, <a href="#rfc.xref.RFC3986.13">2.7.1</a></li>
    34503457                        <li><em>Section 3.2.3</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC3986.8">2.7</a></li>
    3451                         <li><em>Section 3.3</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC3986.7">2.7</a>, <a href="#rfc.xref.RFC3986.10">2.7</a></li>
    3452                         <li><em>Section 3.4</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC3986.9">2.7</a></li>
    3453                         <li><em>Section 3.5</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC3986.16">5.1</a></li>
     3458                        <li><em>Section 3.3</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC3986.9">2.7</a>, <a href="#rfc.xref.RFC3986.10">2.7</a></li>
     3459                        <li><em>Section 3.4</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC3986.11">2.7</a></li>
     3460                        <li><em>Section 3.5</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC3986.12">2.7</a>, <a href="#rfc.xref.RFC3986.17">5.1</a></li>
    34543461                        <li><em>Section 4.1</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC3986.3">2.7</a></li>
    34553462                        <li><em>Section 4.2</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC3986.5">2.7</a></li>
    34563463                        <li><em>Section 4.3</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC3986.4">2.7</a></li>
    3457                         <li><em>Section 6</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC3986.14">2.7.3</a></li>
     3464                        <li><em>Section 6</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC3986.15">2.7.3</a></li>
    34583465                     </ul>
    34593466                  </li>
  • draft-ietf-httpbis/latest/p1-messaging.xml

    r2278 r2279  
    789789  <x:anchor-alias value="relative-part"/>
    790790  <x:anchor-alias value="authority"/>
     791  <x:anchor-alias value="uri-host"/>
     792  <x:anchor-alias value="port"/>
    791793  <x:anchor-alias value="path-abempty"/>
    792   <x:anchor-alias value="port"/>
     794  <x:anchor-alias value="segment"/>
    793795  <x:anchor-alias value="query"/>
    794   <x:anchor-alias value="segment"/>
    795   <x:anchor-alias value="uri-host"/>
     796  <x:anchor-alias value="fragment"/>
    796797  <x:anchor-alias value="absolute-path"/>
    797798  <x:anchor-alias value="partial-URI"/>
    798799<t>
    799800   This specification adopts the definitions of "URI-reference",
    800    "absolute-URI", "relative-part", "port", "host",
    801    "path-abempty", "query", "segment", and "authority" from the
     801   "absolute-URI", "relative-part", "authority", "port", "host",
     802   "path-abempty", "segment", "query", and "fragment" from the
    802803   URI generic syntax.
    803804   In addition, we define an "absolute-path" rule (that differs from
     
    806807   that allow a relative URI but not a fragment.
    807808</t>
    808 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="URI-reference"><!--exported production--></iref><iref primary="true" item="Grammar" subitem="absolute-URI"/><iref primary="true" item="Grammar" subitem="authority"/><iref primary="true" item="Grammar" subitem="absolute-path"/><iref primary="true" item="Grammar" subitem="port"/><iref primary="true" item="Grammar" subitem="query"/><iref primary="true" item="Grammar" subitem="segment"/><iref primary="true" item="Grammar" subitem="uri-host"/><iref primary="true" item="Grammar" subitem="partial-URI"><!--exported production--></iref>
     809<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="URI-reference"><!--exported production--></iref><iref primary="true" item="Grammar" subitem="absolute-URI"/><iref primary="true" item="Grammar" subitem="authority"/><iref primary="true" item="Grammar" subitem="absolute-path"/><iref primary="true" item="Grammar" subitem="port"/><iref primary="true" item="Grammar" subitem="query"/><iref primary="true" item="Grammar" subitem="fragment"/><iref primary="true" item="Grammar" subitem="segment"/><iref primary="true" item="Grammar" subitem="uri-host"/><iref primary="true" item="Grammar" subitem="partial-URI"><!--exported production--></iref>
    809810  <x:ref>URI-reference</x:ref> = &lt;URI-reference, defined in <xref target="RFC3986" x:fmt="," x:sec="4.1"/>&gt;
    810811  <x:ref>absolute-URI</x:ref>  = &lt;absolute-URI, defined in <xref target="RFC3986" x:fmt="," x:sec="4.3"/>&gt;
    811812  <x:ref>relative-part</x:ref> = &lt;relative-part, defined in <xref target="RFC3986" x:fmt="," x:sec="4.2"/>&gt;
    812813  <x:ref>authority</x:ref>     = &lt;authority, defined in <xref target="RFC3986" x:fmt="," x:sec="3.2"/>&gt;
     814  <x:ref>uri-host</x:ref>      = &lt;host, defined in <xref target="RFC3986" x:fmt="," x:sec="3.2.2"/>&gt;
     815  <x:ref>port</x:ref>          = &lt;port, defined in <xref target="RFC3986" x:fmt="," x:sec="3.2.3"/>&gt;
    813816  <x:ref>path-abempty</x:ref>  = &lt;path-abempty, defined in <xref target="RFC3986" x:fmt="," x:sec="3.3"/>&gt;
    814   <x:ref>port</x:ref>          = &lt;port, defined in <xref target="RFC3986" x:fmt="," x:sec="3.2.3"/>&gt;
     817  <x:ref>segment</x:ref>       = &lt;segment, defined in <xref target="RFC3986" x:fmt="," x:sec="3.3"/>&gt;
    815818  <x:ref>query</x:ref>         = &lt;query, defined in <xref target="RFC3986" x:fmt="," x:sec="3.4"/>&gt;
    816   <x:ref>segment</x:ref>       = &lt;segment, defined in <xref target="RFC3986" x:fmt="," x:sec="3.3"/>&gt;
    817   <x:ref>uri-host</x:ref>      = &lt;host, defined in <xref target="RFC3986" x:fmt="," x:sec="3.2.2"/>&gt;
     819  <x:ref>fragment</x:ref>      = &lt;fragment, defined in <xref target="RFC3986" x:fmt="," x:sec="3.5"/>&gt;
    818820 
    819821  <x:ref>absolute-path</x:ref> = 1*( "/" segment )
     
    842844<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="http-URI"><!--terminal production--></iref>
    843845  <x:ref>http-URI</x:ref> = "http:" "//" <x:ref>authority</x:ref> <x:ref>path-abempty</x:ref> [ "?" <x:ref>query</x:ref> ]
     846             [ "#" <x:ref>fragment</x:ref> ]
    844847</artwork></figure>
    845848<t>
     
    932935<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="https-URI"><!--terminal production--></iref>
    933936  <x:ref>https-URI</x:ref> = "https:" "//" <x:ref>authority</x:ref> <x:ref>path-abempty</x:ref> [ "?" <x:ref>query</x:ref> ]
     937              [ "#" <x:ref>fragment</x:ref> ]
    934938</artwork></figure>
    935939<t>
     
    22002204   would resolve to its absolute form in order to obtain the
    22012205   "<x:dfn>target URI</x:dfn>".  The target URI
    2202    excludes the reference's fragment identifier component, if any,
     2206   excludes the reference's fragment component, if any,
    22032207   since fragment identifiers are reserved for client-side processing
    22042208   (<xref target="RFC3986" x:fmt="," x:sec="3.5"/>).
     
    51525156<x:ref>field-name</x:ref> = token
    51535157<x:ref>field-value</x:ref> = *( field-content / obs-fold )
     5158fragment = &lt;fragment, defined in [RFC3986], Section 3.5&gt;
    51545159
    51555160<x:ref>header-field</x:ref> = field-name ":" OWS field-value OWS
    5156 <x:ref>http-URI</x:ref> = "http://" authority path-abempty [ "?" query ]
    5157 <x:ref>https-URI</x:ref> = "https://" authority path-abempty [ "?" query ]
     5161<x:ref>http-URI</x:ref> = "http://" authority path-abempty [ "?" query ] [ "#"
     5162 fragment ]
     5163<x:ref>https-URI</x:ref> = "https://" authority path-abempty [ "?" query ] [ "#"
     5164 fragment ]
    51585165
    51595166<x:ref>last-chunk</x:ref> = 1*"0" [ chunk-ext ] CRLF
Note: See TracChangeset for help on using the changeset viewer.