Changeset 349


Ignore:
Timestamp:
Nov 12, 2008, 2:26:20 PM (11 years ago)
Author:
julian.reschke@…
Message:

only reference RFC 6234's core rules (related to #36)

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

Legend:

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

    r346 r349  
    522522         </li>
    523523         <li class="tocline0">2.&nbsp;&nbsp;&nbsp;<a href="#notation">Notational Conventions and Generic Grammar</a><ul class="toc">
    524                <li class="tocline1">2.1&nbsp;&nbsp;&nbsp;<a href="#notation.abnf">Augmented BNF</a><ul class="toc">
     524               <li class="tocline1">2.1&nbsp;&nbsp;&nbsp;<a href="#notation.abnf">ABNF Extensions</a><ul class="toc">
    525525                     <li class="tocline1">2.1.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.2.1.1">#rule</a></li>
    526526                     <li class="tocline1">2.1.2&nbsp;&nbsp;&nbsp;<a href="#implied.LWS">implied *LWS</a></li>
     
    756756      </p>
    757757      <h1 id="rfc.section.2"><a href="#rfc.section.2">2.</a>&nbsp;<a id="notation" href="#notation">Notational Conventions and Generic Grammar</a></h1>
    758       <h2 id="rfc.section.2.1"><a href="#rfc.section.2.1">2.1</a>&nbsp;<a id="notation.abnf" href="#notation.abnf">Augmented BNF</a></h2>
    759       <p id="rfc.section.2.1.p.1">All of the mechanisms specified in this document are described in both prose and an augmented Backus-Naur Form (ABNF) based
    760          on that defined in <a href="#RFC5234" id="rfc.xref.RFC5234.1"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a>. Implementors will need to be familiar with the notation in order to understand this specification. The extensions to ABNF
    761          used in this specification are described below.
     758      <h2 id="rfc.section.2.1"><a href="#rfc.section.2.1">2.1</a>&nbsp;<a id="notation.abnf" href="#notation.abnf">ABNF Extensions</a></h2>
     759      <p id="rfc.section.2.1.p.1">Two extensions to the ABNF rules of <a href="#RFC5234" id="rfc.xref.RFC5234.1"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a> are used to improve readability.<span class="comment">[rfc.comment.1: The current plan is to remove these extensions prior to the last call draft.]</span>
    762760      </p>
    763761      <h3 id="rfc.section.2.1.1"><a href="#rfc.section.2.1.1">2.1.1</a>&nbsp;#rule
     
    781779      <h2 id="rfc.section.2.2"><a href="#rfc.section.2.2">2.2</a>&nbsp;<a id="basic.rules" href="#basic.rules">Basic Rules</a></h2>
    782780      <div id="core.rules">
    783          <p id="rfc.section.2.2.p.1">                    The following rules are used throughout this specification to describe basic parsing constructs. The US-ASCII coded character
    784             set is defined by ANSI X3.4-1986 <a href="#USASCII" id="rfc.xref.USASCII.1"><cite title="Coded Character Set -- 7-bit American Standard Code for Information Interchange">[USASCII]</cite></a>.
     781         <p id="rfc.section.2.2.p.1">                          This specification uses the Augmented Backus-Naur Form (ABNF) notation of <a href="#RFC5234" id="rfc.xref.RFC5234.2"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a>. The following core rules are included by reference, as defined in <a href="#RFC5234" id="rfc.xref.RFC5234.3"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a>, <a href="http://tools.ietf.org/html/rfc5234#section-B.1">Appendix B.1</a>: ALPHA (letters), CHAR (any <a href="#USASCII" id="rfc.xref.USASCII.1"><cite title="Coded Character Set -- 7-bit American Standard Code for Information Interchange">[USASCII]</cite></a> character, excluding NUL), CR (carriage return), CRLF (CR LF), CTL (controls), DIGIT (decimal 0-9), DQUOTE (double quote),
     782            HEXDIG (hexadecimal 0-9/A-F/a-f), HTAB (horizontal tab), LF (line feed), OCTET (any 8-bit sequence of data), SP (space) and
     783            WSP (white space).
    785784         </p>
    786785      </div>
    787       <div id="rfc.figure.u.6"></div><pre class="inline"><span id="rfc.iref.g.1"></span><span id="rfc.iref.g.2"></span><span id="rfc.iref.g.3"></span><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span><span id="rfc.iref.g.6"></span><span id="rfc.iref.g.7"></span><span id="rfc.iref.g.8"></span><span id="rfc.iref.g.9"></span><span id="rfc.iref.g.10"></span>  <a href="#core.rules" class="smpl">OCTET</a>          = %x00-FF
    788                    ; any 8-bit sequence of data
    789   <a href="#core.rules" class="smpl">CHAR</a>           = %x01-7F
    790                    ; any US-ASCII character, excluding NUL
    791   <a href="#core.rules" class="smpl">ALPHA</a>          = %x41-5A / %x61-7A
    792                    ; A-Z / a-z
    793   <a href="#core.rules" class="smpl">DIGIT</a>          = %x30-39
    794                    ; any US-ASCII digit "0".."9"
    795   <a href="#core.rules" class="smpl">CTL</a>            = %x00-1F / %x7F
    796                    ; (octets 0 - 31) and DEL (127)
    797   <a href="#core.rules" class="smpl">CR</a>             = %x0D
    798                    ; US-ASCII CR, carriage return (13)
    799   <a href="#core.rules" class="smpl">LF</a>             = %x0A
    800                    ; US-ASCII LF, linefeed (10)
    801   <a href="#core.rules" class="smpl">SP</a>             = %x20
    802                    ; US-ASCII SP, space (32)
    803   <a href="#core.rules" class="smpl">HTAB</a>           = %x09
    804                    ; US-ASCII HT, horizontal-tab (9)
    805   <a href="#core.rules" class="smpl">DQUOTE</a>         = %x22
    806                    ; US-ASCII double-quote mark (34)
    807 </pre><div id="rule.CRLF">
    808          <p id="rfc.section.2.2.p.3">  HTTP/1.1 defines the sequence CR LF as the end-of-line marker for all protocol elements except the entity-body (see <a href="#tolerant.applications" title="Tolerant Applications">Appendix&nbsp;A</a> for tolerant applications). The end-of-line marker within an entity-body is defined by its associated media type, as described
     786      <div id="rule.CRLF">
     787         <p id="rfc.section.2.2.p.2">  HTTP/1.1 defines the sequence CR LF as the end-of-line marker for all protocol elements except the entity-body (see <a href="#tolerant.applications" title="Tolerant Applications">Appendix&nbsp;A</a> for tolerant applications). The end-of-line marker within an entity-body is defined by its associated media type, as described
    809788            in <a href="p3-payload.html#media.types" title="Media Types">Section 3.3</a> of <a href="#Part3" id="rfc.xref.Part3.2"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>.
    810789         </p>
    811790      </div>
    812       <div id="rfc.figure.u.7"></div><pre class="inline"><span id="rfc.iref.g.11"></span>  <a href="#rule.CRLF" class="smpl">CRLF</a>           = <a href="#core.rules" class="smpl">CR</a> LF
    813 </pre><div id="rule.LWS">
    814          <p id="rfc.section.2.2.p.5">  HTTP/1.1 header field values can be folded onto multiple lines if the continuation line begins with a space or horizontal
     791      <div id="rule.LWS">
     792         <p id="rfc.section.2.2.p.3">  HTTP/1.1 header field values can be folded onto multiple lines if the continuation line begins with a space or horizontal
    815793            tab. All linear white space, including folding, has the same semantics as SP. A recipient <em class="bcp14">MAY</em> replace any linear white space with a single SP before interpreting the field value or forwarding the message downstream.
    816794         </p>
    817795      </div>
    818       <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g.12"></span>  <a href="#rule.LWS" class="smpl">LWS</a>            = [<a href="#rule.CRLF" class="smpl">CRLF</a>] 1*( <a href="#core.rules" class="smpl">SP</a> / <a href="#core.rules" class="smpl">HTAB</a> )
     796      <div id="rfc.figure.u.6"></div><pre class="inline"><span id="rfc.iref.g.1"></span>  <a href="#rule.LWS" class="smpl">LWS</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> )
    819797</pre><div id="rule.TEXT">
    820          <p id="rfc.section.2.2.p.7">  The TEXT rule is only used for descriptive field contents and values that are not intended to be interpreted by the message
     798         <p id="rfc.section.2.2.p.5">  The TEXT rule is only used for descriptive field contents and values that are not intended to be interpreted by the message
    821799            parser. Words of *TEXT <em class="bcp14">MAY</em> contain characters from character sets other than ISO-8859-1 <a href="#ISO-8859-1" id="rfc.xref.ISO-8859-1.1"><cite title="Information technology -- 8-bit single-byte coded graphic character sets -- Part 1: Latin alphabet No. 1">[ISO-8859-1]</cite></a> only when encoded according to the rules of <a href="#RFC2047" id="rfc.xref.RFC2047.1"><cite title="MIME (Multipurpose Internet Mail Extensions) Part Three: Message Header Extensions for Non-ASCII Text">[RFC2047]</cite></a>.
    822800         </p>
    823801      </div>
    824       <div id="rfc.figure.u.9"></div><pre class="inline"><span id="rfc.iref.g.13"></span>  <a href="#rule.TEXT" class="smpl">TEXT</a>           = %x20-7E / %x80-FF / <a href="#rule.LWS" class="smpl">LWS</a>
     802      <div id="rfc.figure.u.7"></div><pre class="inline"><span id="rfc.iref.g.2"></span>  <a href="#rule.TEXT" class="smpl">TEXT</a>           = %x20-7E / %x80-FF / <a href="#rule.LWS" class="smpl">LWS</a>
    825803                 ; any <a href="#core.rules" class="smpl">OCTET</a> except <a href="#core.rules" class="smpl">CTL</a>s, but including <a href="#rule.LWS" class="smpl">LWS</a>
    826 </pre><p id="rfc.section.2.2.p.9">A CRLF is allowed in the definition of TEXT only as part of a header field continuation. It is expected that the folding LWS
     804</pre><p id="rfc.section.2.2.p.7">A CRLF is allowed in the definition of TEXT only as part of a header field continuation. It is expected that the folding LWS
    827805         will be replaced with a single SP before interpretation of the TEXT value.
    828806      </p>
    829       <div id="rule.HEXDIG">
    830          <p id="rfc.section.2.2.p.10">  Hexadecimal numeric characters are used in several protocol elements.</p>
    831       </div>
    832       <div id="rfc.figure.u.10"></div><pre class="inline"><span id="rfc.iref.g.14"></span>  <a href="#rule.HEXDIG" class="smpl">HEXDIG</a>         = "A" / "B" / "C" / "D" / "E" / "F"
    833                  / "a" / "b" / "c" / "d" / "e" / "f" / <a href="#core.rules" class="smpl">DIGIT</a>
    834 </pre><div id="rule.token.separators">
    835          <p id="rfc.section.2.2.p.12">      Many HTTP/1.1 header field values consist of words separated by LWS or special characters. These special characters <em class="bcp14">MUST</em> be in a quoted string to be used within a parameter value (as defined in <a href="#transfer.codings" title="Transfer Codings">Section&nbsp;3.4</a>).
     807      <div id="rule.token.separators">
     808         <p id="rfc.section.2.2.p.8">      Many HTTP/1.1 header field values consist of words separated by LWS or special characters. These special characters <em class="bcp14">MUST</em> be in a quoted string to be used within a parameter value (as defined in <a href="#transfer.codings" title="Transfer Codings">Section&nbsp;3.4</a>).
    836809         </p>
    837810      </div>
    838       <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.15"></span><span id="rfc.iref.g.16"></span><span id="rfc.iref.g.17"></span>  <a href="#rule.token.separators" class="smpl">separators</a>     = "(" / ")" / "&lt;" / "&gt;" / "@"
     811      <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g.3"></span><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span>  <a href="#rule.token.separators" class="smpl">separators</a>     = "(" / ")" / "&lt;" / "&gt;" / "@"
    839812                 / "," / ";" / ":" / "\" / <a href="#core.rules" class="smpl">DQUOTE</a>
    840813                 / "/" / "[" / "]" / "?" / "="
     
    848821  <a href="#rule.token.separators" class="smpl">token</a>          = 1*<a href="#rule.token.separators" class="smpl">tchar</a>
    849822</pre><div id="rule.comment">
    850          <p id="rfc.section.2.2.p.14">    Comments can be included in some HTTP header fields by surrounding the comment text with parentheses. Comments are only allowed
     823         <p id="rfc.section.2.2.p.10">    Comments can be included in some HTTP header fields by surrounding the comment text with parentheses. Comments are only allowed
    851824            in fields containing "comment" as part of their field value definition. In all other fields, parentheses are considered part
    852825            of the field value.
    853826         </p>
    854827      </div>
    855       <div id="rfc.figure.u.12"></div><pre class="inline"><span id="rfc.iref.g.18"></span><span id="rfc.iref.g.19"></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> ) ")"
     828      <div id="rfc.figure.u.9"></div><pre class="inline"><span id="rfc.iref.g.6"></span><span id="rfc.iref.g.7"></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> ) ")"
    856829  <a href="#rule.comment" class="smpl">ctext</a>          = &lt;any <a href="#rule.TEXT" class="smpl">TEXT</a> excluding "(" and ")"&gt;
    857830</pre><div id="rule.quoted-string">
    858          <p id="rfc.section.2.2.p.16">    A string of text is parsed as a single word if it is quoted using double-quote marks.</p>
     831         <p id="rfc.section.2.2.p.12">    A string of text is parsed as a single word if it is quoted using double-quote marks.</p>
    859832      </div>
    860       <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.20"></span><span id="rfc.iref.g.21"></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> )
     833      <div id="rfc.figure.u.10"></div><pre class="inline"><span id="rfc.iref.g.8"></span><span id="rfc.iref.g.9"></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> )
    861834  <a href="#rule.quoted-string" class="smpl">qdtext</a>         = &lt;any <a href="#rule.TEXT" class="smpl">TEXT</a> excluding <a href="#core.rules" class="smpl">DQUOTE</a> and "\"&gt;
    862835</pre><div id="rule.quoted-pair">
    863          <p id="rfc.section.2.2.p.18">    The backslash character ("\") <em class="bcp14">MAY</em> be used as a single-character quoting mechanism only within quoted-string and comment constructs.
     836         <p id="rfc.section.2.2.p.14">    The backslash character ("\") <em class="bcp14">MAY</em> be used as a single-character quoting mechanism only within quoted-string and comment constructs.
    864837         </p>
    865838      </div>
    866       <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.22"></span><span id="rfc.iref.g.23"></span>  <a href="#rule.quoted-pair" class="smpl">quoted-text</a>    = %x01-09 /
     839      <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.10"></span><span id="rfc.iref.g.11"></span>  <a href="#rule.quoted-pair" class="smpl">quoted-text</a>    = %x01-09 /
    867840                   %x0B-0C /
    868841                   %x0E-FF ; Characters excluding NUL, <a href="#core.rules" class="smpl">CR</a> and <a href="#core.rules" class="smpl">LF</a>
     
    870843</pre><h2 id="rfc.section.2.3"><a href="#rfc.section.2.3">2.3</a>&nbsp;<a id="abnf.dependencies" href="#abnf.dependencies">ABNF Rules defined in other Parts of the Specification</a></h2>
    871844      <p id="rfc.section.2.3.p.1">The ABNF rules below are defined in other parts:</p>
    872       <div id="rfc.figure.u.15"></div><pre class="inline">  <a href="#abnf.dependencies" class="smpl">request-header</a>  = &lt;request-header, defined in <a href="#Part2" id="rfc.xref.Part2.1"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>, <a href="p2-semantics.html#request.header.fields" title="Request Header Fields">Section 4</a>&gt;
     845      <div id="rfc.figure.u.12"></div><pre class="inline">  <a href="#abnf.dependencies" class="smpl">request-header</a>  = &lt;request-header, defined in <a href="#Part2" id="rfc.xref.Part2.1"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>, <a href="p2-semantics.html#request.header.fields" title="Request Header Fields">Section 4</a>&gt;
    873846  <a href="#abnf.dependencies" class="smpl">response-header</a> = &lt;response-header, defined in <a href="#Part2" id="rfc.xref.Part2.2"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>, <a href="p2-semantics.html#response.header.fields" title="Response Header Fields">Section 6</a>&gt;
    874 </pre><div id="rfc.figure.u.16"></div><pre class="inline">  <a href="#abnf.dependencies" class="smpl">accept-params</a>   = &lt;accept-params, defined in <a href="#Part3" id="rfc.xref.Part3.3"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#header.accept" title="Accept">Section 6.1</a>&gt;
     847</pre><div id="rfc.figure.u.13"></div><pre class="inline">  <a href="#abnf.dependencies" class="smpl">accept-params</a>   = &lt;accept-params, defined in <a href="#Part3" id="rfc.xref.Part3.3"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#header.accept" title="Accept">Section 6.1</a>&gt;
    875848  <a href="#abnf.dependencies" class="smpl">entity-body</a>     = &lt;entity-body, defined in <a href="#Part3" id="rfc.xref.Part3.4"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#entity.body" title="Entity Body">Section 4.2</a>&gt;
    876849  <a href="#abnf.dependencies" class="smpl">entity-header</a>   = &lt;entity-header, defined in <a href="#Part3" id="rfc.xref.Part3.5"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#entity.header.fields" title="Entity Header Fields">Section 4.1</a>&gt;
    877 </pre><div id="rfc.figure.u.17"></div><pre class="inline">  <a href="#abnf.dependencies" class="smpl">Cache-Control</a>   = &lt;Cache-Control, defined in <a href="#Part6" id="rfc.xref.Part6.2"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.pragma" title="Pragma">Section 16.4</a>&gt;
     850</pre><div id="rfc.figure.u.14"></div><pre class="inline">  <a href="#abnf.dependencies" class="smpl">Cache-Control</a>   = &lt;Cache-Control, defined in <a href="#Part6" id="rfc.xref.Part6.2"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.pragma" title="Pragma">Section 16.4</a>&gt;
    878851  <a href="#abnf.dependencies" class="smpl">Pragma</a>          = &lt;Pragma, defined in <a href="#Part6" id="rfc.xref.Part6.3"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.pragma" title="Pragma">Section 16.4</a>&gt;
    879852  <a href="#abnf.dependencies" class="smpl">Warning</a>         = &lt;Warning, defined in <a href="#Part6" id="rfc.xref.Part6.4"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.warning" title="Warning">Section 16.6</a>&gt;
     
    889862      </p>
    890863      <p id="rfc.section.3.1.p.2">The version of an HTTP message is indicated by an HTTP-Version field in the first line of the message. HTTP-Version is case-sensitive.</p>
    891       <div id="rfc.figure.u.18"></div><pre class="inline"><span id="rfc.iref.g.24"></span><span id="rfc.iref.g.25"></span>  <a href="#http.version" class="smpl">HTTP-Version</a>   = <a href="#http.version" class="smpl">HTTP-Prot-Name</a> "/" 1*<a href="#core.rules" class="smpl">DIGIT</a> "." 1*<a href="#core.rules" class="smpl">DIGIT</a>
     864      <div id="rfc.figure.u.15"></div><pre class="inline"><span id="rfc.iref.g.12"></span><span id="rfc.iref.g.13"></span>  <a href="#http.version" class="smpl">HTTP-Version</a>   = <a href="#http.version" class="smpl">HTTP-Prot-Name</a> "/" 1*<a href="#core.rules" class="smpl">DIGIT</a> "." 1*<a href="#core.rules" class="smpl">DIGIT</a>
    892865  <a href="#http.version" class="smpl">HTTP-Prot-Name</a> = %x48.54.54.50 ; "HTTP", case-sensitive
    893866</pre><p id="rfc.section.3.1.p.4">Note that the major and minor numbers <em class="bcp14">MUST</em> be treated as separate integers and that each <em class="bcp14">MAY</em> be incremented higher than a single digit. Thus, HTTP/2.4 is a lower version than HTTP/2.13, which in turn is lower than HTTP/12.3.
     
    920893         "abs_path", "query", and "authority" from that specification:
    921894      </p>
    922       <div id="rfc.figure.u.19"></div><pre class="inline"><span id="rfc.iref.g.26"></span><span id="rfc.iref.g.27"></span><span id="rfc.iref.g.28"></span><span id="rfc.iref.g.29"></span><span id="rfc.iref.g.30"></span><span id="rfc.iref.g.31"></span><span id="rfc.iref.g.32"></span>  <a href="#general.syntax" class="smpl">absoluteURI</a>   = &lt;absoluteURI, defined in <a href="#RFC2396" id="rfc.xref.RFC2396.2"><cite title="Uniform Resource Identifiers (URI): Generic Syntax">[RFC2396]</cite></a>, <a href="http://tools.ietf.org/html/rfc2396#section-3">Section 3</a>&gt;
     895      <div id="rfc.figure.u.16"></div><pre class="inline"><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span><span id="rfc.iref.g.16"></span><span id="rfc.iref.g.17"></span><span id="rfc.iref.g.18"></span><span id="rfc.iref.g.19"></span><span id="rfc.iref.g.20"></span>  <a href="#general.syntax" class="smpl">absoluteURI</a>   = &lt;absoluteURI, defined in <a href="#RFC2396" id="rfc.xref.RFC2396.2"><cite title="Uniform Resource Identifiers (URI): Generic Syntax">[RFC2396]</cite></a>, <a href="http://tools.ietf.org/html/rfc2396#section-3">Section 3</a>&gt;
    923896  <a href="#general.syntax" class="smpl">authority</a>     = &lt;authority, defined in <a href="#RFC2396" id="rfc.xref.RFC2396.3"><cite title="Uniform Resource Identifiers (URI): Generic Syntax">[RFC2396]</cite></a>, <a href="http://tools.ietf.org/html/rfc2396#section-3.2">Section 3.2</a>&gt;
    924897  <a href="#general.syntax" class="smpl">fragment</a>      = &lt;fragment, defined in <a href="#RFC2396" id="rfc.xref.RFC2396.4"><cite title="Uniform Resource Identifiers (URI): Generic Syntax">[RFC2396]</cite></a>, <a href="http://tools.ietf.org/html/rfc2396#section-4.1">Section 4.1</a>&gt;
     
    942915         and semantics for http URLs.
    943916      </p>
    944       <div id="rfc.figure.u.20"></div><pre class="inline"><span id="rfc.iref.g.33"></span>  <a href="#http.url" class="smpl">http-URL</a> = "http:" "//" <a href="#general.syntax" class="smpl">uri-host</a> [ ":" <a href="#general.syntax" class="smpl">port</a> ]
     917      <div id="rfc.figure.u.17"></div><pre class="inline"><span id="rfc.iref.g.21"></span>  <a href="#http.url" class="smpl">http-URL</a> = "http:" "//" <a href="#general.syntax" class="smpl">uri-host</a> [ ":" <a href="#general.syntax" class="smpl">port</a> ]
    945918             [ <a href="#general.syntax" class="smpl">path-absolute</a> [ "?" <a href="#general.syntax" class="smpl">query</a> ]]
    946919</pre><p id="rfc.section.3.2.2.p.3">If the port is empty or not given, port 80 is assumed. The semantics are that the identified resource is located at the server
     
    962935         <li>An empty path-absolute is equivalent to an path-absolute of "/".</li>
    963936      </ul>
    964       <p id="rfc.section.3.2.3.p.2">Characters other than those in the "reserved" set (see <a href="#RFC2396" id="rfc.xref.RFC2396.10"><cite title="Uniform Resource Identifiers (URI): Generic Syntax">[RFC2396]</cite></a>, <a href="http://tools.ietf.org/html/rfc2396#section-2.2">Section 2.2</a>) are equivalent to their ""%" <a href="#rule.HEXDIG" class="smpl">HEXDIG</a>  <a href="#rule.HEXDIG" class="smpl">HEXDIG</a>" encoding.
     937      <p id="rfc.section.3.2.3.p.2">Characters other than those in the "reserved" set (see <a href="#RFC2396" id="rfc.xref.RFC2396.10"><cite title="Uniform Resource Identifiers (URI): Generic Syntax">[RFC2396]</cite></a>, <a href="http://tools.ietf.org/html/rfc2396#section-2.2">Section 2.2</a>) are equivalent to their ""%" <a href="#core.rules" class="smpl">HEXDIG</a>  <a href="#core.rules" class="smpl">HEXDIG</a>" encoding.
    965938      </p>
    966939      <p id="rfc.section.3.2.3.p.3">For example, the following three URIs are equivalent:</p>
    967       <div id="rfc.figure.u.21"></div><pre class="text">   http://example.com:80/~smith/home.html
     940      <div id="rfc.figure.u.18"></div><pre class="text">   http://example.com:80/~smith/home.html
    968941   http://EXAMPLE.com/%7Esmith/home.html
    969942   http://EXAMPLE.com:/%7esmith/home.html
     
    971944      <h3 id="rfc.section.3.3.1"><a href="#rfc.section.3.3.1">3.3.1</a>&nbsp;<a id="full.date" href="#full.date">Full Date</a></h3>
    972945      <p id="rfc.section.3.3.1.p.1">HTTP applications have historically allowed three different formats for the representation of date/time stamps:</p>
    973       <div id="rfc.figure.u.22"></div><pre class="text">   Sun, 06 Nov 1994 08:49:37 GMT  ; RFC 822, updated by RFC 1123
     946      <div id="rfc.figure.u.19"></div><pre class="text">   Sun, 06 Nov 1994 08:49:37 GMT  ; RFC 822, updated by RFC 1123
    974947   Sunday, 06-Nov-94 08:49:37 GMT ; obsolete RFC 850 format
    975948   Sun Nov  6 08:49:37 1994       ; ANSI C's asctime() format
     
    986959         time zone, and <em class="bcp14">MUST</em> be assumed when reading the asctime format. HTTP-date is case sensitive and <em class="bcp14">MUST NOT</em> include additional LWS beyond that specifically included as SP in the grammar.
    987960      </p>
    988       <div id="rfc.figure.u.23"></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><span id="rfc.iref.g.39"></span><span id="rfc.iref.g.40"></span><span id="rfc.iref.g.41"></span><span id="rfc.iref.g.42"></span><span id="rfc.iref.g.43"></span><span id="rfc.iref.g.44"></span><span id="rfc.iref.g.45"></span>  <a href="#full.date" class="smpl">HTTP-date</a>    = <a href="#full.date" class="smpl">rfc1123-date</a> / <a href="#full.date" class="smpl">obsolete-date</a>
     961      <div id="rfc.figure.u.20"></div><pre class="inline"><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><span id="rfc.iref.g.26"></span><span id="rfc.iref.g.27"></span><span id="rfc.iref.g.28"></span><span id="rfc.iref.g.29"></span><span id="rfc.iref.g.30"></span><span id="rfc.iref.g.31"></span><span id="rfc.iref.g.32"></span><span id="rfc.iref.g.33"></span>  <a href="#full.date" class="smpl">HTTP-date</a>    = <a href="#full.date" class="smpl">rfc1123-date</a> / <a href="#full.date" class="smpl">obsolete-date</a>
    989962  <a href="#full.date" class="smpl">obsolete-date</a> = <a href="#full.date" class="smpl">rfc850-date</a> / <a href="#full.date" class="smpl">asctime-date</a>
    990963  <a href="#full.date" class="smpl">rfc1123-date</a> = <a href="#full.date" class="smpl">wkday</a> "," <a href="#core.rules" class="smpl">SP</a> date1 <a href="#core.rules" class="smpl">SP</a> time <a href="#core.rules" class="smpl">SP</a> GMT
     
    10451018         is a property of the message, not of the original entity.
    10461019      </p>
    1047       <div id="rfc.figure.u.24"></div><pre class="inline"><span id="rfc.iref.g.46"></span><span id="rfc.iref.g.47"></span>  <a href="#transfer.codings" class="smpl">transfer-coding</a>         = "chunked" / <a href="#transfer.codings" class="smpl">transfer-extension</a>
     1020      <div id="rfc.figure.u.21"></div><pre class="inline"><span id="rfc.iref.g.34"></span><span id="rfc.iref.g.35"></span>  <a href="#transfer.codings" class="smpl">transfer-coding</a>         = "chunked" / <a href="#transfer.codings" class="smpl">transfer-extension</a>
    10481021  <a href="#transfer.codings" class="smpl">transfer-extension</a>      = <a href="#rule.token.separators" class="smpl">token</a> *( ";" <a href="#transfer.codings" class="smpl">parameter</a> )
    10491022</pre><div id="rule.parameter">
    10501023         <p id="rfc.section.3.4.p.3">      Parameters are in the form of attribute/value pairs.</p>
    10511024      </div>
    1052       <div id="rfc.figure.u.25"></div><pre class="inline"><span id="rfc.iref.g.48"></span><span id="rfc.iref.g.49"></span><span id="rfc.iref.g.50"></span>  <a href="#transfer.codings" class="smpl">parameter</a>               = <a href="#rule.parameter" class="smpl">attribute</a> "=" <a href="#rule.parameter" class="smpl">value</a>
     1025      <div id="rfc.figure.u.22"></div><pre class="inline"><span id="rfc.iref.g.36"></span><span id="rfc.iref.g.37"></span><span id="rfc.iref.g.38"></span>  <a href="#transfer.codings" class="smpl">parameter</a>               = <a href="#rule.parameter" class="smpl">attribute</a> "=" <a href="#rule.parameter" class="smpl">value</a>
    10531026  <a href="#rule.parameter" class="smpl">attribute</a>               = <a href="#rule.token.separators" class="smpl">token</a>
    10541027  <a href="#rule.parameter" class="smpl">value</a>                   = <a href="#rule.token.separators" class="smpl">token</a> / <a href="#rule.quoted-string" class="smpl">quoted-string</a>
     
    10751048         necessary for the recipient to verify that it has received the full message.
    10761049      </p>
    1077       <div id="rfc.figure.u.26"></div><pre class="inline"><span id="rfc.iref.g.51"></span><span id="rfc.iref.g.52"></span><span id="rfc.iref.g.53"></span><span id="rfc.iref.g.54"></span><span id="rfc.iref.g.55"></span><span id="rfc.iref.g.56"></span><span id="rfc.iref.g.57"></span><span id="rfc.iref.g.58"></span><span id="rfc.iref.g.59"></span>  <a href="#chunked.transfer.encoding" class="smpl">Chunked-Body</a>   = *<a href="#chunked.transfer.encoding" class="smpl">chunk</a>
     1050      <div id="rfc.figure.u.23"></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><span id="rfc.iref.g.42"></span><span id="rfc.iref.g.43"></span><span id="rfc.iref.g.44"></span><span id="rfc.iref.g.45"></span><span id="rfc.iref.g.46"></span><span id="rfc.iref.g.47"></span>  <a href="#chunked.transfer.encoding" class="smpl">Chunked-Body</a>   = *<a href="#chunked.transfer.encoding" class="smpl">chunk</a>
    10781051                   <a href="#chunked.transfer.encoding" class="smpl">last-chunk</a>
    10791052                   <a href="#chunked.transfer.encoding" class="smpl">trailer-part</a>
    1080                    <a href="#rule.CRLF" class="smpl">CRLF</a>
     1053                   <a href="#core.rules" class="smpl">CRLF</a>
    10811054 
    1082   <a href="#chunked.transfer.encoding" class="smpl">chunk</a>          = <a href="#chunked.transfer.encoding" class="smpl">chunk-size</a> [ <a href="#chunked.transfer.encoding" class="smpl">chunk-extension</a> ] <a href="#rule.CRLF" class="smpl">CRLF</a>
    1083                    <a href="#chunked.transfer.encoding" class="smpl">chunk-data</a> <a href="#rule.CRLF" class="smpl">CRLF</a>
    1084   <a href="#chunked.transfer.encoding" class="smpl">chunk-size</a>     = 1*<a href="#rule.HEXDIG" class="smpl">HEXDIG</a>
    1085   <a href="#chunked.transfer.encoding" class="smpl">last-chunk</a>     = 1*("0") [ <a href="#chunked.transfer.encoding" class="smpl">chunk-extension</a> ] <a href="#rule.CRLF" class="smpl">CRLF</a>
     1055  <a href="#chunked.transfer.encoding" class="smpl">chunk</a>          = <a href="#chunked.transfer.encoding" class="smpl">chunk-size</a> [ <a href="#chunked.transfer.encoding" class="smpl">chunk-extension</a> ] <a href="#core.rules" class="smpl">CRLF</a>
     1056                   <a href="#chunked.transfer.encoding" class="smpl">chunk-data</a> <a href="#core.rules" class="smpl">CRLF</a>
     1057  <a href="#chunked.transfer.encoding" class="smpl">chunk-size</a>     = 1*<a href="#core.rules" class="smpl">HEXDIG</a>
     1058  <a href="#chunked.transfer.encoding" class="smpl">last-chunk</a>     = 1*("0") [ <a href="#chunked.transfer.encoding" class="smpl">chunk-extension</a> ] <a href="#core.rules" class="smpl">CRLF</a>
    10861059 
    10871060  <a href="#chunked.transfer.encoding" class="smpl">chunk-extension</a>= *( ";" <a href="#chunked.transfer.encoding" class="smpl">chunk-ext-name</a> [ "=" <a href="#chunked.transfer.encoding" class="smpl">chunk-ext-val</a> ] )
     
    10891062  <a href="#chunked.transfer.encoding" class="smpl">chunk-ext-val</a>  = <a href="#rule.token.separators" class="smpl">token</a> / <a href="#rule.quoted-string" class="smpl">quoted-string</a>
    10901063  <a href="#chunked.transfer.encoding" class="smpl">chunk-data</a>     = 1*<a href="#core.rules" class="smpl">OCTET</a> ; a sequence of chunk-size octets
    1091   <a href="#chunked.transfer.encoding" class="smpl">trailer-part</a>   = *(<a href="#abnf.dependencies" class="smpl">entity-header</a> <a href="#rule.CRLF" class="smpl">CRLF</a>)
     1064  <a href="#chunked.transfer.encoding" class="smpl">trailer-part</a>   = *(<a href="#abnf.dependencies" class="smpl">entity-header</a> <a href="#core.rules" class="smpl">CRLF</a>)
    10921065</pre><p id="rfc.section.3.4.1.p.3">The chunk-size field is a string of hex digits indicating the size of the chunk-data in octets. The chunked encoding is ended
    10931066         by any chunk whose size is zero, followed by the trailer, which is terminated by an empty line.
     
    11121085      </p>
    11131086      <p id="rfc.section.3.4.1.p.7">A process for decoding the "chunked" transfer-coding can be represented in pseudo-code as:</p>
    1114       <div id="rfc.figure.u.27"></div><pre class="text">    length := 0
     1087      <div id="rfc.figure.u.24"></div><pre class="text">    length := 0
    11151088    read chunk-size, chunk-extension (if any) and CRLF
    11161089    while (chunk-size &gt; 0) {
     
    11341107         space. By convention, the products are listed in order of their significance for identifying the application.
    11351108      </p>
    1136       <div id="rfc.figure.u.28"></div><pre class="inline"><span id="rfc.iref.g.60"></span><span id="rfc.iref.g.61"></span>  <a href="#product.tokens" class="smpl">product</a>         = <a href="#rule.token.separators" class="smpl">token</a> ["/" <a href="#product.tokens" class="smpl">product-version</a>]
     1109      <div id="rfc.figure.u.25"></div><pre class="inline"><span id="rfc.iref.g.48"></span><span id="rfc.iref.g.49"></span>  <a href="#product.tokens" class="smpl">product</a>         = <a href="#rule.token.separators" class="smpl">token</a> ["/" <a href="#product.tokens" class="smpl">product-version</a>]
    11371110  <a href="#product.tokens" class="smpl">product-version</a> = <a href="#rule.token.separators" class="smpl">token</a>
    11381111</pre><p id="rfc.section.3.5.p.3">Examples:</p>
    1139       <div id="rfc.figure.u.29"></div><pre class="text">    User-Agent: CERN-LineMode/2.15 libwww/2.17b3
     1112      <div id="rfc.figure.u.26"></div><pre class="text">    User-Agent: CERN-LineMode/2.15 libwww/2.17b3
    11401113    Server: Apache/0.8.4
    11411114</pre><p id="rfc.section.3.5.p.5">Product tokens <em class="bcp14">SHOULD</em> be short and to the point. They <em class="bcp14">MUST NOT</em> be used for advertising or other non-essential information. Although any token character <em class="bcp14">MAY</em> appear in a product-version, this token <em class="bcp14">SHOULD</em> only be used for a version identifier (i.e., successive versions of the same product <em class="bcp14">SHOULD</em> only differ in the product-version portion of the product value).
     
    11441117      <h2 id="rfc.section.4.1"><a href="#rfc.section.4.1">4.1</a>&nbsp;<a id="message.types" href="#message.types">Message Types</a></h2>
    11451118      <p id="rfc.section.4.1.p.1">HTTP messages consist of requests from client to server and responses from server to client.</p>
    1146       <div id="rfc.figure.u.30"></div><pre class="inline"><span id="rfc.iref.g.62"></span>  <a href="#message.types" class="smpl">HTTP-message</a>   = <a href="#request" class="smpl">Request</a> / <a href="#response" class="smpl">Response</a>     ; HTTP/1.1 messages
     1119      <div id="rfc.figure.u.27"></div><pre class="inline"><span id="rfc.iref.g.50"></span>  <a href="#message.types" class="smpl">HTTP-message</a>   = <a href="#request" class="smpl">Request</a> / <a href="#response" class="smpl">Response</a>     ; HTTP/1.1 messages
    11471120</pre><p id="rfc.section.4.1.p.3">Request (<a href="#request" title="Request">Section&nbsp;5</a>) and Response (<a href="#response" title="Response">Section&nbsp;6</a>) messages use the generic message format of <a href="#RFC5322" id="rfc.xref.RFC5322.2"><cite title="Internet Message Format">[RFC5322]</cite></a> for transferring entities (the payload of the message). Both types of message consist of a start-line, zero or more header
    11481121         fields (also known as "headers"), an empty line (i.e., a line with nothing preceding the CRLF) indicating the end of the header
    11491122         fields, and possibly a message-body.
    11501123      </p>
    1151       <div id="rfc.figure.u.31"></div><pre class="inline"><span id="rfc.iref.g.63"></span><span id="rfc.iref.g.64"></span>  <a href="#message.types" class="smpl">generic-message</a> = <a href="#message.types" class="smpl">start-line</a>
    1152                     *(<a href="#message.headers" class="smpl">message-header</a> <a href="#rule.CRLF" class="smpl">CRLF</a>)
    1153                     <a href="#rule.CRLF" class="smpl">CRLF</a>
     1124      <div id="rfc.figure.u.28"></div><pre class="inline"><span id="rfc.iref.g.51"></span><span id="rfc.iref.g.52"></span>  <a href="#message.types" class="smpl">generic-message</a> = <a href="#message.types" class="smpl">start-line</a>
     1125                    *(<a href="#message.headers" class="smpl">message-header</a> <a href="#core.rules" class="smpl">CRLF</a>)
     1126                    <a href="#core.rules" class="smpl">CRLF</a>
    11541127                    [ <a href="#message.body" class="smpl">message-body</a> ]
    11551128  <a href="#message.types" class="smpl">start-line</a>      = <a href="#request-line" class="smpl">Request-Line</a> / <a href="#status-line" class="smpl">Status-Line</a>
     
    11671140         forms.
    11681141      </p>
    1169       <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="#message.headers" class="smpl">message-header</a> = <a href="#message.headers" class="smpl">field-name</a> ":" [ <a href="#message.headers" class="smpl">field-value</a> ]
     1142      <div id="rfc.figure.u.29"></div><pre class="inline"><span id="rfc.iref.g.53"></span><span id="rfc.iref.g.54"></span><span id="rfc.iref.g.55"></span><span id="rfc.iref.g.56"></span>  <a href="#message.headers" class="smpl">message-header</a> = <a href="#message.headers" class="smpl">field-name</a> ":" [ <a href="#message.headers" class="smpl">field-value</a> ]
    11701143  <a href="#message.headers" class="smpl">field-name</a>     = <a href="#rule.token.separators" class="smpl">token</a>
    11711144  <a href="#message.headers" class="smpl">field-value</a>    = *( <a href="#message.headers" class="smpl">field-content</a> / <a href="#rule.LWS" class="smpl">LWS</a> )
     
    11981171         header field (<a href="#header.transfer-encoding" id="rfc.xref.header.transfer-encoding.2" title="Transfer-Encoding">Section&nbsp;8.7</a>).
    11991172      </p>
    1200       <div id="rfc.figure.u.33"></div><pre class="inline"><span id="rfc.iref.g.69"></span>  <a href="#message.body" class="smpl">message-body</a> = <a href="#abnf.dependencies" class="smpl">entity-body</a>
     1173      <div id="rfc.figure.u.30"></div><pre class="inline"><span id="rfc.iref.g.57"></span>  <a href="#message.body" class="smpl">message-body</a> = <a href="#abnf.dependencies" class="smpl">entity-body</a>
    12011174               / &lt;entity-body encoded as per <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a>&gt;
    12021175</pre><p id="rfc.section.4.3.p.3">Transfer-Encoding <em class="bcp14">MUST</em> be used to indicate any transfer-codings applied by an application to ensure safe and proper transfer of the message. Transfer-Encoding
     
    12661239         to the entity being transferred. These header fields apply only to the message being transmitted.
    12671240      </p>
    1268       <div id="rfc.figure.u.34"></div><pre class="inline"><span id="rfc.iref.g.70"></span>  <a href="#general.header.fields" class="smpl">general-header</a> = <a href="#abnf.dependencies" class="smpl">Cache-Control</a>            ; <a href="#Part6" id="rfc.xref.Part6.5"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.cache-control" title="Cache-Control">Section 16.2</a>
     1241      <div id="rfc.figure.u.31"></div><pre class="inline"><span id="rfc.iref.g.58"></span>  <a href="#general.header.fields" class="smpl">general-header</a> = <a href="#abnf.dependencies" class="smpl">Cache-Control</a>            ; <a href="#Part6" id="rfc.xref.Part6.5"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.cache-control" title="Cache-Control">Section 16.2</a>
    12691242                 / <a href="#header.connection" class="smpl">Connection</a>               ; <a href="#header.connection" id="rfc.xref.header.connection.1" title="Connection">Section&nbsp;8.1</a>
    12701243                 / <a href="#header.date" class="smpl">Date</a>                     ; <a href="#header.date" id="rfc.xref.header.date.1" title="Date">Section&nbsp;8.3</a>
     
    12831256         resource, the identifier of the resource, and the protocol version in use.
    12841257      </p>
    1285       <div id="rfc.figure.u.35"></div><pre class="inline"><span id="rfc.iref.g.71"></span>  <a href="#request" class="smpl">Request</a>       = <a href="#request-line" class="smpl">Request-Line</a>              ; <a href="#request-line" title="Request-Line">Section&nbsp;5.1</a>
     1258      <div id="rfc.figure.u.32"></div><pre class="inline"><span id="rfc.iref.g.59"></span>  <a href="#request" class="smpl">Request</a>       = <a href="#request-line" class="smpl">Request-Line</a>              ; <a href="#request-line" title="Request-Line">Section&nbsp;5.1</a>
    12861259                  *(( <a href="#general.header.fields" class="smpl">general-header</a>        ; <a href="#general.header.fields" title="General Header Fields">Section&nbsp;4.5</a>
    12871260                   / <a href="#abnf.dependencies" class="smpl">request-header</a>         ; <a href="#Part2" id="rfc.xref.Part2.7"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>, <a href="p2-semantics.html#request.header.fields" title="Request Header Fields">Section 4</a>
    1288                    / <a href="#abnf.dependencies" class="smpl">entity-header</a> ) <a href="#rule.CRLF" class="smpl">CRLF</a>)  ; <a href="#Part3" id="rfc.xref.Part3.9"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#entity.header.fields" title="Entity Header Fields">Section 4.1</a>
    1289                   <a href="#rule.CRLF" class="smpl">CRLF</a>
     1261                   / <a href="#abnf.dependencies" class="smpl">entity-header</a> ) <a href="#core.rules" class="smpl">CRLF</a>)  ; <a href="#Part3" id="rfc.xref.Part3.9"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#entity.header.fields" title="Entity Header Fields">Section 4.1</a>
     1262                  <a href="#core.rules" class="smpl">CRLF</a>
    12901263                  [ <a href="#message.body" class="smpl">message-body</a> ]          ; <a href="#message.body" title="Message Body">Section&nbsp;4.3</a>
    12911264</pre><h2 id="rfc.section.5.1"><a href="#rfc.section.5.1">5.1</a>&nbsp;<a id="request-line" href="#request-line">Request-Line</a></h2>
     
    12931266         elements are separated by SP characters. No CR or LF is allowed except in the final CRLF sequence.
    12941267      </p>
    1295       <div id="rfc.figure.u.36"></div><pre class="inline"><span id="rfc.iref.g.72"></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-uri" class="smpl">Request-URI</a> <a href="#core.rules" class="smpl">SP</a> <a href="#http.version" class="smpl">HTTP-Version</a> <a href="#rule.CRLF" class="smpl">CRLF</a>
     1268      <div id="rfc.figure.u.33"></div><pre class="inline"><span id="rfc.iref.g.60"></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-uri" class="smpl">Request-URI</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>
    12961269</pre><h3 id="rfc.section.5.1.1"><a href="#rfc.section.5.1.1">5.1.1</a>&nbsp;<a id="method" href="#method">Method</a></h3>
    12971270      <p id="rfc.section.5.1.1.p.1">The Method token indicates the method to be performed on the resource identified by the Request-URI. The method is case-sensitive.</p>
    1298       <div id="rfc.figure.u.37"></div><pre class="inline"><span id="rfc.iref.g.73"></span><span id="rfc.iref.g.74"></span>  <a href="#method" class="smpl">Method</a>         = <a href="#rule.token.separators" class="smpl">token</a>
     1271      <div id="rfc.figure.u.34"></div><pre class="inline"><span id="rfc.iref.g.61"></span><span id="rfc.iref.g.62"></span>  <a href="#method" class="smpl">Method</a>         = <a href="#rule.token.separators" class="smpl">token</a>
    12991272</pre><h3 id="rfc.section.5.1.2"><a href="#rfc.section.5.1.2">5.1.2</a>&nbsp;<a id="request-uri" href="#request-uri">Request-URI</a></h3>
    13001273      <p id="rfc.section.5.1.2.p.1">The Request-URI is a Uniform Resource Identifier (<a href="#uri" title="Uniform Resource Identifiers">Section&nbsp;3.2</a>) and identifies the resource upon which to apply the request.
    13011274      </p>
    1302       <div id="rfc.figure.u.38"></div><pre class="inline"><span id="rfc.iref.g.75"></span>  <a href="#request-uri" class="smpl">Request-URI</a>    = "*"
     1275      <div id="rfc.figure.u.35"></div><pre class="inline"><span id="rfc.iref.g.63"></span>  <a href="#request-uri" class="smpl">Request-URI</a>    = "*"
    13031276                 / <a href="#general.syntax" class="smpl">absoluteURI</a>
    13041277                 / ( <a href="#general.syntax" class="smpl">path-absolute</a> [ "?" <a href="#general.syntax" class="smpl">query</a> ] )
     
    13081281         apply to a resource. One example would be
    13091282      </p>
    1310       <div id="rfc.figure.u.39"></div><pre class="text">    OPTIONS * HTTP/1.1
     1283      <div id="rfc.figure.u.36"></div><pre class="text">    OPTIONS * HTTP/1.1
    13111284</pre><p id="rfc.section.5.1.2.p.5">The absoluteURI form is <em class="bcp14">REQUIRED</em> when the request is being made to a proxy. The proxy is requested to forward the request or service it from a valid cache,
    13121285         and return the response. Note that the proxy <em class="bcp14">MAY</em> forward the request on to another proxy or directly to the server specified by the absoluteURI. In order to avoid request
     
    13141287         Request-Line would be:
    13151288      </p>
    1316       <div id="rfc.figure.u.40"></div><pre class="text">    GET http://www.example.org/pub/WWW/TheProject.html HTTP/1.1
     1289      <div id="rfc.figure.u.37"></div><pre class="text">    GET http://www.example.org/pub/WWW/TheProject.html HTTP/1.1
    13171290</pre><p id="rfc.section.5.1.2.p.7">To allow for transition to absoluteURIs in all requests in future versions of HTTP, all HTTP/1.1 servers <em class="bcp14">MUST</em> accept the absoluteURI form in requests, even though HTTP/1.1 clients will only generate them in requests to proxies.
    13181291      </p>
     
    13231296         server would create a TCP connection to port 80 of the host "www.example.org" and send the lines:
    13241297      </p>
    1325       <div id="rfc.figure.u.41"></div><pre class="text">    GET /pub/WWW/TheProject.html HTTP/1.1
     1298      <div id="rfc.figure.u.38"></div><pre class="text">    GET /pub/WWW/TheProject.html HTTP/1.1
    13261299    Host: www.example.org
    13271300</pre><p id="rfc.section.5.1.2.p.11">followed by the remainder of the Request. Note that the absolute path cannot be empty; if none is present in the original
    13281301         URI, it <em class="bcp14">MUST</em> be given as "/" (the server root).
    13291302      </p>
    1330       <p id="rfc.section.5.1.2.p.12">The Request-URI is transmitted in the format specified in <a href="#general.syntax" title="General Syntax">Section&nbsp;3.2.1</a>. If the Request-URI is encoded using the "% <a href="#rule.HEXDIG" class="smpl">HEXDIG</a>  <a href="#rule.HEXDIG" class="smpl">HEXDIG</a>" encoding (<a href="#RFC2396" id="rfc.xref.RFC2396.11"><cite title="Uniform Resource Identifiers (URI): Generic Syntax">[RFC2396]</cite></a>, <a href="http://tools.ietf.org/html/rfc2396#section-2.4.1">Section 2.4.1</a>), the origin server <em class="bcp14">MUST</em> decode the Request-URI in order to properly interpret the request. Servers <em class="bcp14">SHOULD</em> respond to invalid Request-URIs with an appropriate status code.
     1303      <p id="rfc.section.5.1.2.p.12">The Request-URI is transmitted in the format specified in <a href="#general.syntax" title="General Syntax">Section&nbsp;3.2.1</a>. If the Request-URI is encoded using the "% <a href="#core.rules" class="smpl">HEXDIG</a>  <a href="#core.rules" class="smpl">HEXDIG</a>" encoding (<a href="#RFC2396" id="rfc.xref.RFC2396.11"><cite title="Uniform Resource Identifiers (URI): Generic Syntax">[RFC2396]</cite></a>, <a href="http://tools.ietf.org/html/rfc2396#section-2.4.1">Section 2.4.1</a>), the origin server <em class="bcp14">MUST</em> decode the Request-URI in order to properly interpret the request. Servers <em class="bcp14">SHOULD</em> respond to invalid Request-URIs with an appropriate status code.
    13311304      </p>
    13321305      <p id="rfc.section.5.1.2.p.13">A transparent proxy <em class="bcp14">MUST NOT</em> rewrite the "path-absolute" part of the received Request-URI when forwarding it to the next inbound server, except as noted
     
    13611334      <h1 id="rfc.section.6"><a href="#rfc.section.6">6.</a>&nbsp;<a id="response" href="#response">Response</a></h1>
    13621335      <p id="rfc.section.6.p.1">After receiving and interpreting a request message, a server responds with an HTTP response message.</p>
    1363       <div id="rfc.figure.u.42"></div><pre class="inline"><span id="rfc.iref.g.76"></span>  <a href="#response" class="smpl">Response</a>      = <a href="#status-line" class="smpl">Status-Line</a>               ; <a href="#status-line" title="Status-Line">Section&nbsp;6.1</a>
     1336      <div id="rfc.figure.u.39"></div><pre class="inline"><span id="rfc.iref.g.64"></span>  <a href="#response" class="smpl">Response</a>      = <a href="#status-line" class="smpl">Status-Line</a>               ; <a href="#status-line" title="Status-Line">Section&nbsp;6.1</a>
    13641337                  *(( <a href="#general.header.fields" class="smpl">general-header</a>        ; <a href="#general.header.fields" title="General Header Fields">Section&nbsp;4.5</a>
    13651338                   / <a href="#abnf.dependencies" class="smpl">response-header</a>        ; <a href="#Part2" id="rfc.xref.Part2.9"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>, <a href="p2-semantics.html#response.header.fields" title="Response Header Fields">Section 6</a>
    1366                    / <a href="#abnf.dependencies" class="smpl">entity-header</a> ) <a href="#rule.CRLF" class="smpl">CRLF</a>)  ; <a href="#Part3" id="rfc.xref.Part3.10"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#entity.header.fields" title="Entity Header Fields">Section 4.1</a>
    1367                   <a href="#rule.CRLF" class="smpl">CRLF</a>
     1339                   / <a href="#abnf.dependencies" class="smpl">entity-header</a> ) <a href="#core.rules" class="smpl">CRLF</a>)  ; <a href="#Part3" id="rfc.xref.Part3.10"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#entity.header.fields" title="Entity Header Fields">Section 4.1</a>
     1340                  <a href="#core.rules" class="smpl">CRLF</a>
    13681341                  [ <a href="#message.body" class="smpl">message-body</a> ]          ; <a href="#message.body" title="Message Body">Section&nbsp;4.3</a>
    13691342</pre><h2 id="rfc.section.6.1"><a href="#rfc.section.6.1">6.1</a>&nbsp;<a id="status-line" href="#status-line">Status-Line</a></h2>
     
    13721345         CRLF sequence.
    13731346      </p>
    1374       <div id="rfc.figure.u.43"></div><pre class="inline"><span id="rfc.iref.g.77"></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.code.and.reason.phrase" class="smpl">Status-Code</a> <a href="#core.rules" class="smpl">SP</a> <a href="#status.code.and.reason.phrase" class="smpl">Reason-Phrase</a> <a href="#rule.CRLF" class="smpl">CRLF</a>
     1347      <div id="rfc.figure.u.40"></div><pre class="inline"><span id="rfc.iref.g.65"></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.code.and.reason.phrase" class="smpl">Status-Code</a> <a href="#core.rules" class="smpl">SP</a> <a href="#status.code.and.reason.phrase" class="smpl">Reason-Phrase</a> <a href="#core.rules" class="smpl">CRLF</a>
    13751348</pre><h3 id="rfc.section.6.1.1"><a href="#rfc.section.6.1.1">6.1.1</a>&nbsp;<a id="status.code.and.reason.phrase" href="#status.code.and.reason.phrase">Status Code and Reason Phrase</a></h3>
    13761349      <p id="rfc.section.6.1.1.p.1">The Status-Code element is a 3-digit integer result code of the attempt to understand and satisfy the request. These codes
     
    13891362         <li>5xx: Server Error - The server failed to fulfill an apparently valid request</li>
    13901363      </ul>
    1391       <div id="rfc.figure.u.44"></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>  <a href="#status.code.and.reason.phrase" class="smpl">Status-Code</a>    = 3<a href="#core.rules" class="smpl">DIGIT</a>
     1364      <div id="rfc.figure.u.41"></div><pre class="inline"><span id="rfc.iref.g.66"></span><span id="rfc.iref.g.67"></span><span id="rfc.iref.g.68"></span>  <a href="#status.code.and.reason.phrase" class="smpl">Status-Code</a>    = 3<a href="#core.rules" class="smpl">DIGIT</a>
    13921365  <a href="#status.code.and.reason.phrase" class="smpl">Reason-Phrase</a>  = *&lt;<a href="#rule.TEXT" class="smpl">TEXT</a>, excluding <a href="#core.rules" class="smpl">CR</a>, <a href="#core.rules" class="smpl">LF</a>&gt;
    13931366</pre><h1 id="rfc.section.7"><a href="#rfc.section.7">7.</a>&nbsp;<a id="connections" href="#connections">Connections</a></h1>
     
    15801553      </p>
    15811554      <p id="rfc.section.8.1.p.2">The Connection header has the following grammar:</p>
    1582       <div id="rfc.figure.u.45"></div><pre class="inline"><span id="rfc.iref.g.81"></span><span id="rfc.iref.g.82"></span>  <a href="#header.connection" class="smpl">Connection</a> = "Connection" ":" 1#(<a href="#header.connection" class="smpl">connection-token</a>)
     1555      <div id="rfc.figure.u.42"></div><pre class="inline"><span id="rfc.iref.g.69"></span><span id="rfc.iref.g.70"></span>  <a href="#header.connection" class="smpl">Connection</a> = "Connection" ":" 1#(<a href="#header.connection" class="smpl">connection-token</a>)
    15831556  <a href="#header.connection" class="smpl">connection-token</a>  = <a href="#rule.token.separators" class="smpl">token</a>
    15841557</pre><p id="rfc.section.8.1.p.4">HTTP/1.1 proxies <em class="bcp14">MUST</em> parse the Connection header field before a message is forwarded and, for each connection-token in this field, remove any header
     
    15921565         of the response. For example,
    15931566      </p>
    1594       <div id="rfc.figure.u.46"></div><pre class="text">    Connection: close
     1567      <div id="rfc.figure.u.43"></div><pre class="text">    Connection: close
    15951568</pre><p id="rfc.section.8.1.p.8">in either the request or the response header fields indicates that the connection <em class="bcp14">SHOULD NOT</em> be considered `persistent' (<a href="#persistent.connections" title="Persistent Connections">Section&nbsp;7.1</a>) after the current request/response is complete.
    15961569      </p>
     
    16081581         or, in the case of the HEAD method, the size of the entity-body that would have been sent had the request been a GET.
    16091582      </p>
    1610       <div id="rfc.figure.u.47"></div><pre class="inline"><span id="rfc.iref.g.83"></span>  <a href="#header.content-length" class="smpl">Content-Length</a>    = "Content-Length" ":" 1*<a href="#core.rules" class="smpl">DIGIT</a>
     1583      <div id="rfc.figure.u.44"></div><pre class="inline"><span id="rfc.iref.g.71"></span>  <a href="#header.content-length" class="smpl">Content-Length</a>    = "Content-Length" ":" 1*<a href="#core.rules" class="smpl">DIGIT</a>
    16111584</pre><p id="rfc.section.8.2.p.3">An example is</p>
    1612       <div id="rfc.figure.u.48"></div><pre class="text">    Content-Length: 3495
     1585      <div id="rfc.figure.u.45"></div><pre class="text">    Content-Length: 3495
    16131586</pre><p id="rfc.section.8.2.p.5">Applications <em class="bcp14">SHOULD</em> use this field to indicate the transfer-length of the message-body, unless this is prohibited by the rules in <a href="#message.length" title="Message Length">Section&nbsp;4.4</a>.
    16141587      </p>
     
    16251598         as orig-date in <a href="http://tools.ietf.org/html/rfc5322#section-3.6.1">Section 3.6.1</a> of <a href="#RFC5322" id="rfc.xref.RFC5322.4"><cite title="Internet Message Format">[RFC5322]</cite></a>. The field value is an HTTP-date, as described in <a href="#full.date" title="Full Date">Section&nbsp;3.3.1</a>; it <em class="bcp14">MUST</em> be sent in rfc1123-date format.
    16261599      </p>
    1627       <div id="rfc.figure.u.49"></div><pre class="inline"><span id="rfc.iref.g.84"></span>  <a href="#header.date" class="smpl">Date</a>  = "Date" ":" <a href="#full.date" class="smpl">HTTP-date</a>
     1600      <div id="rfc.figure.u.46"></div><pre class="inline"><span id="rfc.iref.g.72"></span>  <a href="#header.date" class="smpl">Date</a>  = "Date" ":" <a href="#full.date" class="smpl">HTTP-date</a>
    16281601</pre><p id="rfc.section.8.3.p.3">An example is</p>
    1629       <div id="rfc.figure.u.50"></div><pre class="text">    Date: Tue, 15 Nov 1994 08:12:31 GMT
     1602      <div id="rfc.figure.u.47"></div><pre class="text">    Date: Tue, 15 Nov 1994 08:12:31 GMT
    16301603</pre><p id="rfc.section.8.3.p.5">Origin servers <em class="bcp14">MUST</em> include a Date header field in all responses, except in these cases:
    16311604      </p>
     
    16631636         a single IP address.
    16641637      </p>
    1665       <div id="rfc.figure.u.51"></div><pre class="inline"><span id="rfc.iref.g.85"></span>  <a href="#header.host" class="smpl">Host</a> = "Host" ":" <a href="#general.syntax" class="smpl">uri-host</a> [ ":" <a href="#general.syntax" class="smpl">port</a> ] ; <a href="#http.url" title="http URL">Section&nbsp;3.2.2</a>
     1638      <div id="rfc.figure.u.48"></div><pre class="inline"><span id="rfc.iref.g.73"></span>  <a href="#header.host" class="smpl">Host</a> = "Host" ":" <a href="#general.syntax" class="smpl">uri-host</a> [ ":" <a href="#general.syntax" class="smpl">port</a> ] ; <a href="#http.url" title="http URL">Section&nbsp;3.2.2</a>
    16661639</pre><p id="rfc.section.8.4.p.3">A "host" without any trailing port information implies the default port for the service requested (e.g., "80" for an HTTP
    16671640         URL). For example, a request on the origin server for &lt;http://www.example.org/pub/WWW/&gt; would properly include:
    16681641      </p>
    1669       <div id="rfc.figure.u.52"></div><pre class="text">    GET /pub/WWW/ HTTP/1.1
     1642      <div id="rfc.figure.u.49"></div><pre class="text">    GET /pub/WWW/ HTTP/1.1
    16701643    Host: www.example.org
    16711644</pre><p id="rfc.section.8.4.p.5">A client <em class="bcp14">MUST</em> include a Host header field in all HTTP/1.1 request messages. If the requested URI does not include an Internet host name
     
    16821655         and/or a comma-separated list of extension transfer-coding names with optional accept parameters (as described in <a href="#transfer.codings" title="Transfer Codings">Section&nbsp;3.4</a>).
    16831656      </p>
    1684       <div id="rfc.figure.u.53"></div><pre class="inline"><span id="rfc.iref.g.86"></span><span id="rfc.iref.g.87"></span>  <a href="#header.te" class="smpl">TE</a>        = "TE" ":" #( <a href="#header.te" class="smpl">t-codings</a> )
     1657      <div id="rfc.figure.u.50"></div><pre class="inline"><span id="rfc.iref.g.74"></span><span id="rfc.iref.g.75"></span>  <a href="#header.te" class="smpl">TE</a>        = "TE" ":" #( <a href="#header.te" class="smpl">t-codings</a> )
    16851658  <a href="#header.te" class="smpl">t-codings</a> = "trailers" / ( <a href="#transfer.codings" class="smpl">transfer-extension</a> [ <a href="#abnf.dependencies" class="smpl">accept-params</a> ] )
    16861659</pre><p id="rfc.section.8.5.p.3">The presence of the keyword "trailers" indicates that the client is willing to accept trailer fields in a chunked transfer-coding,
     
    16881661      </p>
    16891662      <p id="rfc.section.8.5.p.4">Examples of its use are:</p>
    1690       <div id="rfc.figure.u.54"></div><pre class="text">    TE: deflate
     1663      <div id="rfc.figure.u.51"></div><pre class="text">    TE: deflate
    16911664    TE:
    16921665    TE: trailers, deflate;q=0.5
     
    17251698         with chunked transfer-coding.
    17261699      </p>
    1727       <div id="rfc.figure.u.55"></div><pre class="inline"><span id="rfc.iref.g.88"></span>  <a href="#header.trailer" class="smpl">Trailer</a>  = "Trailer" ":" 1#<a href="#message.headers" class="smpl">field-name</a>
     1700      <div id="rfc.figure.u.52"></div><pre class="inline"><span id="rfc.iref.g.76"></span>  <a href="#header.trailer" class="smpl">Trailer</a>  = "Trailer" ":" 1#<a href="#message.headers" class="smpl">field-name</a>
    17281701</pre><p id="rfc.section.8.6.p.3">An HTTP/1.1 message <em class="bcp14">SHOULD</em> include a Trailer header field in a message using chunked transfer-coding with a non-empty trailer. Doing so allows the recipient
    17291702         to know which header fields to expect in the trailer.
     
    17451718         transfer-coding is a property of the message, not of the entity.
    17461719      </p>
    1747       <div id="rfc.figure.u.56"></div><pre class="inline"><span id="rfc.iref.g.89"></span>  <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a>       = "Transfer-Encoding" ":" 1#<a href="#transfer.codings" class="smpl">transfer-coding</a>
     1720      <div id="rfc.figure.u.53"></div><pre class="inline"><span id="rfc.iref.g.77"></span>  <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a>       = "Transfer-Encoding" ":" 1#<a href="#transfer.codings" class="smpl">transfer-coding</a>
    17481721</pre><p id="rfc.section.8.7.p.3">Transfer-codings are defined in <a href="#transfer.codings" title="Transfer Codings">Section&nbsp;3.4</a>. An example is:
    17491722      </p>
    1750       <div id="rfc.figure.u.57"></div><pre class="text">  Transfer-Encoding: chunked
     1723      <div id="rfc.figure.u.54"></div><pre class="text">  Transfer-Encoding: chunked
    17511724</pre><p id="rfc.section.8.7.p.5">If multiple encodings have been applied to an entity, the transfer-codings <em class="bcp14">MUST</em> be listed in the order in which they were applied. Additional information about the encoding parameters <em class="bcp14">MAY</em> be provided by other entity-header fields not defined by this specification.
    17521725      </p>
     
    17581731         to use if the server finds it appropriate to switch protocols. The server <em class="bcp14">MUST</em> use the Upgrade header field within a 101 (Switching Protocols) response to indicate which protocol(s) are being switched.
    17591732      </p>
    1760       <div id="rfc.figure.u.58"></div><pre class="inline"><span id="rfc.iref.g.90"></span>  <a href="#header.upgrade" class="smpl">Upgrade</a>        = "Upgrade" ":" 1#<a href="#product.tokens" class="smpl">product</a>
     1733      <div id="rfc.figure.u.55"></div><pre class="inline"><span id="rfc.iref.g.78"></span>  <a href="#header.upgrade" class="smpl">Upgrade</a>        = "Upgrade" ":" 1#<a href="#product.tokens" class="smpl">product</a>
    17611734</pre><p id="rfc.section.8.8.p.3">For example,</p>
    1762       <div id="rfc.figure.u.59"></div><pre class="text">    Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11
     1735      <div id="rfc.figure.u.56"></div><pre class="text">    Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11
    17631736</pre><p id="rfc.section.8.8.p.5">The Upgrade header field is intended to provide a simple mechanism for transition from HTTP/1.1 to some other, incompatible
    17641737         protocol. It does so by allowing the client to advertise its desire to use another protocol, such as a later version of HTTP
     
    17891762         of all senders along the request/response chain.
    17901763      </p>
    1791       <div id="rfc.figure.u.60"></div><pre class="inline"><span id="rfc.iref.g.91"></span><span id="rfc.iref.g.92"></span><span id="rfc.iref.g.93"></span><span id="rfc.iref.g.94"></span><span id="rfc.iref.g.95"></span><span id="rfc.iref.g.96"></span>  <a href="#header.via" class="smpl">Via</a> =  "Via" ":" 1#( <a href="#header.via" class="smpl">received-protocol</a> <a href="#header.via" class="smpl">received-by</a> [ <a href="#rule.comment" class="smpl">comment</a> ] )
     1764      <div id="rfc.figure.u.57"></div><pre class="inline"><span id="rfc.iref.g.79"></span><span id="rfc.iref.g.80"></span><span id="rfc.iref.g.81"></span><span id="rfc.iref.g.82"></span><span id="rfc.iref.g.83"></span><span id="rfc.iref.g.84"></span>  <a href="#header.via" class="smpl">Via</a> =  "Via" ":" 1#( <a href="#header.via" class="smpl">received-protocol</a> <a href="#header.via" class="smpl">received-by</a> [ <a href="#rule.comment" class="smpl">comment</a> ] )
    17921765  <a href="#header.via" class="smpl">received-protocol</a> = [ <a href="#header.via" class="smpl">protocol-name</a> "/" ] <a href="#header.via" class="smpl">protocol-version</a>
    17931766  <a href="#header.via" class="smpl">protocol-name</a>     = <a href="#rule.token.separators" class="smpl">token</a>
     
    18121785         server at www.example.com. The request received by www.example.com would then have the following Via header field:
    18131786      </p>
    1814       <div id="rfc.figure.u.61"></div><pre class="text">    Via: 1.0 fred, 1.1 p.example.net (Apache/1.1)
     1787      <div id="rfc.figure.u.58"></div><pre class="text">    Via: 1.0 fred, 1.1 p.example.net (Apache/1.1)
    18151788</pre><p id="rfc.section.8.9.p.9">Proxies and gateways used as a portal through a network firewall <em class="bcp14">SHOULD NOT</em>, by default, forward the names and ports of hosts within the firewall region. This information <em class="bcp14">SHOULD</em> only be propagated if explicitly enabled. If not enabled, the received-by host of any host behind the firewall <em class="bcp14">SHOULD</em> be replaced by an appropriate pseudonym for that host.
    18161789      </p>
     
    18181791         For example,
    18191792      </p>
    1820       <div id="rfc.figure.u.62"></div><pre class="text">    Via: 1.0 ricky, 1.1 ethel, 1.1 fred, 1.0 lucy
     1793      <div id="rfc.figure.u.59"></div><pre class="text">    Via: 1.0 ricky, 1.1 ethel, 1.1 fred, 1.0 lucy
    18211794</pre><p id="rfc.section.8.9.p.12">could be collapsed to</p>
    1822       <div id="rfc.figure.u.63"></div><pre class="text">    Via: 1.0 ricky, 1.1 mertz, 1.0 lucy
     1795      <div id="rfc.figure.u.60"></div><pre class="text">    Via: 1.0 ricky, 1.1 mertz, 1.0 lucy
    18231796</pre><p id="rfc.section.8.9.p.14">Applications <em class="bcp14">SHOULD NOT</em> combine multiple entries unless they are all under the same organizational control and the hosts have already been replaced
    18241797         by pseudonyms. Applications <em class="bcp14">MUST NOT</em> combine entries which have different received-protocol values.
     
    20922065      <p id="rfc.section.10.6.p.1">They exist. They are hard to defend against. Research continues. Beware.</p>
    20932066      <h1 id="rfc.section.11"><a href="#rfc.section.11">11.</a>&nbsp;<a id="ack" href="#ack">Acknowledgments</a></h1>
    2094       <p id="rfc.section.11.p.1">This specification makes heavy use of the augmented BNF and generic constructs defined by David H. Crocker for <a href="#RFC5234" id="rfc.xref.RFC5234.2"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a>. Similarly, it reuses many of the definitions provided by Nathaniel Borenstein and Ned Freed for MIME <a href="#RFC2045" id="rfc.xref.RFC2045.3"><cite title="Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies">[RFC2045]</cite></a>. We hope that their inclusion in this specification will help reduce past confusion over the relationship between HTTP and
     2067      <p id="rfc.section.11.p.1">This specification makes heavy use of the augmented BNF and generic constructs defined by David H. Crocker for <a href="#RFC5234" id="rfc.xref.RFC5234.4"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a>. Similarly, it reuses many of the definitions provided by Nathaniel Borenstein and Ned Freed for MIME <a href="#RFC2045" id="rfc.xref.RFC2045.3"><cite title="Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies">[RFC2045]</cite></a>. We hope that their inclusion in this specification will help reduce past confusion over the relationship between HTTP and
    20952068         Internet mail message formats.
    20962069      </p>
     
    25672540         </dd>
    25682541      </dl>
    2569       <p id="rfc.section.D.p.16"> <span id="rfc.iref.g.97"></span>  <dfn>gateway</dfn> 
     2542      <p id="rfc.section.D.p.16"> <span id="rfc.iref.g.85"></span>  <dfn>gateway</dfn> 
    25702543      </p>
    25712544      <dl class="empty">
     
    27432716         <li>Use "/" instead of "|" for alternatives.</li>
    27442717         <li>Get rid of RFC822 dependency; use RFC5234 plus extensions instead.</li>
     2718         <li>Only reference RFC 5234's core rules.</li>
    27452719      </ul>
    27462720      <h1><a id="rfc.copyright" href="#rfc.copyright">Full Copyright Statement</a></h1>
     
    27972771            </li>
    27982772            <li class="indline0"><a id="rfc.index.G" href="#rfc.index.G"><b>G</b></a><ul class="ind">
    2799                   <li class="indline1">gateway&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.97">D</a></li>
     2773                  <li class="indline1">gateway&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.85">D</a></li>
    28002774                  <li class="indline1"><tt>Grammar</tt>&nbsp;&nbsp;
    28012775                     <ul class="ind">
    2802                         <li class="indline1"><tt>absoluteURI</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.26"><b>3.2.1</b></a></li>
    2803                         <li class="indline1"><tt>ALPHA</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.3"><b>2.2</b></a></li>
    2804                         <li class="indline1"><tt>asctime-date</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.38"><b>3.3.1</b></a></li>
    2805                         <li class="indline1"><tt>attribute</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.49"><b>3.4</b></a></li>
    2806                         <li class="indline1"><tt>authority</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.27"><b>3.2.1</b></a></li>
    2807                         <li class="indline1"><tt>CHAR</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.2"><b>2.2</b></a></li>
    2808                         <li class="indline1"><tt>chunk</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.52"><b>3.4.1</b></a></li>
    2809                         <li class="indline1"><tt>chunk-data</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.58"><b>3.4.1</b></a></li>
    2810                         <li class="indline1"><tt>chunk-ext-name</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.56"><b>3.4.1</b></a></li>
    2811                         <li class="indline1"><tt>chunk-ext-val</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.57"><b>3.4.1</b></a></li>
    2812                         <li class="indline1"><tt>chunk-extension</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.55"><b>3.4.1</b></a></li>
    2813                         <li class="indline1"><tt>chunk-size</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.53"><b>3.4.1</b></a></li>
    2814                         <li class="indline1"><tt>Chunked-Body</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.51"><b>3.4.1</b></a></li>
    2815                         <li class="indline1"><tt>comment</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.18"><b>2.2</b></a></li>
    2816                         <li class="indline1"><tt>Connection</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.81"><b>8.1</b></a></li>
    2817                         <li class="indline1"><tt>connection-token</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.82"><b>8.1</b></a></li>
    2818                         <li class="indline1"><tt>Content-Length</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.83"><b>8.2</b></a></li>
    2819                         <li class="indline1"><tt>CR</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.6"><b>2.2</b></a></li>
    2820                         <li class="indline1"><tt>CRLF</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.11"><b>2.2</b></a></li>
    2821                         <li class="indline1"><tt>ctext</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.19"><b>2.2</b></a></li>
    2822                         <li class="indline1"><tt>CTL</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.5"><b>2.2</b></a></li>
    2823                         <li class="indline1"><tt>Date</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.84"><b>8.3</b></a></li>
    2824                         <li class="indline1"><tt>date1</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.39"><b>3.3.1</b></a></li>
    2825                         <li class="indline1"><tt>date2</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.40"><b>3.3.1</b></a></li>
    2826                         <li class="indline1"><tt>date3</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.41"><b>3.3.1</b></a></li>
    2827                         <li class="indline1"><tt>DIGIT</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.4"><b>2.2</b></a></li>
    2828                         <li class="indline1"><tt>DQUOTE</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.10"><b>2.2</b></a></li>
    2829                         <li class="indline1"><tt>extension-code</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.79"><b>6.1.1</b></a></li>
    2830                         <li class="indline1"><tt>extension-method</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.74"><b>5.1.1</b></a></li>
    2831                         <li class="indline1"><tt>field-content</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.68"><b>4.2</b></a></li>
    2832                         <li class="indline1"><tt>field-name</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.66"><b>4.2</b></a></li>
    2833                         <li class="indline1"><tt>field-value</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.67"><b>4.2</b></a></li>
    2834                         <li class="indline1"><tt>general-header</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.70"><b>4.5</b></a></li>
    2835                         <li class="indline1"><tt>generic-message</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.63"><b>4.1</b></a></li>
    2836                         <li class="indline1"><tt>HEXDIG</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.14"><b>2.2</b></a></li>
    2837                         <li class="indline1"><tt>Host</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.85"><b>8.4</b></a></li>
    2838                         <li class="indline1"><tt>HTAB</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.9"><b>2.2</b></a></li>
    2839                         <li class="indline1"><tt>HTTP-date</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.34"><b>3.3.1</b></a></li>
    2840                         <li class="indline1"><tt>HTTP-message</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.62"><b>4.1</b></a></li>
    2841                         <li class="indline1"><tt>HTTP-Prot-Name</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.25"><b>3.1</b></a></li>
    2842                         <li class="indline1"><tt>http-URL</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.33"><b>3.2.2</b></a></li>
    2843                         <li class="indline1"><tt>HTTP-Version</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.24"><b>3.1</b></a></li>
    2844                         <li class="indline1"><tt>last-chunk</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.54"><b>3.4.1</b></a></li>
    2845                         <li class="indline1"><tt>LF</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.7"><b>2.2</b></a></li>
    2846                         <li class="indline1"><tt>LWS</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.12"><b>2.2</b></a></li>
    2847                         <li class="indline1"><tt>message-body</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.69"><b>4.3</b></a></li>
    2848                         <li class="indline1"><tt>message-header</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.65"><b>4.2</b></a></li>
    2849                         <li class="indline1"><tt>Method</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.73"><b>5.1.1</b></a></li>
    2850                         <li class="indline1"><tt>month</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.45"><b>3.3.1</b></a></li>
    2851                         <li class="indline1"><tt>obsolete-date</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.36"><b>3.3.1</b></a></li>
    2852                         <li class="indline1"><tt>OCTET</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.1"><b>2.2</b></a></li>
    2853                         <li class="indline1"><tt>parameter</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.48"><b>3.4</b></a></li>
    2854                         <li class="indline1"><tt>path-absolute</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.28"><b>3.2.1</b></a></li>
    2855                         <li class="indline1"><tt>port</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.29"><b>3.2.1</b></a></li>
    2856                         <li class="indline1"><tt>product</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.60"><b>3.5</b></a></li>
    2857                         <li class="indline1"><tt>product-version</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.61"><b>3.5</b></a></li>
    2858                         <li class="indline1"><tt>protocol-name</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.93"><b>8.9</b></a></li>
    2859                         <li class="indline1"><tt>protocol-version</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.94"><b>8.9</b></a></li>
    2860                         <li class="indline1"><tt>pseudonym</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.96"><b>8.9</b></a></li>
    2861                         <li class="indline1"><tt>qdtext</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.21"><b>2.2</b></a></li>
    2862                         <li class="indline1"><tt>query</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.30"><b>3.2.1</b></a></li>
    2863                         <li class="indline1"><tt>quoted-pair</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.23"><b>2.2</b></a></li>
    2864                         <li class="indline1"><tt>quoted-string</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.20"><b>2.2</b></a></li>
    2865                         <li class="indline1"><tt>quoted-text</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.22"><b>2.2</b></a></li>
    2866                         <li class="indline1"><tt>Reason-Phrase</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.80"><b>6.1.1</b></a></li>
    2867                         <li class="indline1"><tt>received-by</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.95"><b>8.9</b></a></li>
    2868                         <li class="indline1"><tt>received-protocol</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.92"><b>8.9</b></a></li>
    2869                         <li class="indline1"><tt>relativeURI</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.31"><b>3.2.1</b></a></li>
    2870                         <li class="indline1"><tt>Request</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.71"><b>5</b></a></li>
    2871                         <li class="indline1"><tt>Request-Line</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.72"><b>5.1</b></a></li>
    2872                         <li class="indline1"><tt>Request-URI</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.75"><b>5.1.2</b></a></li>
    2873                         <li class="indline1"><tt>Response</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.76"><b>6</b></a></li>
    2874                         <li class="indline1"><tt>rfc1123-date</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.35"><b>3.3.1</b></a></li>
    2875                         <li class="indline1"><tt>rfc850-date</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.37"><b>3.3.1</b></a></li>
    2876                         <li class="indline1"><tt>separators</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.17"><b>2.2</b></a></li>
    2877                         <li class="indline1"><tt>SP</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.8"><b>2.2</b></a></li>
    2878                         <li class="indline1"><tt>start-line</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.64"><b>4.1</b></a></li>
    2879                         <li class="indline1"><tt>Status-Code</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.78"><b>6.1.1</b></a></li>
    2880                         <li class="indline1"><tt>Status-Line</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.77"><b>6.1</b></a></li>
    2881                         <li class="indline1"><tt>t-codings</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.87"><b>8.5</b></a></li>
    2882                         <li class="indline1"><tt>tchar</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.16"><b>2.2</b></a></li>
    2883                         <li class="indline1"><tt>TE</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.86"><b>8.5</b></a></li>
    2884                         <li class="indline1"><tt>TEXT</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.13"><b>2.2</b></a></li>
    2885                         <li class="indline1"><tt>time</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.42"><b>3.3.1</b></a></li>
    2886                         <li class="indline1"><tt>token</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.15"><b>2.2</b></a></li>
    2887                         <li class="indline1"><tt>Trailer</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.88"><b>8.6</b></a></li>
    2888                         <li class="indline1"><tt>trailer-part</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.59"><b>3.4.1</b></a></li>
    2889                         <li class="indline1"><tt>transfer-coding</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.46"><b>3.4</b></a></li>
    2890                         <li class="indline1"><tt>Transfer-Encoding</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.89"><b>8.7</b></a></li>
    2891                         <li class="indline1"><tt>transfer-extension</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.47"><b>3.4</b></a></li>
    2892                         <li class="indline1"><tt>Upgrade</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.90"><b>8.8</b></a></li>
    2893                         <li class="indline1"><tt>uri-host</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.32"><b>3.2.1</b></a></li>
    2894                         <li class="indline1"><tt>value</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.50"><b>3.4</b></a></li>
    2895                         <li class="indline1"><tt>Via</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.91"><b>8.9</b></a></li>
    2896                         <li class="indline1"><tt>weekday</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.44"><b>3.3.1</b></a></li>
    2897                         <li class="indline1"><tt>wkday</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.43"><b>3.3.1</b></a></li>
     2776                        <li class="indline1"><tt>absoluteURI</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.14"><b>3.2.1</b></a></li>
     2777                        <li class="indline1"><tt>asctime-date</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.26"><b>3.3.1</b></a></li>
     2778                        <li class="indline1"><tt>attribute</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.37"><b>3.4</b></a></li>
     2779                        <li class="indline1"><tt>authority</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.15"><b>3.2.1</b></a></li>
     2780                        <li class="indline1"><tt>chunk</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.40"><b>3.4.1</b></a></li>
     2781                        <li class="indline1"><tt>chunk-data</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.46"><b>3.4.1</b></a></li>
     2782                        <li class="indline1"><tt>chunk-ext-name</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.44"><b>3.4.1</b></a></li>
     2783                        <li class="indline1"><tt>chunk-ext-val</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.45"><b>3.4.1</b></a></li>
     2784                        <li class="indline1"><tt>chunk-extension</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.43"><b>3.4.1</b></a></li>
     2785                        <li class="indline1"><tt>chunk-size</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.41"><b>3.4.1</b></a></li>
     2786                        <li class="indline1"><tt>Chunked-Body</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.39"><b>3.4.1</b></a></li>
     2787                        <li class="indline1"><tt>comment</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.6"><b>2.2</b></a></li>
     2788                        <li class="indline1"><tt>Connection</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.69"><b>8.1</b></a></li>
     2789                        <li class="indline1"><tt>connection-token</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.70"><b>8.1</b></a></li>
     2790                        <li class="indline1"><tt>Content-Length</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.71"><b>8.2</b></a></li>
     2791                        <li class="indline1"><tt>ctext</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.7"><b>2.2</b></a></li>
     2792                        <li class="indline1"><tt>Date</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.72"><b>8.3</b></a></li>
     2793                        <li class="indline1"><tt>date1</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.27"><b>3.3.1</b></a></li>
     2794                        <li class="indline1"><tt>date2</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.28"><b>3.3.1</b></a></li>
     2795                        <li class="indline1"><tt>date3</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.29"><b>3.3.1</b></a></li>
     2796                        <li class="indline1"><tt>extension-code</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.67"><b>6.1.1</b></a></li>
     2797                        <li class="indline1"><tt>extension-method</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.62"><b>5.1.1</b></a></li>
     2798                        <li class="indline1"><tt>field-content</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.56"><b>4.2</b></a></li>
     2799                        <li class="indline1"><tt>field-name</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.54"><b>4.2</b></a></li>
     2800                        <li class="indline1"><tt>field-value</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.55"><b>4.2</b></a></li>
     2801                        <li class="indline1"><tt>general-header</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.58"><b>4.5</b></a></li>
     2802                        <li class="indline1"><tt>generic-message</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.51"><b>4.1</b></a></li>
     2803                        <li class="indline1"><tt>Host</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.73"><b>8.4</b></a></li>
     2804                        <li class="indline1"><tt>HTTP-date</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.22"><b>3.3.1</b></a></li>
     2805                        <li class="indline1"><tt>HTTP-message</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.50"><b>4.1</b></a></li>
     2806                        <li class="indline1"><tt>HTTP-Prot-Name</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.13"><b>3.1</b></a></li>
     2807                        <li class="indline1"><tt>http-URL</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.21"><b>3.2.2</b></a></li>
     2808                        <li class="indline1"><tt>HTTP-Version</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.12"><b>3.1</b></a></li>
     2809                        <li class="indline1"><tt>last-chunk</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.42"><b>3.4.1</b></a></li>
     2810                        <li class="indline1"><tt>LWS</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.1"><b>2.2</b></a></li>
     2811                        <li class="indline1"><tt>message-body</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.57"><b>4.3</b></a></li>
     2812                        <li class="indline1"><tt>message-header</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.53"><b>4.2</b></a></li>
     2813                        <li class="indline1"><tt>Method</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.61"><b>5.1.1</b></a></li>
     2814                        <li class="indline1"><tt>month</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.33"><b>3.3.1</b></a></li>
     2815                        <li class="indline1"><tt>obsolete-date</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.24"><b>3.3.1</b></a></li>
     2816                        <li class="indline1"><tt>parameter</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.36"><b>3.4</b></a></li>
     2817                        <li class="indline1"><tt>path-absolute</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.16"><b>3.2.1</b></a></li>
     2818                        <li class="indline1"><tt>port</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.17"><b>3.2.1</b></a></li>
     2819                        <li class="indline1"><tt>product</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.48"><b>3.5</b></a></li>
     2820                        <li class="indline1"><tt>product-version</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.49"><b>3.5</b></a></li>
     2821                        <li class="indline1"><tt>protocol-name</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.81"><b>8.9</b></a></li>
     2822                        <li class="indline1"><tt>protocol-version</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.82"><b>8.9</b></a></li>
     2823                        <li class="indline1"><tt>pseudonym</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.84"><b>8.9</b></a></li>
     2824                        <li class="indline1"><tt>qdtext</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.9"><b>2.2</b></a></li>
     2825                        <li class="indline1"><tt>query</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.18"><b>3.2.1</b></a></li>
     2826                        <li class="indline1"><tt>quoted-pair</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.11"><b>2.2</b></a></li>
     2827                        <li class="indline1"><tt>quoted-string</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.8"><b>2.2</b></a></li>
     2828                        <li class="indline1"><tt>quoted-text</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.10"><b>2.2</b></a></li>
     2829                        <li class="indline1"><tt>Reason-Phrase</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.68"><b>6.1.1</b></a></li>
     2830                        <li class="indline1"><tt>received-by</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.83"><b>8.9</b></a></li>
     2831                        <li class="indline1"><tt>received-protocol</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.80"><b>8.9</b></a></li>
     2832                        <li class="indline1"><tt>relativeURI</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.19"><b>3.2.1</b></a></li>
     2833                        <li class="indline1"><tt>Request</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.59"><b>5</b></a></li>
     2834                        <li class="indline1"><tt>Request-Line</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.60"><b>5.1</b></a></li>
     2835                        <li class="indline1"><tt>Request-URI</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.63"><b>5.1.2</b></a></li>
     2836                        <li class="indline1"><tt>Response</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.64"><b>6</b></a></li>
     2837                        <li class="indline1"><tt>rfc1123-date</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.23"><b>3.3.1</b></a></li>
     2838                        <li class="indline1"><tt>rfc850-date</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.25"><b>3.3.1</b></a></li>
     2839                        <li class="indline1"><tt>separators</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.5"><b>2.2</b></a></li>
     2840                        <li class="indline1"><tt>start-line</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.52"><b>4.1</b></a></li>
     2841                        <li class="indline1"><tt>Status-Code</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.66"><b>6.1.1</b></a></li>
     2842                        <li class="indline1"><tt>Status-Line</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.65"><b>6.1</b></a></li>
     2843                        <li class="indline1"><tt>t-codings</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.75"><b>8.5</b></a></li>
     2844                        <li class="indline1"><tt>tchar</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.4"><b>2.2</b></a></li>
     2845                        <li class="indline1"><tt>TE</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.74"><b>8.5</b></a></li>
     2846                        <li class="indline1"><tt>TEXT</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.2"><b>2.2</b></a></li>
     2847                        <li class="indline1"><tt>time</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.30"><b>3.3.1</b></a></li>
     2848                        <li class="indline1"><tt>token</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.3"><b>2.2</b></a></li>
     2849                        <li class="indline1"><tt>Trailer</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.76"><b>8.6</b></a></li>
     2850                        <li class="indline1"><tt>trailer-part</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.47"><b>3.4.1</b></a></li>
     2851                        <li class="indline1"><tt>transfer-coding</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.34"><b>3.4</b></a></li>
     2852                        <li class="indline1"><tt>Transfer-Encoding</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.77"><b>8.7</b></a></li>
     2853                        <li class="indline1"><tt>transfer-extension</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.35"><b>3.4</b></a></li>
     2854                        <li class="indline1"><tt>Upgrade</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.78"><b>8.8</b></a></li>
     2855                        <li class="indline1"><tt>uri-host</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.20"><b>3.2.1</b></a></li>
     2856                        <li class="indline1"><tt>value</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.38"><b>3.4</b></a></li>
     2857                        <li class="indline1"><tt>Via</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.79"><b>8.9</b></a></li>
     2858                        <li class="indline1"><tt>weekday</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.32"><b>3.3.1</b></a></li>
     2859                        <li class="indline1"><tt>wkday</tt>&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.31"><b>3.3.1</b></a></li>
    28982860                     </ul>
    28992861                  </li>
     
    30302992                  <li class="indline1"><em>RFC4288</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.RFC4288.1">9.3</a>, <a class="iref" href="#RFC4288"><b>12.2</b></a></li>
    30312993                  <li class="indline1"><em>RFC4395</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.RFC4395.1">9.2</a>, <a class="iref" href="#RFC4395"><b>12.2</b></a></li>
    3032                   <li class="indline1"><em>RFC5234</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.RFC5234.1">2.1</a>, <a class="iref" href="#rfc.xref.RFC5234.2">11</a>, <a class="iref" href="#RFC5234"><b>12.1</b></a></li>
     2994                  <li class="indline1"><em>RFC5234</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.RFC5234.1">2.1</a>, <a class="iref" href="#rfc.xref.RFC5234.2">2.2</a>, <a class="iref" href="#rfc.xref.RFC5234.3">2.2</a>, <a class="iref" href="#rfc.xref.RFC5234.4">11</a>, <a class="iref" href="#RFC5234"><b>12.1</b></a><ul class="ind">
     2995                        <li class="indline1"><em>Appendix B.1</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.RFC5234.3">2.2</a></li>
     2996                     </ul>
     2997                  </li>
    30332998                  <li class="indline1"><em>RFC5322</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.RFC5322.1">1.1</a>, <a class="iref" href="#rfc.xref.RFC5322.2">4.1</a>, <a class="iref" href="#rfc.xref.RFC5322.3">4.2</a>, <a class="iref" href="#rfc.xref.RFC5322.4">8.3</a>, <a class="iref" href="#rfc.xref.RFC5322.5">8.9</a>, <a class="iref" href="#RFC5322"><b>12.2</b></a><ul class="ind">
    30342999                        <li class="indline1"><em>Section 2.1</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.RFC5322.3">4.2</a></li>
  • draft-ietf-httpbis/latest/p1-messaging.xml

    r346 r349  
    418418<section title="Notational Conventions and Generic Grammar" anchor="notation">
    419419
    420 <section title="Augmented BNF" anchor="notation.abnf">
    421 <t>
    422    All of the mechanisms specified in this document are described in
    423    both prose and an augmented Backus-Naur Form (ABNF) based on that
    424    defined in <xref target="RFC5234"/>. Implementors will need to be
    425    familiar with the notation in order to understand this specification. The
    426    extensions to ABNF used in this specification are described below.
     420<section title="ABNF Extensions" anchor="notation.abnf">
     421<t>
     422   Two extensions to the ABNF rules of <xref target="RFC5234"/> are used to
     423   improve readability.<cref>The current plan is to remove these extensions prior
     424   to the last call draft.</cref>
    427425</t>
    428426
     
    471469<section title="Basic Rules" anchor="basic.rules">
    472470<t anchor="core.rules">
    473   <x:anchor-alias value="OCTET"/>
     471  <x:anchor-alias value="ALPHA"/>
    474472  <x:anchor-alias value="CHAR"/>
    475   <x:anchor-alias value="ALPHA"/>
    476   <x:anchor-alias value="DIGIT"/>
    477473  <x:anchor-alias value="CTL"/>
    478474  <x:anchor-alias value="CR"/>
     475  <x:anchor-alias value="CRLF"/>
     476  <x:anchor-alias value="DIGIT"/>
     477  <x:anchor-alias value="DQUOTE"/>
     478  <x:anchor-alias value="HEXDIG"/>
     479  <x:anchor-alias value="HTAB"/>
    479480  <x:anchor-alias value="LF"/>
     481  <x:anchor-alias value="OCTET"/>
    480482  <x:anchor-alias value="SP"/>
    481   <x:anchor-alias value="HTAB"/>
    482   <x:anchor-alias value="DQUOTE"/>
    483    The following rules are used throughout this specification to
    484    describe basic parsing constructs. The US-ASCII coded character set
    485    is defined by ANSI X3.4-1986 <xref target="USASCII"/>.
    486 </t>
    487 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="OCTET"/><iref primary="true" item="Grammar" subitem="CHAR"/><iref primary="true" item="Grammar" subitem="ALPHA"/><iref primary="true" item="Grammar" subitem="DIGIT"/><iref primary="true" item="Grammar" subitem="CTL"/><iref primary="true" item="Grammar" subitem="CR"/><iref primary="true" item="Grammar" subitem="LF"/><iref primary="true" item="Grammar" subitem="SP"/><iref primary="true" item="Grammar" subitem="HTAB"/><iref primary="true" item="Grammar" subitem="DQUOTE"/>
    488   <x:ref>OCTET</x:ref>          = %x00-FF
    489                    ; any 8-bit sequence of data
    490   <x:ref>CHAR</x:ref>           = %x01-7F
    491                    ; any US-ASCII character, excluding NUL
    492   <x:ref>ALPHA</x:ref>          = %x41-5A / %x61-7A
    493                    ; A-Z / a-z
    494   <x:ref>DIGIT</x:ref>          = %x30-39
    495                    ; any US-ASCII digit "0".."9"
    496   <x:ref>CTL</x:ref>            = %x00-1F / %x7F
    497                    ; (octets 0 - 31) and DEL (127)
    498   <x:ref>CR</x:ref>             = %x0D
    499                    ; US-ASCII CR, carriage return (13)
    500   <x:ref>LF</x:ref>             = %x0A
    501                    ; US-ASCII LF, linefeed (10)
    502   <x:ref>SP</x:ref>             = %x20
    503                    ; US-ASCII SP, space (32)
    504   <x:ref>HTAB</x:ref>           = %x09
    505                    ; US-ASCII HT, horizontal-tab (9)
    506   <x:ref>DQUOTE</x:ref>         = %x22
    507                    ; US-ASCII double-quote mark (34)
    508 </artwork></figure>
     483  <x:anchor-alias value="WSP"/>
     484   This specification uses the Augmented Backus-Naur Form (ABNF) notation
     485   of <xref target="RFC5234"/>.  The following core rules are included by
     486   reference, as defined in <xref target="RFC5234" x:fmt="," x:sec="B.1"/>:
     487   ALPHA (letters), CHAR (any <xref target="USASCII"/> character,
     488   excluding NUL), CR (carriage return), CRLF (CR LF), CTL (controls),
     489   DIGIT (decimal 0-9), DQUOTE (double quote),
     490   HEXDIG (hexadecimal 0-9/A-F/a-f), HTAB (horizontal tab),
     491   LF (line feed), OCTET (any 8-bit sequence of data), SP (space)
     492   and WSP (white space).
     493</t>
    509494<t anchor="rule.CRLF">
    510495  <x:anchor-alias value="CRLF"/>
     
    514499   is defined by its associated media type, as described in &media-types;.
    515500</t>
    516 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="CRLF"/>
    517   <x:ref>CRLF</x:ref>           = <x:ref>CR</x:ref> LF
    518 </artwork></figure>
    519501<t anchor="rule.LWS">
    520502  <x:anchor-alias value="LWS"/>
     
    545527   replaced with a single SP before interpretation of the TEXT value.
    546528</t>
    547 <t anchor="rule.HEXDIG">
    548   <x:anchor-alias value="HEXDIG"/>
    549    Hexadecimal numeric characters are used in several protocol elements.
    550 </t>
    551 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="HEXDIG"/>
    552   <x:ref>HEXDIG</x:ref>         = "A" / "B" / "C" / "D" / "E" / "F"
    553                  / "a" / "b" / "c" / "d" / "e" / "f" / <x:ref>DIGIT</x:ref>
    554 </artwork></figure>
    555529<t anchor="rule.token.separators">
    556530  <x:anchor-alias value="tchar"/>
     
    46464620      Get rid of RFC822 dependency; use RFC5234 plus extensions instead.
    46474621    </t>
     4622    <t>
     4623      Only reference RFC 5234's core rules.
     4624    </t>
    46484625  </list>
    46494626</t>
Note: See TracChangeset for help on using the changeset viewer.