* WGs marked with an * asterisk has had at least one new draft made available during the last 5 days

Changeset 738


Ignore:
Timestamp:
2009-12-29 06:51:15 (5 years ago)
Author:
julian.reschke@gmx.de
Message:

Syntax notation: mention "obs-" prefix convention. List rule: clarify intro, add note about how empty list elements contribute to the total number of elements, add examples. Related to #36.

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

Legend:

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

    r729 r738  
    404404      <meta name="DC.Creator" content="Reschke, J. F."> 
    405405      <meta name="DC.Identifier" content="urn:ietf:id:draft-ietf-httpbis-p1-messaging-latest"> 
    406       <meta name="DC.Date.Issued" scheme="ISO8601" content="2009-12-01"> 
     406      <meta name="DC.Date.Issued" scheme="ISO8601" content="2009-12-29"> 
    407407      <meta name="DC.Relation.Replaces" content="urn:ietf:rfc:2616"> 
    408408      <meta name="DC.Description.Abstract" content="The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypertext information systems. HTTP has been in use by the World Wide Web global information initiative since 1990. This document is Part 1 of the seven-part specification that defines the protocol referred to as &#34;HTTP/1.1&#34; and, taken together, obsoletes RFC 2616. Part 1 provides an overview of HTTP and its associated terminology, defines the &#34;http&#34; and &#34;https&#34; Uniform Resource Identifier (URI) schemes, defines the generic message syntax and parsing requirements for HTTP message frames, and describes general security concerns for implementations."> 
     
    442442            </tr> 
    443443            <tr> 
    444                <td class="left">Expires: June 4, 2010</td> 
     444               <td class="left">Expires: July 2, 2010</td> 
    445445               <td class="right">H. Frystyk</td> 
    446446            </tr> 
     
    491491            <tr> 
    492492               <td class="left"></td> 
    493                <td class="right">December 1, 2009</td> 
     493               <td class="right">December 29, 2009</td> 
    494494            </tr> 
    495495         </tbody> 
     
    523523      <p>The list of Internet-Draft Shadow Directories can be accessed at &lt;<a href="http://www.ietf.org/shadow.html">http://www.ietf.org/shadow.html</a>&gt;. 
    524524      </p> 
    525       <p>This Internet-Draft will expire in June 4, 2010.</p> 
     525      <p>This Internet-Draft will expire in July 2, 2010.</p> 
    526526      <h1><a id="rfc.copyrightnotice" href="#rfc.copyrightnotice">Copyright Notice</a></h1> 
    527527      <p>Copyright © 2009 IETF Trust and the persons identified as the document authors. All rights reserved.</p> 
     
    760760         </p> 
    761761      </div> 
     762      <p id="rfc.section.1.2.p.3">As a syntactical convention, ABNF rule names prefixed with "obs-" denote "obsolete" grammar rules that appear for historical 
     763         reasons. 
     764      </p> 
    762765      <h3 id="rfc.section.1.2.1"><a href="#rfc.section.1.2.1">1.2.1</a>&nbsp;<a id="notation.abnf" href="#notation.abnf">ABNF Extension: #rule</a></h3> 
    763       <p id="rfc.section.1.2.1.p.1">One extension to the ABNF rules of <a href="#RFC5234" id="rfc.xref.RFC5234.3"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a> is used to improve readability. 
    764       </p> 
    765       <p id="rfc.section.1.2.1.p.2">A construct "#" is defined, similar to "*", for defining lists of elements. The full form is "&lt;n&gt;#&lt;m&gt;element" indicating at 
    766          least &lt;n&gt; and at most &lt;m&gt; elements, each separated by a single comma (",") and optional whitespace (OWS). 
     766      <p id="rfc.section.1.2.1.p.1">The #rule extension to the ABNF rules of <a href="#RFC5234" id="rfc.xref.RFC5234.3"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a> is used to improve readability. 
     767      </p> 
     768      <p id="rfc.section.1.2.1.p.2">A construct "#" is defined, similar to "*", for defining comma-delimited lists of elements. The full form is "&lt;n&gt;#&lt;m&gt;element" 
     769         indicating at least &lt;n&gt; and at most &lt;m&gt; elements, each separated by a single comma (",") and optional whitespace (OWS, <a href="#basic.rules" title="Basic Rules">Section&nbsp;1.2.2</a>). 
    767770      </p> 
    768771      <div id="rfc.figure.u.1"></div> 
     
    777780   
    778781  1#element =&gt; *( "," OWS ) element *( OWS "," [ OWS element ] ) 
    779 </pre><p id="rfc.section.1.2.1.p.8"> <a href="#collected.abnf" title="Collected ABNF">Appendix&nbsp;C</a> shows the collected ABNF, with the list rules expanded as explained above. 
     782</pre><p id="rfc.section.1.2.1.p.8">Note that empty elements do not contribute to the count of elements present, though.</p> 
     783      <p id="rfc.section.1.2.1.p.9">For example, given these ABNF productions:</p> 
     784      <div id="rfc.figure.u.5"></div><pre class="text">  example-list      = 1#example-list-elmt 
     785  example-list-elmt = token ; see <a href="#basic.rules" title="Basic Rules">Section&nbsp;1.2.2</a>  
     786</pre><p id="rfc.section.1.2.1.p.11">Then these are valid values for example-list (not including the double quotes, which are present for delimitation only):</p> 
     787      <div id="rfc.figure.u.6"></div><pre class="text">  "foo,bar" 
     788  " foo ,bar," 
     789  "  foo , ,bar,charlie   " 
     790  "foo ,bar,   charlie " 
     791</pre><p id="rfc.section.1.2.1.p.13">But these values would be invalid, as at least one non-empty element is required:</p> 
     792      <div id="rfc.figure.u.7"></div><pre class="text">  "" 
     793  "," 
     794  ",   ," 
     795</pre><p id="rfc.section.1.2.1.p.15"> <a href="#collected.abnf" title="Collected ABNF">Appendix&nbsp;C</a> shows the collected ABNF, with the list rules expanded as explained above. 
    780796      </p> 
    781797      <h3 id="rfc.section.1.2.2"><a href="#rfc.section.1.2.2">1.2.2</a>&nbsp;<a id="basic.rules" href="#basic.rules">Basic Rules</a></h3> 
     
    799815         <p id="rfc.section.1.2.2.p.6">        </p> 
    800816      </div> 
    801       <div id="rfc.figure.u.5"></div><pre class="inline"><span id="rfc.iref.g.13"></span><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span>  <a href="#rule.whitespace" class="smpl">OWS</a>            = *( [ obs-fold ] <a href="#core.rules" class="smpl">WSP</a> ) 
     817      <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g.13"></span><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span>  <a href="#rule.whitespace" class="smpl">OWS</a>            = *( [ obs-fold ] <a href="#core.rules" class="smpl">WSP</a> ) 
    802818                 ; "optional" whitespace 
    803819  <a href="#rule.whitespace" class="smpl">RWS</a>            = 1*( [ obs-fold ] <a href="#core.rules" class="smpl">WSP</a> ) 
     
    811827         </p> 
    812828      </div> 
    813       <div id="rfc.figure.u.6"></div><pre class="inline"><span id="rfc.iref.g.16"></span><span id="rfc.iref.g.17"></span>  <a href="#rule.token.separators" class="smpl">tchar</a>          = "!" / "#" / "$" / "%" / "&amp;" / "'" / "*" 
     829      <div id="rfc.figure.u.9"></div><pre class="inline"><span id="rfc.iref.g.16"></span><span id="rfc.iref.g.17"></span>  <a href="#rule.token.separators" class="smpl">tchar</a>          = "!" / "#" / "$" / "%" / "&amp;" / "'" / "*" 
    814830                 / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~"  
    815831                 / <a href="#core.rules" class="smpl">DIGIT</a> / <a href="#core.rules" class="smpl">ALPHA</a> 
     
    819835         <p id="rfc.section.1.2.2.p.10">      A string of text is parsed as a single word if it is quoted using double-quote marks.</p> 
    820836      </div> 
    821       <div id="rfc.figure.u.7"></div><pre class="inline"><span id="rfc.iref.g.18"></span><span id="rfc.iref.g.19"></span><span id="rfc.iref.g.20"></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> 
     837      <div id="rfc.figure.u.10"></div><pre class="inline"><span id="rfc.iref.g.18"></span><span id="rfc.iref.g.19"></span><span id="rfc.iref.g.20"></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> 
    822838  <a href="#rule.quoted-string" class="smpl">qdtext</a>         = <a href="#rule.whitespace" class="smpl">OWS</a> / %x21 / %x23-5B / %x5D-7E / <a href="#rule.quoted-string" class="smpl">obs-text</a> 
    823839                 ; <a href="#rule.whitespace" class="smpl">OWS</a> / &lt;<a href="#core.rules" class="smpl">VCHAR</a> except <a href="#core.rules" class="smpl">DQUOTE</a> and "\"&gt; / <a href="#rule.quoted-string" class="smpl">obs-text</a>  
     
    826842         <p id="rfc.section.1.2.2.p.12">  The backslash character ("\") can be used as a single-character quoting mechanism within quoted-string constructs:</p> 
    827843      </div> 
    828       <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g.21"></span>  <a href="#rule.quoted-pair" class="smpl">quoted-pair</a>    = "\" ( <a href="#core.rules" class="smpl">WSP</a> / <a href="#core.rules" class="smpl">VCHAR</a> / <a href="#rule.quoted-string" class="smpl">obs-text</a> )  
     844      <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.21"></span>  <a href="#rule.quoted-pair" class="smpl">quoted-pair</a>    = "\" ( <a href="#core.rules" class="smpl">WSP</a> / <a href="#core.rules" class="smpl">VCHAR</a> / <a href="#rule.quoted-string" class="smpl">obs-text</a> )  
    829845</pre><p id="rfc.section.1.2.2.p.14">Producers <em class="bcp14">SHOULD NOT</em> escape characters that do not require escaping (i.e., other than DQUOTE and the backslash character). 
    830846      </p> 
    831847      <h3 id="rfc.section.1.2.3"><a href="#rfc.section.1.2.3">1.2.3</a>&nbsp;<a id="abnf.dependencies" href="#abnf.dependencies">ABNF Rules defined in other Parts of the Specification</a></h3> 
    832848      <p id="rfc.section.1.2.3.p.1">The ABNF rules below are defined in other parts:</p> 
    833       <div id="rfc.figure.u.9"></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 3</a>&gt; 
     849      <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 3</a>&gt; 
    834850  <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 5</a>&gt; 
    835 </pre><div id="rfc.figure.u.10"></div><pre class="inline">  <a href="#abnf.dependencies" class="smpl">entity-body</a>     = &lt;entity-body, 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#entity.body" title="Entity Body">Section 3.2</a>&gt; 
     851</pre><div id="rfc.figure.u.13"></div><pre class="inline">  <a href="#abnf.dependencies" class="smpl">entity-body</a>     = &lt;entity-body, 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#entity.body" title="Entity Body">Section 3.2</a>&gt; 
    836852  <a href="#abnf.dependencies" class="smpl">entity-header</a>   = &lt;entity-header, 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.header.fields" title="Entity Header Fields">Section 3.1</a>&gt; 
    837 </pre><div id="rfc.figure.u.11"></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.1"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.pragma" title="Pragma">Section 3.4</a>&gt; 
     853</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.1"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.pragma" title="Pragma">Section 3.4</a>&gt; 
    838854  <a href="#abnf.dependencies" class="smpl">Pragma</a>          = &lt;Pragma, 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 3.4</a>&gt; 
    839855  <a href="#abnf.dependencies" class="smpl">Warning</a>         = &lt;Warning, 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.warning" title="Warning">Section 3.6</a>&gt; 
     
    861877         (O). 
    862878      </p> 
    863       <div id="rfc.figure.u.12"></div><pre class="drawing">       request chain ------------------------&gt; 
     879      <div id="rfc.figure.u.15"></div><pre class="drawing">       request chain ------------------------&gt; 
    864880    UA -------------------v------------------- O 
    865881       &lt;----------------------- response chain 
     
    876892      </p> 
    877893      <p id="rfc.section.2.1.p.7">The following example illustrates a typical message exchange for a GET request on the URI "http://www.example.com/hello.txt":</p> 
    878       <div id="rfc.figure.u.13"></div> 
     894      <div id="rfc.figure.u.16"></div> 
    879895      <p>client request:</p><pre class="text2">GET /hello.txt HTTP/1.1 
    880896User-Agent: curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3 
     
    882898Accept: */* 
    883899 
    884 </pre><div id="rfc.figure.u.14"></div> 
     900</pre><div id="rfc.figure.u.17"></div> 
    885901      <p>server response:</p><pre class="text">HTTP/1.1 200 OK 
    886902Date: Mon, 27 Jul 2009 12:28:53 GMT 
     
    899915         proxy, gateway, or tunnel, switching behavior based on the nature of each request. 
    900916      </p> 
    901       <div id="rfc.figure.u.15"></div><pre class="drawing">       request chain --------------------------------------&gt; 
     917      <div id="rfc.figure.u.18"></div><pre class="drawing">       request chain --------------------------------------&gt; 
    902918    UA -----v----- A -----v----- B -----v----- C -----v----- O 
    903919       &lt;------------------------------------- response chain 
     
    943959         from O (via C) for a request which has not been cached by UA or A. 
    944960      </p> 
    945       <div id="rfc.figure.u.16"></div><pre class="drawing">          request chain ----------&gt; 
     961      <div id="rfc.figure.u.19"></div><pre class="drawing">          request chain ----------&gt; 
    946962       UA -----v----- A -----v----- B - - - - - - C - - - - - - O 
    947963          &lt;--------- response chain 
     
    978994      </p> 
    979995      <p id="rfc.section.2.5.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> 
    980       <div id="rfc.figure.u.17"></div><pre class="inline"><span id="rfc.iref.g.23"></span><span id="rfc.iref.g.24"></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> 
     996      <div id="rfc.figure.u.20"></div><pre class="inline"><span id="rfc.iref.g.23"></span><span id="rfc.iref.g.24"></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> 
    981997  <a href="#http.version" class="smpl">HTTP-Prot-Name</a> = %x48.54.54.50 ; "HTTP", case-sensitive  
    982998</pre><p id="rfc.section.2.5.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. 
     
    10071023         "path-absolute", "query", and "authority" from <a href="#RFC3986" id="rfc.xref.RFC3986.4"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a>. In addition, we define a partial-URI rule for protocol elements that allow a relative URI without a fragment. 
    10081024      </p> 
    1009       <div id="rfc.figure.u.18"></div><pre class="inline"><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>  <a href="#uri" class="smpl">URI</a>           = &lt;URI, defined in <a href="#RFC3986" id="rfc.xref.RFC3986.5"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a>, <a href="http://tools.ietf.org/html/rfc3986#section-3">Section 3</a>&gt; 
     1025      <div id="rfc.figure.u.21"></div><pre class="inline"><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>  <a href="#uri" class="smpl">URI</a>           = &lt;URI, defined in <a href="#RFC3986" id="rfc.xref.RFC3986.5"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a>, <a href="http://tools.ietf.org/html/rfc3986#section-3">Section 3</a>&gt; 
    10101026  <a href="#uri" class="smpl">URI-reference</a> = &lt;URI-reference, defined in <a href="#RFC3986" id="rfc.xref.RFC3986.6"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a>, <a href="http://tools.ietf.org/html/rfc3986#section-4.1">Section 4.1</a>&gt; 
    10111027  <a href="#uri" class="smpl">absolute-URI</a>  = &lt;absolute-URI, defined in <a href="#RFC3986" id="rfc.xref.RFC3986.7"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a>, <a href="http://tools.ietf.org/html/rfc3986#section-4.3">Section 4.3</a>&gt; 
     
    10321048         data corresponding to a resource for which that server might provide an HTTP interface. 
    10331049      </p> 
    1034       <div id="rfc.figure.u.19"></div><pre class="inline"><span id="rfc.iref.g.32"></span>  <a href="#http.uri" class="smpl">http-URI</a> = "http:" "//" <a href="#uri" class="smpl">authority</a> <a href="#uri" class="smpl">path-abempty</a> [ "?" <a href="#uri" class="smpl">query</a> ] 
     1050      <div id="rfc.figure.u.22"></div><pre class="inline"><span id="rfc.iref.g.32"></span>  <a href="#http.uri" class="smpl">http-URI</a> = "http:" "//" <a href="#uri" class="smpl">authority</a> <a href="#uri" class="smpl">path-abempty</a> [ "?" <a href="#uri" class="smpl">query</a> ] 
    10351051</pre><p id="rfc.section.2.6.1.p.3">The host identifier within an <a href="#uri" class="smpl">authority</a> component is defined in <a href="#RFC3986" id="rfc.xref.RFC3986.15"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a>, <a href="http://tools.ietf.org/html/rfc3986#section-3.2.2">Section 3.2.2</a>. If host is provided as an IP literal or IPv4 address, then the HTTP server is any listener on the indicated TCP port at 
    10361052         that IP address. If host is a registered name, then that name is considered an indirect identifier and the recipient might 
     
    10611077         port subcomponent is empty or not given. 
    10621078      </p> 
    1063       <div id="rfc.figure.u.20"></div><pre class="inline"><span id="rfc.iref.g.33"></span>  <a href="#https.uri" class="smpl">https-URI</a> = "https:" "//" <a href="#uri" class="smpl">authority</a> <a href="#uri" class="smpl">path-abempty</a> [ "?" <a href="#uri" class="smpl">query</a> ] 
     1079      <div id="rfc.figure.u.23"></div><pre class="inline"><span id="rfc.iref.g.33"></span>  <a href="#https.uri" class="smpl">https-URI</a> = "https:" "//" <a href="#uri" class="smpl">authority</a> <a href="#uri" class="smpl">path-abempty</a> [ "?" <a href="#uri" class="smpl">query</a> ] 
    10641080</pre><p id="rfc.section.2.6.2.p.3">The primary difference between the "http" and "https" schemes is that interaction with the latter is required to be secured 
    10651081         for privacy through the use of strong encryption. The URI cannot be sent in a request until the connection is secure. Likewise, 
     
    10791095      </p> 
    10801096      <p id="rfc.section.2.6.3.p.3">For example, the following three URIs are equivalent:</p> 
    1081       <div id="rfc.figure.u.21"></div><pre class="text">   http://example.com:80/~smith/home.html 
     1097      <div id="rfc.figure.u.24"></div><pre class="text">   http://example.com:80/~smith/home.html 
    10821098   http://EXAMPLE.com/%7Esmith/home.html 
    10831099   http://EXAMPLE.com:/%7esmith/home.html 
     
    10991115         or invalid request method) and clients are implemented to only expect a response. 
    11001116      </p> 
    1101       <div id="rfc.figure.u.22"></div><pre class="inline"><span id="rfc.iref.g.34"></span>  <a href="#http.message" class="smpl">HTTP-message</a>    = <a href="#http.message" class="smpl">start-line</a> 
     1117      <div id="rfc.figure.u.25"></div><pre class="inline"><span id="rfc.iref.g.34"></span>  <a href="#http.message" class="smpl">HTTP-message</a>    = <a href="#http.message" class="smpl">start-line</a> 
    11021118                    *( <a href="#header.fields" class="smpl">header-field</a> <a href="#core.rules" class="smpl">CRLF</a> ) 
    11031119                    <a href="#core.rules" class="smpl">CRLF</a> 
     
    11271143         value. 
    11281144      </p> 
    1129       <div id="rfc.figure.u.23"></div><pre class="inline"><span id="rfc.iref.g.35"></span><span id="rfc.iref.g.36"></span><span id="rfc.iref.g.37"></span><span id="rfc.iref.g.38"></span>  <a href="#header.fields" class="smpl">header-field</a>   = <a href="#header.fields" class="smpl">field-name</a> ":" <a href="#rule.whitespace" class="smpl">OWS</a> [ <a href="#header.fields" class="smpl">field-value</a> ] <a href="#rule.whitespace" class="smpl">OWS</a> 
     1145      <div id="rfc.figure.u.26"></div><pre class="inline"><span id="rfc.iref.g.35"></span><span id="rfc.iref.g.36"></span><span id="rfc.iref.g.37"></span><span id="rfc.iref.g.38"></span>  <a href="#header.fields" class="smpl">header-field</a>   = <a href="#header.fields" class="smpl">field-name</a> ":" <a href="#rule.whitespace" class="smpl">OWS</a> [ <a href="#header.fields" class="smpl">field-value</a> ] <a href="#rule.whitespace" class="smpl">OWS</a> 
    11301146  <a href="#header.fields" class="smpl">field-name</a>     = <a href="#rule.token.separators" class="smpl">token</a> 
    11311147  <a href="#header.fields" class="smpl">field-value</a>    = *( <a href="#header.fields" class="smpl">field-content</a> / <a href="#rule.whitespace" class="smpl">OWS</a> ) 
     
    11671183         </p> 
    11681184      </div> 
    1169       <div id="rfc.figure.u.24"></div><pre class="inline"><span id="rfc.iref.g.39"></span><span id="rfc.iref.g.40"></span>  <a href="#rule.comment" class="smpl">comment</a>        = "(" *( <a href="#rule.comment" class="smpl">ctext</a> / <a href="#rule.quoted-cpair" class="smpl">quoted-cpair</a> / <a href="#rule.comment" class="smpl">comment</a> ) ")" 
     1185      <div id="rfc.figure.u.27"></div><pre class="inline"><span id="rfc.iref.g.39"></span><span id="rfc.iref.g.40"></span>  <a href="#rule.comment" class="smpl">comment</a>        = "(" *( <a href="#rule.comment" class="smpl">ctext</a> / <a href="#rule.quoted-cpair" class="smpl">quoted-cpair</a> / <a href="#rule.comment" class="smpl">comment</a> ) ")" 
    11701186  <a href="#rule.comment" class="smpl">ctext</a>          = <a href="#rule.whitespace" class="smpl">OWS</a> / %x21-27 / %x2A-5B / %x5D-7E / <a href="#rule.quoted-string" class="smpl">obs-text</a> 
    11711187                 ; <a href="#rule.whitespace" class="smpl">OWS</a> / &lt;<a href="#core.rules" class="smpl">VCHAR</a> except "(", ")", and "\"&gt; / <a href="#rule.quoted-string" class="smpl">obs-text</a> 
     
    11731189         <p id="rfc.section.3.2.p.12">  The backslash character ("\") can be used as a single-character quoting mechanism within comment constructs:</p> 
    11741190      </div> 
    1175       <div id="rfc.figure.u.25"></div><pre class="inline"><span id="rfc.iref.g.41"></span>  <a href="#rule.quoted-cpair" class="smpl">quoted-cpair</a>    = "\" ( <a href="#core.rules" class="smpl">WSP</a> / <a href="#core.rules" class="smpl">VCHAR</a> / <a href="#rule.quoted-string" class="smpl">obs-text</a> )  
     1191      <div id="rfc.figure.u.28"></div><pre class="inline"><span id="rfc.iref.g.41"></span>  <a href="#rule.quoted-cpair" class="smpl">quoted-cpair</a>    = "\" ( <a href="#core.rules" class="smpl">WSP</a> / <a href="#core.rules" class="smpl">VCHAR</a> / <a href="#rule.quoted-string" class="smpl">obs-text</a> )  
    11761192</pre><p id="rfc.section.3.2.p.14">Producers <em class="bcp14">SHOULD NOT</em> escape characters that do not require escaping (i.e., other than the backslash character "\" and the parentheses "(" and ")"). 
    11771193      </p> 
     
    11811197         header field (<a href="#header.transfer-encoding" id="rfc.xref.header.transfer-encoding.1" title="Transfer-Encoding">Section&nbsp;9.7</a>). 
    11821198      </p> 
    1183       <div id="rfc.figure.u.26"></div><pre class="inline"><span id="rfc.iref.g.42"></span>  <a href="#message.body" class="smpl">message-body</a> = <a href="#abnf.dependencies" class="smpl">entity-body</a> 
     1199      <div id="rfc.figure.u.29"></div><pre class="inline"><span id="rfc.iref.g.42"></span>  <a href="#message.body" class="smpl">message-body</a> = <a href="#abnf.dependencies" class="smpl">entity-body</a> 
    11841200               / &lt;entity-body encoded as per <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a>&gt; 
    11851201</pre><p id="rfc.section.3.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 
     
    12481264         to the entity being transferred. These header fields apply only to the message being transmitted. 
    12491265      </p> 
    1250       <div id="rfc.figure.u.27"></div><pre class="inline"><span id="rfc.iref.g.43"></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 3.2</a> 
     1266      <div id="rfc.figure.u.30"></div><pre class="inline"><span id="rfc.iref.g.43"></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 3.2</a> 
    12511267                 / <a href="#header.connection" class="smpl">Connection</a>               ; <a href="#header.connection" id="rfc.xref.header.connection.1" title="Connection">Section&nbsp;9.1</a> 
    12521268                 / <a href="#header.date" class="smpl">Date</a>                     ; <a href="#header.date" id="rfc.xref.header.date.1" title="Date">Section&nbsp;9.3</a> 
     
    12651281         resource, the identifier of the resource, and the protocol version in use. 
    12661282      </p> 
    1267       <div id="rfc.figure.u.28"></div><pre class="inline"><span id="rfc.iref.g.44"></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;4.1</a> 
     1283      <div id="rfc.figure.u.31"></div><pre class="inline"><span id="rfc.iref.g.44"></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;4.1</a> 
    12681284                  *(( <a href="#general.header.fields" class="smpl">general-header</a>        ; <a href="#general.header.fields" title="General Header Fields">Section&nbsp;3.5</a> 
    12691285                   / <a href="#abnf.dependencies" class="smpl">request-header</a>         ; <a href="#Part2" id="rfc.xref.Part2.3"><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 3</a> 
     
    12751291         The elements are separated by SP characters. No CR or LF is allowed except in the final CRLF sequence. 
    12761292      </p> 
    1277       <div id="rfc.figure.u.29"></div><pre class="inline"><span id="rfc.iref.g.45"></span>  <a href="#request-line" class="smpl">Request-Line</a>   = <a href="#method" class="smpl">Method</a> <a href="#core.rules" class="smpl">SP</a> <a href="#request-target" class="smpl">request-target</a> <a href="#core.rules" class="smpl">SP</a> <a href="#http.version" class="smpl">HTTP-Version</a> <a href="#core.rules" class="smpl">CRLF</a> 
     1293      <div id="rfc.figure.u.32"></div><pre class="inline"><span id="rfc.iref.g.45"></span>  <a href="#request-line" class="smpl">Request-Line</a>   = <a href="#method" class="smpl">Method</a> <a href="#core.rules" class="smpl">SP</a> <a href="#request-target" class="smpl">request-target</a> <a href="#core.rules" class="smpl">SP</a> <a href="#http.version" class="smpl">HTTP-Version</a> <a href="#core.rules" class="smpl">CRLF</a> 
    12781294</pre><h3 id="rfc.section.4.1.1"><a href="#rfc.section.4.1.1">4.1.1</a>&nbsp;<a id="method" href="#method">Method</a></h3> 
    12791295      <p id="rfc.section.4.1.1.p.1">The Method token indicates the method to be performed on the resource identified by the request-target. The method is case-sensitive.</p> 
    1280       <div id="rfc.figure.u.30"></div><pre class="inline"><span id="rfc.iref.g.46"></span><span id="rfc.iref.g.47"></span>  <a href="#method" class="smpl">Method</a>         = <a href="#rule.token.separators" class="smpl">token</a> 
     1296      <div id="rfc.figure.u.33"></div><pre class="inline"><span id="rfc.iref.g.46"></span><span id="rfc.iref.g.47"></span>  <a href="#method" class="smpl">Method</a>         = <a href="#rule.token.separators" class="smpl">token</a> 
    12811297</pre><h3 id="rfc.section.4.1.2"><a href="#rfc.section.4.1.2">4.1.2</a>&nbsp;<a id="request-target" href="#request-target">request-target</a></h3> 
    12821298      <p id="rfc.section.4.1.2.p.1">The request-target identifies the resource upon which to apply the request.</p> 
    1283       <div id="rfc.figure.u.31"></div><pre class="inline"><span id="rfc.iref.g.48"></span>  <a href="#request-target" class="smpl">request-target</a> = "*" 
     1299      <div id="rfc.figure.u.34"></div><pre class="inline"><span id="rfc.iref.g.48"></span>  <a href="#request-target" class="smpl">request-target</a> = "*" 
    12841300                 / <a href="#uri" class="smpl">absolute-URI</a> 
    12851301                 / ( <a href="#uri" class="smpl">path-absolute</a> [ "?" <a href="#uri" class="smpl">query</a> ] ) 
     
    12891305         apply to a resource. One example would be 
    12901306      </p> 
    1291       <div id="rfc.figure.u.32"></div><pre class="text">  OPTIONS * HTTP/1.1 
     1307      <div id="rfc.figure.u.35"></div><pre class="text">  OPTIONS * HTTP/1.1 
    12921308</pre><p id="rfc.section.4.1.2.p.5">The absolute-URI 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, 
    12931309         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 absolute-URI. In order to avoid request 
     
    12951311         Request-Line would be: 
    12961312      </p> 
    1297       <div id="rfc.figure.u.33"></div><pre class="text">  GET http://www.example.org/pub/WWW/TheProject.html HTTP/1.1 
     1313      <div id="rfc.figure.u.36"></div><pre class="text">  GET http://www.example.org/pub/WWW/TheProject.html HTTP/1.1 
    12981314</pre><p id="rfc.section.4.1.2.p.7">To allow for transition to absolute-URIs in all requests in future versions of HTTP, all HTTP/1.1 servers <em class="bcp14">MUST</em> accept the absolute-URI form in requests, even though HTTP/1.1 clients will only generate them in requests to proxies. 
    12991315      </p> 
     
    13041320         server would create a TCP connection to port 80 of the host "www.example.org" and send the lines: 
    13051321      </p> 
    1306       <div id="rfc.figure.u.34"></div><pre class="text">  GET /pub/WWW/TheProject.html HTTP/1.1 
     1322      <div id="rfc.figure.u.37"></div><pre class="text">  GET /pub/WWW/TheProject.html HTTP/1.1 
    13071323  Host: www.example.org 
    13081324</pre><p id="rfc.section.4.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 
     
    13121328         asterisk form of request-target, then the last proxy on the request chain <em class="bcp14">MUST</em> forward the request with "*" as the final request-target. 
    13131329      </p> 
    1314       <div id="rfc.figure.u.35"></div> 
     1330      <div id="rfc.figure.u.38"></div> 
    13151331      <p>For example, the request</p><pre class="text">  OPTIONS http://www.example.org:8001 HTTP/1.1 
    1316 </pre><div id="rfc.figure.u.36"></div> 
     1332</pre><div id="rfc.figure.u.39"></div> 
    13171333      <p>would be forwarded by the proxy as</p><pre class="text">  OPTIONS * HTTP/1.1 
    13181334  Host: www.example.org:8001 
     
    13571373      <h1 id="rfc.section.5"><a href="#rfc.section.5">5.</a>&nbsp;<a id="response" href="#response">Response</a></h1> 
    13581374      <p id="rfc.section.5.p.1">After receiving and interpreting a request message, a server responds with an HTTP response message.</p> 
    1359       <div id="rfc.figure.u.37"></div><pre class="inline"><span id="rfc.iref.g.49"></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;5.1</a> 
     1375      <div id="rfc.figure.u.40"></div><pre class="inline"><span id="rfc.iref.g.49"></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;5.1</a> 
    13601376                  *(( <a href="#general.header.fields" class="smpl">general-header</a>        ; <a href="#general.header.fields" title="General Header Fields">Section&nbsp;3.5</a> 
    13611377                   / <a href="#abnf.dependencies" class="smpl">response-header</a>        ; <a href="#Part2" id="rfc.xref.Part2.6"><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 5</a> 
     
    13681384         CRLF sequence. 
    13691385      </p> 
    1370       <div id="rfc.figure.u.38"></div><pre class="inline"><span id="rfc.iref.g.50"></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> 
     1386      <div id="rfc.figure.u.41"></div><pre class="inline"><span id="rfc.iref.g.50"></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> 
    13711387</pre><h3 id="rfc.section.5.1.1"><a href="#rfc.section.5.1.1">5.1.1</a>&nbsp;<a id="status.code.and.reason.phrase" href="#status.code.and.reason.phrase">Status Code and Reason Phrase</a></h3> 
    13721388      <p id="rfc.section.5.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 
     
    13851401         <li>5xx: Server Error - The server failed to fulfill an apparently valid request</li> 
    13861402      </ul> 
    1387       <div id="rfc.figure.u.39"></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>  <a href="#status.code.and.reason.phrase" class="smpl">Status-Code</a>    = 3<a href="#core.rules" class="smpl">DIGIT</a> 
     1403      <div id="rfc.figure.u.42"></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>  <a href="#status.code.and.reason.phrase" class="smpl">Status-Code</a>    = 3<a href="#core.rules" class="smpl">DIGIT</a> 
    13881404  <a href="#status.code.and.reason.phrase" class="smpl">Reason-Phrase</a>  = *( <a href="#core.rules" class="smpl">WSP</a> / <a href="#core.rules" class="smpl">VCHAR</a> / <a href="#rule.quoted-string" class="smpl">obs-text</a> ) 
    13891405</pre><h1 id="rfc.section.6"><a href="#rfc.section.6">6.</a>&nbsp;<a id="protocol.parameters" href="#protocol.parameters">Protocol Parameters</a></h1> 
    13901406      <h2 id="rfc.section.6.1"><a href="#rfc.section.6.1">6.1</a>&nbsp;<a id="date.time.formats.full.date" href="#date.time.formats.full.date">Date/Time Formats: Full Date</a></h2> 
    13911407      <p id="rfc.section.6.1.p.1">HTTP applications have historically allowed three different formats for the representation of date/time stamps:</p> 
    1392       <div id="rfc.figure.u.40"></div><pre class="text">  Sun, 06 Nov 1994 08:49:37 GMT  ; RFC 1123 
     1408      <div id="rfc.figure.u.43"></div><pre class="text">  Sun, 06 Nov 1994 08:49:37 GMT  ; RFC 1123 
    13931409  Sunday, 06-Nov-94 08:49:37 GMT ; obsolete RFC 850 format 
    13941410  Sun Nov  6 08:49:37 1994       ; ANSI C's asctime() format 
     
    14001416         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 whitespace beyond that specifically included as SP in the grammar. 
    14011417      </p> 
    1402       <div id="rfc.figure.u.41"></div><pre class="inline"><span id="rfc.iref.g.54"></span>  <a href="#date.time.formats.full.date" class="smpl">HTTP-date</a>    = <a href="#preferred.date.format" class="smpl">rfc1123-date</a> / <a href="#obsolete.date.formats" class="smpl">obs-date</a> 
     1418      <div id="rfc.figure.u.44"></div><pre class="inline"><span id="rfc.iref.g.54"></span>  <a href="#date.time.formats.full.date" class="smpl">HTTP-date</a>    = <a href="#preferred.date.format" class="smpl">rfc1123-date</a> / <a href="#obsolete.date.formats" class="smpl">obs-date</a> 
    14031419</pre><div id="preferred.date.format"> 
    14041420         <p id="rfc.section.6.1.p.6">                    Preferred format:</p> 
    14051421      </div> 
    1406       <div id="rfc.figure.u.42"></div><pre class="inline"><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><span id="rfc.iref.g.60"></span><span id="rfc.iref.g.61"></span><span id="rfc.iref.g.62"></span><span id="rfc.iref.g.63"></span><span id="rfc.iref.g.64"></span><span id="rfc.iref.g.65"></span><span id="rfc.iref.g.66"></span>  <a href="#preferred.date.format" class="smpl">rfc1123-date</a> = <a href="#preferred.date.format" class="smpl">day-name</a> "," <a href="#core.rules" class="smpl">SP</a> date1 <a href="#core.rules" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">time-of-day</a> <a href="#core.rules" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">GMT</a> 
     1422      <div id="rfc.figure.u.45"></div><pre class="inline"><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><span id="rfc.iref.g.60"></span><span id="rfc.iref.g.61"></span><span id="rfc.iref.g.62"></span><span id="rfc.iref.g.63"></span><span id="rfc.iref.g.64"></span><span id="rfc.iref.g.65"></span><span id="rfc.iref.g.66"></span>  <a href="#preferred.date.format" class="smpl">rfc1123-date</a> = <a href="#preferred.date.format" class="smpl">day-name</a> "," <a href="#core.rules" class="smpl">SP</a> date1 <a href="#core.rules" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">time-of-day</a> <a href="#core.rules" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">GMT</a> 
    14071423 
    14081424  <a href="#preferred.date.format" class="smpl">day-name</a>     = %x4D.6F.6E ; "Mon", case-sensitive 
     
    14451461         <p id="rfc.section.6.1.p.9">                Obsolete formats:</p> 
    14461462      </div> 
    1447       <div id="rfc.figure.u.43"></div><pre class="inline"><span id="rfc.iref.g.67"></span>  <a href="#obsolete.date.formats" class="smpl">obs-date</a>     = <a href="#obsolete.date.formats" class="smpl">rfc850-date</a> / <a href="#obsolete.date.formats" class="smpl">asctime-date</a>  
    1448 </pre><div id="rfc.figure.u.44"></div><pre class="inline"><span id="rfc.iref.g.68"></span>  <a href="#obsolete.date.formats" class="smpl">rfc850-date</a>  = <a href="#obsolete.date.formats" class="smpl">day-name-l</a> "," <a href="#core.rules" class="smpl">SP</a> <a href="#obsolete.date.formats" class="smpl">date2</a> <a href="#core.rules" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">time-of-day</a> <a href="#core.rules" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">GMT</a> 
     1463      <div id="rfc.figure.u.46"></div><pre class="inline"><span id="rfc.iref.g.67"></span>  <a href="#obsolete.date.formats" class="smpl">obs-date</a>     = <a href="#obsolete.date.formats" class="smpl">rfc850-date</a> / <a href="#obsolete.date.formats" class="smpl">asctime-date</a>  
     1464</pre><div id="rfc.figure.u.47"></div><pre class="inline"><span id="rfc.iref.g.68"></span>  <a href="#obsolete.date.formats" class="smpl">rfc850-date</a>  = <a href="#obsolete.date.formats" class="smpl">day-name-l</a> "," <a href="#core.rules" class="smpl">SP</a> <a href="#obsolete.date.formats" class="smpl">date2</a> <a href="#core.rules" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">time-of-day</a> <a href="#core.rules" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">GMT</a> 
    14491465  <a href="#obsolete.date.formats" class="smpl">date2</a>        = <a href="#preferred.date.format" class="smpl">day</a> "-" <a href="#preferred.date.format" class="smpl">month</a> "-" 2<a href="#core.rules" class="smpl">DIGIT</a> 
    14501466                 ; day-month-year (e.g., 02-Jun-82) 
     
    14571473         / %x53.61.74.75.72.64.61.79 ; "Saturday", case-sensitive 
    14581474         / %x53.75.6E.64.61.79 ; "Sunday", case-sensitive 
    1459 </pre><div id="rfc.figure.u.45"></div><pre class="inline"><span id="rfc.iref.g.69"></span>  <a href="#obsolete.date.formats" class="smpl">asctime-date</a> = <a href="#preferred.date.format" class="smpl">day-name</a> <a href="#core.rules" class="smpl">SP</a> <a href="#obsolete.date.formats" class="smpl">date3</a> <a href="#core.rules" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">time-of-day</a> <a href="#core.rules" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">year</a> 
     1475</pre><div id="rfc.figure.u.48"></div><pre class="inline"><span id="rfc.iref.g.69"></span>  <a href="#obsolete.date.formats" class="smpl">asctime-date</a> = <a href="#preferred.date.format" class="smpl">day-name</a> <a href="#core.rules" class="smpl">SP</a> <a href="#obsolete.date.formats" class="smpl">date3</a> <a href="#core.rules" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">time-of-day</a> <a href="#core.rules" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">year</a> 
    14601476  <a href="#obsolete.date.formats" class="smpl">date3</a>        = <a href="#preferred.date.format" class="smpl">month</a> <a href="#core.rules" class="smpl">SP</a> ( 2<a href="#core.rules" class="smpl">DIGIT</a> / ( <a href="#core.rules" class="smpl">SP</a> 1<a href="#core.rules" class="smpl">DIGIT</a> )) 
    14611477                 ; month day (e.g., Jun  2) 
     
    14751491         is a property of the message, not of the original entity. 
    14761492      </p> 
    1477       <div id="rfc.figure.u.46"></div><pre class="inline"><span id="rfc.iref.g.70"></span><span id="rfc.iref.g.71"></span>  <a href="#transfer.codings" class="smpl">transfer-coding</a>         = "chunked" ; <a href="#chunked.encoding" title="Chunked Transfer Coding">Section&nbsp;6.2.1</a> 
     1493      <div id="rfc.figure.u.49"></div><pre class="inline"><span id="rfc.iref.g.70"></span><span id="rfc.iref.g.71"></span>  <a href="#transfer.codings" class="smpl">transfer-coding</a>         = "chunked" ; <a href="#chunked.encoding" title="Chunked Transfer Coding">Section&nbsp;6.2.1</a> 
    14781494                          / "compress" ; <a href="#compress.coding" title="Compress Coding">Section&nbsp;6.2.2.1</a> 
    14791495                          / "deflate" ; <a href="#deflate.coding" title="Deflate Coding">Section&nbsp;6.2.2.2</a> 
     
    14841500         <p id="rfc.section.6.2.p.3">      Parameters are in the form of attribute/value pairs.</p> 
    14851501      </div> 
    1486       <div id="rfc.figure.u.47"></div><pre class="inline"><span id="rfc.iref.g.72"></span><span id="rfc.iref.g.73"></span><span id="rfc.iref.g.74"></span><span id="rfc.iref.g.75"></span><span id="rfc.iref.g.76"></span>  <a href="#rule.parameter" class="smpl">transfer-parameter</a>      = <a href="#rule.parameter" class="smpl">attribute</a> <a href="#rule.whitespace" class="smpl">BWS</a> "=" <a href="#rule.whitespace" class="smpl">BWS</a> <a href="#rule.parameter" class="smpl">value</a> 
     1502      <div id="rfc.figure.u.50"></div><pre class="inline"><span id="rfc.iref.g.72"></span><span id="rfc.iref.g.73"></span><span id="rfc.iref.g.74"></span><span id="rfc.iref.g.75"></span><span id="rfc.iref.g.76"></span>  <a href="#rule.parameter" class="smpl">transfer-parameter</a>      = <a href="#rule.parameter" class="smpl">attribute</a> <a href="#rule.whitespace" class="smpl">BWS</a> "=" <a href="#rule.whitespace" class="smpl">BWS</a> <a href="#rule.parameter" class="smpl">value</a> 
    14871503  <a href="#rule.parameter" class="smpl">attribute</a>               = <a href="#rule.token.separators" class="smpl">token</a> 
    14881504  <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> 
     
    15061522         necessary for the recipient to verify that it has received the full message. 
    15071523      </p> 
    1508       <div id="rfc.figure.u.48"></div><pre class="inline"><span id="rfc.iref.g.77"></span><span id="rfc.iref.g.78"></span><span id="rfc.iref.g.79"></span><span id="rfc.iref.g.80"></span><span id="rfc.iref.g.81"></span><span id="rfc.iref.g.82"></span><span id="rfc.iref.g.83"></span><span id="rfc.iref.g.84"></span><span id="rfc.iref.g.85"></span><span id="rfc.iref.g.86"></span><span id="rfc.iref.g.87"></span>  <a href="#chunked.encoding" class="smpl">Chunked-Body</a>   = *<a href="#chunked.encoding" class="smpl">chunk</a> 
     1524      <div id="rfc.figure.u.51"></div><pre class="inline"><span id="rfc.iref.g.77"></span><span id="rfc.iref.g.78"></span><span id="rfc.iref.g.79"></span><span id="rfc.iref.g.80"></span><span id="rfc.iref.g.81"></span><span id="rfc.iref.g.82"></span><span id="rfc.iref.g.83"></span><span id="rfc.iref.g.84"></span><span id="rfc.iref.g.85"></span><span id="rfc.iref.g.86"></span><span id="rfc.iref.g.87"></span>  <a href="#chunked.encoding" class="smpl">Chunked-Body</a>   = *<a href="#chunked.encoding" class="smpl">chunk</a> 
    15091525                   <a href="#chunked.encoding" class="smpl">last-chunk</a> 
    15101526                   <a href="#chunked.encoding" class="smpl">trailer-part</a> 
     
    15491565      </p> 
    15501566      <p id="rfc.section.6.2.1.p.7">A process for decoding the "chunked" transfer-coding can be represented in pseudo-code as:</p> 
    1551       <div id="rfc.figure.u.49"></div><pre class="text">  length := 0 
     1567      <div id="rfc.figure.u.52"></div><pre class="text">  length := 0 
    15521568  read chunk-size, chunk-ext (if any) and CRLF 
    15531569  while (chunk-size &gt; 0) { 
     
    16121628         By convention, the products are listed in order of their significance for identifying the application. 
    16131629      </p> 
    1614       <div id="rfc.figure.u.50"></div><pre class="inline"><span id="rfc.iref.g.89"></span><span id="rfc.iref.g.90"></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>] 
     1630      <div id="rfc.figure.u.53"></div><pre class="inline"><span id="rfc.iref.g.89"></span><span id="rfc.iref.g.90"></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>] 
    16151631  <a href="#product.tokens" class="smpl">product-version</a> = <a href="#rule.token.separators" class="smpl">token</a> 
    16161632</pre><p id="rfc.section.6.3.p.3">Examples:</p> 
    1617       <div id="rfc.figure.u.51"></div><pre class="text">  User-Agent: CERN-LineMode/2.15 libwww/2.17b3 
     1633      <div id="rfc.figure.u.54"></div><pre class="text">  User-Agent: CERN-LineMode/2.15 libwww/2.17b3 
    16181634  Server: Apache/0.8.4 
    16191635</pre><p id="rfc.section.6.3.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). 
     
    16241640         a quality value of 0, then content with this parameter is `not acceptable' for the client. HTTP/1.1 applications <em class="bcp14">MUST NOT</em> generate more than three digits after the decimal point. User configuration of these values <em class="bcp14">SHOULD</em> also be limited in this fashion. 
    16251641      </p> 
    1626       <div id="rfc.figure.u.52"></div><pre class="inline"><span id="rfc.iref.g.91"></span>  <a href="#quality.values" class="smpl">qvalue</a>         = ( "0" [ "." 0*3<a href="#core.rules" class="smpl">DIGIT</a> ] ) 
     1642      <div id="rfc.figure.u.55"></div><pre class="inline"><span id="rfc.iref.g.91"></span>  <a href="#quality.values" class="smpl">qvalue</a>         = ( "0" [ "." 0*3<a href="#core.rules" class="smpl">DIGIT</a> ] ) 
    16271643                 / ( "1" [ "." 0*3("0") ] ) 
    16281644</pre><div class="note">  
     
    18451861      </p> 
    18461862      <p id="rfc.section.9.1.p.2">The Connection header's value has the following grammar:</p> 
    1847       <div id="rfc.figure.u.53"></div><pre class="inline"><span id="rfc.iref.g.92"></span><span id="rfc.iref.g.93"></span><span id="rfc.iref.g.94"></span>  <a href="#header.connection" class="smpl">Connection</a>       = "Connection" ":" <a href="#rule.whitespace" class="smpl">OWS</a> <a href="#header.connection" class="smpl">Connection-v</a> 
     1863      <div id="rfc.figure.u.56"></div><pre class="inline"><span id="rfc.iref.g.92"></span><span id="rfc.iref.g.93"></span><span id="rfc.iref.g.94"></span>  <a href="#header.connection" class="smpl">Connection</a>       = "Connection" ":" <a href="#rule.whitespace" class="smpl">OWS</a> <a href="#header.connection" class="smpl">Connection-v</a> 
    18481864  <a href="#header.connection" class="smpl">Connection-v</a>     = 1#<a href="#header.connection" class="smpl">connection-token</a> 
    18491865  <a href="#header.connection" class="smpl">connection-token</a> = <a href="#rule.token.separators" class="smpl">token</a> 
     
    18581874         of the response. For example, 
    18591875      </p> 
    1860       <div id="rfc.figure.u.54"></div><pre class="text">  Connection: close 
     1876      <div id="rfc.figure.u.57"></div><pre class="text">  Connection: close 
    18611877</pre><p id="rfc.section.9.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. 
    18621878      </p> 
     
    18741890         to the HEAD method, it indicates the size of the entity-body that would have been sent had the request been a GET. 
    18751891      </p> 
    1876       <div id="rfc.figure.u.55"></div><pre class="inline"><span id="rfc.iref.g.95"></span><span id="rfc.iref.g.96"></span>  <a href="#header.content-length" class="smpl">Content-Length</a>   = "Content-Length" ":" <a href="#rule.whitespace" class="smpl">OWS</a> 1*<a href="#header.content-length" class="smpl">Content-Length-v</a> 
     1892      <div id="rfc.figure.u.58"></div><pre class="inline"><span id="rfc.iref.g.95"></span><span id="rfc.iref.g.96"></span>  <a href="#header.content-length" class="smpl">Content-Length</a>   = "Content-Length" ":" <a href="#rule.whitespace" class="smpl">OWS</a> 1*<a href="#header.content-length" class="smpl">Content-Length-v</a> 
    18771893  <a href="#header.content-length" class="smpl">Content-Length-v</a> = 1*<a href="#core.rules" class="smpl">DIGIT</a> 
    18781894</pre><p id="rfc.section.9.2.p.3">An example is</p> 
    1879       <div id="rfc.figure.u.56"></div><pre class="text">  Content-Length: 3495 
     1895      <div id="rfc.figure.u.59"></div><pre class="text">  Content-Length: 3495 
    18801896</pre><p id="rfc.section.9.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;3.4</a>. 
    18811897      </p> 
     
    18921908         as the Origination Date Field (orig-date) defined in <a href="http://tools.ietf.org/html/rfc5322#section-3.6.1">Section 3.6.1</a> of <a href="#RFC5322" id="rfc.xref.RFC5322.4"><cite title="Internet Message Format">[RFC5322]</cite></a>. The field value is an HTTP-date, as described in <a href="#date.time.formats.full.date" title="Date/Time Formats: Full Date">Section&nbsp;6.1</a>; it <em class="bcp14">MUST</em> be sent in rfc1123-date format. 
    18931909      </p> 
    1894       <div id="rfc.figure.u.57"></div><pre class="inline"><span id="rfc.iref.g.97"></span><span id="rfc.iref.g.98"></span>  <a href="#header.date" class="smpl">Date</a>   = "Date" ":" <a href="#rule.whitespace" class="smpl">OWS</a> <a href="#header.date" class="smpl">Date-v</a> 
     1910      <div id="rfc.figure.u.60"></div><pre class="inline"><span id="rfc.iref.g.97"></span><span id="rfc.iref.g.98"></span>  <a href="#header.date" class="smpl">Date</a>   = "Date" ":" <a href="#rule.whitespace" class="smpl">OWS</a> <a href="#header.date" class="smpl">Date-v</a> 
    18951911  <a href="#header.date" class="smpl">Date-v</a> = <a href="#date.time.formats.full.date" class="smpl">HTTP-date</a> 
    18961912</pre><p id="rfc.section.9.3.p.3">An example is</p> 
    1897       <div id="rfc.figure.u.58"></div><pre class="text">  Date: Tue, 15 Nov 1994 08:12:31 GMT 
     1913      <div id="rfc.figure.u.61"></div><pre class="text">  Date: Tue, 15 Nov 1994 08:12:31 GMT 
    18981914</pre><p id="rfc.section.9.3.p.5">Origin servers <em class="bcp14">MUST</em> include a Date header field in all responses, except in these cases:  
    18991915      </p> 
     
    19331949         resource (generally an http URI, as described in <a href="#http.uri" title="http URI scheme">Section&nbsp;2.6.1</a>). 
    19341950      </p> 
    1935       <div id="rfc.figure.u.59"></div><pre class="inline"><span id="rfc.iref.g.99"></span><span id="rfc.iref.g.100"></span>  <a href="#header.host" class="smpl">Host</a>   = "Host" ":" <a href="#rule.whitespace" class="smpl">OWS</a> <a href="#header.host" class="smpl">Host-v</a> 
     1951      <div id="rfc.figure.u.62"></div><pre class="inline"><span id="rfc.iref.g.99"></span><span id="rfc.iref.g.100"></span>  <a href="#header.host" class="smpl">Host</a>   = "Host" ":" <a href="#rule.whitespace" class="smpl">OWS</a> <a href="#header.host" class="smpl">Host-v</a> 
    19361952  <a href="#header.host" class="smpl">Host-v</a> = <a href="#uri" class="smpl">uri-host</a> [ ":" <a href="#uri" class="smpl">port</a> ] ; <a href="#http.uri" title="http URI scheme">Section&nbsp;2.6.1</a> 
    19371953</pre><p id="rfc.section.9.4.p.4">A "host" without any trailing port information implies the default port for the service requested (e.g., "80" for an HTTP 
    19381954         URL). For example, a request on the origin server for &lt;http://www.example.org/pub/WWW/&gt; would properly include: 
    19391955      </p> 
    1940       <div id="rfc.figure.u.60"></div><pre class="text">  GET /pub/WWW/ HTTP/1.1 
     1956      <div id="rfc.figure.u.63"></div><pre class="text">  GET /pub/WWW/ HTTP/1.1 
    19411957  Host: www.example.org 
    19421958</pre><p id="rfc.section.9.4.p.6">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 
     
    19551971         accept parameters (as described in <a href="#transfer.codings" title="Transfer Codings">Section&nbsp;6.2</a>). 
    19561972      </p> 
    1957       <div id="rfc.figure.u.61"></div><pre class="inline"><span id="rfc.iref.g.101"></span><span id="rfc.iref.g.102"></span><span id="rfc.iref.g.103"></span><span id="rfc.iref.g.104"></span><span id="rfc.iref.g.105"></span>  <a href="#header.te" class="smpl">TE</a>        = "TE" ":" <a href="#rule.whitespace" class="smpl">OWS</a> <a href="#header.te" class="smpl">TE-v</a> 
     1973      <div id="rfc.figure.u.64"></div><pre class="inline"><span id="rfc.iref.g.101"></span><span id="rfc.iref.g.102"></span><span id="rfc.iref.g.103"></span><span id="rfc.iref.g.104"></span><span id="rfc.iref.g.105"></span>  <a href="#header.te" class="smpl">TE</a>        = "TE" ":" <a href="#rule.whitespace" class="smpl">OWS</a> <a href="#header.te" class="smpl">TE-v</a> 
    19581974  <a href="#header.te" class="smpl">TE-v</a>      = #<a href="#header.te" class="smpl">t-codings</a> 
    19591975  <a href="#header.te" class="smpl">t-codings</a> = "trailers" / ( <a href="#transfer.codings" class="smpl">transfer-extension</a> [ <a href="#header.te" class="smpl">te-params</a> ] ) 
     
    19641980      </p> 
    19651981      <p id="rfc.section.9.5.p.5">Examples of its use are:</p> 
    1966       <div id="rfc.figure.u.62"></div><pre class="text">  TE: deflate 
     1982      <div id="rfc.figure.u.65"></div><pre class="text">  TE: deflate 
    19671983  TE: 
    19681984  TE: trailers, deflate;q=0.5 
     
    20012017         with chunked transfer-coding. 
    20022018      </p> 
    2003       <div id="rfc.figure.u.63"></div><pre class="inline"><span id="rfc.iref.g.106"></span><span id="rfc.iref.g.107"></span>  <a href="#header.trailer" class="smpl">Trailer</a>   = "Trailer" ":" <a href="#rule.whitespace" class="smpl">OWS</a> <a href="#header.trailer" class="smpl">Trailer-v</a> 
     2019      <div id="rfc.figure.u.66"></div><pre class="inline"><span id="rfc.iref.g.106"></span><span id="rfc.iref.g.107"></span>  <a href="#header.trailer" class="smpl">Trailer</a>   = "Trailer" ":" <a href="#rule.whitespace" class="smpl">OWS</a> <a href="#header.trailer" class="smpl">Trailer-v</a> 
    20042020  <a href="#header.trailer" class="smpl">Trailer-v</a> = 1#<a href="#header.fields" class="smpl">field-name</a> 
    20052021</pre><p id="rfc.section.9.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 
     
    20222038         are not. 
    20232039      </p> 
    2024       <div id="rfc.figure.u.64"></div><pre class="inline"><span id="rfc.iref.g.108"></span><span id="rfc.iref.g.109"></span>  <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a>   = "Transfer-Encoding" ":" <a href="#rule.whitespace" class="smpl">OWS</a> 
     2040      <div id="rfc.figure.u.67"></div><pre class="inline"><span id="rfc.iref.g.108"></span><span id="rfc.iref.g.109"></span>  <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a>   = "Transfer-Encoding" ":" <a href="#rule.whitespace" class="smpl">OWS</a> 
    20252041                        <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding-v</a> 
    20262042  <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding-v</a> = 1#<a href="#transfer.codings" class="smpl">transfer-coding</a> 
    20272043</pre><p id="rfc.section.9.7.p.3">Transfer-codings are defined in <a href="#transfer.codings" title="Transfer Codings">Section&nbsp;6.2</a>. An example is: 
    20282044      </p> 
    2029       <div id="rfc.figure.u.65"></div><pre class="text">  Transfer-Encoding: chunked 
     2045      <div id="rfc.figure.u.68"></div><pre class="text">  Transfer-Encoding: chunked 
    20302046</pre><p id="rfc.section.9.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. 
    20312047      </p> 
     
    20382054         to. 
    20392055      </p> 
    2040       <div id="rfc.figure.u.66"></div><pre class="inline"><span id="rfc.iref.g.110"></span><span id="rfc.iref.g.111"></span>  <a href="#header.upgrade" class="smpl">Upgrade</a>   = "Upgrade" ":" <a href="#rule.whitespace" class="smpl">OWS</a> <a href="#header.upgrade" class="smpl">Upgrade-v</a> 
     2056      <div id="rfc.figure.u.69"></div><pre class="inline"><span id="rfc.iref.g.110"></span><span id="rfc.iref.g.111"></span>  <a href="#header.upgrade" class="smpl">Upgrade</a>   = "Upgrade" ":" <a href="#rule.whitespace" class="smpl">OWS</a> <a href="#header.upgrade" class="smpl">Upgrade-v</a> 
    20412057  <a href="#header.upgrade" class="smpl">Upgrade-v</a> = 1#<a href="#product.tokens" class="smpl">product</a> 
    20422058</pre><p id="rfc.section.9.8.p.3">For example,</p> 
    2043       <div id="rfc.figure.u.67"></div><pre class="text">  Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11 
     2059      <div id="rfc.figure.u.70"></div><pre class="text">  Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11 
    20442060</pre><p id="rfc.section.9.8.p.5">The Upgrade header field is intended to provide a simple mechanism for transition from HTTP/1.1 to some other, incompatible 
    20452061         protocol. It does so by allowing the client to advertise its desire to use another protocol, such as a later version of HTTP 
     
    20942110         of all senders along the request/response chain. 
    20952111      </p> 
    2096       <div id="rfc.figure.u.68"></div><pre class="inline"><span id="rfc.iref.g.112"></span><span id="rfc.iref.g.113"></span><span id="rfc.iref.g.114"></span><span id="rfc.iref.g.115"></span><span id="rfc.iref.g.116"></span><span id="rfc.iref.g.117"></span><span id="rfc.iref.g.118"></span>  <a href="#header.via" class="smpl">Via</a>               = "Via" ":" <a href="#rule.whitespace" class="smpl">OWS</a> <a href="#header.via" class="smpl">Via-v</a> 
     2112      <div id="rfc.figure.u.71"></div><pre class="inline"><span id="rfc.iref.g.112"></span><span id="rfc.iref.g.113"></span><span id="rfc.iref.g.114"></span><span id="rfc.iref.g.115"></span><span id="rfc.iref.g.116"></span><span id="rfc.iref.g.117"></span><span id="rfc.iref.g.118"></span>  <a href="#header.via" class="smpl">Via</a>               = "Via" ":" <a href="#rule.whitespace" class="smpl">OWS</a> <a href="#header.via" class="smpl">Via-v</a> 
    20972113  <a href="#header.via" class="smpl">Via-v</a>             = 1#( <a href="#header.via" class="smpl">received-protocol</a> <a href="#rule.whitespace" class="smpl">RWS</a> <a href="#header.via" class="smpl">received-by</a> 
    20982114                          [ <a href="#rule.whitespace" class="smpl">RWS</a> <a href="#rule.comment" class="smpl">comment</a> ] ) 
     
    21192135         server at www.example.com. The request received by www.example.com would then have the following Via header field: 
    21202136      </p> 
    2121       <div id="rfc.figure.u.69"></div><pre class="text">  Via: 1.0 fred, 1.1 p.example.net (Apache/1.1) 
     2137      <div id="rfc.figure.u.72"></div><pre class="text">  Via: 1.0 fred, 1.1 p.example.net (Apache/1.1) 
    21222138</pre><p id="rfc.section.9.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. 
    21232139      </p> 
     
    21252141         For example, 
    21262142      </p> 
    2127       <div id="rfc.figure.u.70"></div><pre class="text">  Via: 1.0 ricky, 1.1 ethel, 1.1 fred, 1.0 lucy 
     2143      <div id="rfc.figure.u.73"></div><pre class="text">  Via: 1.0 ricky, 1.1 ethel, 1.1 fred, 1.0 lucy 
    21282144</pre><p id="rfc.section.9.9.p.12">could be collapsed to</p> 
    2129       <div id="rfc.figure.u.71"></div><pre class="text">  Via: 1.0 ricky, 1.1 mertz, 1.0 lucy 
     2145      <div id="rfc.figure.u.74"></div><pre class="text">  Via: 1.0 ricky, 1.1 mertz, 1.0 lucy 
    21302146</pre><p id="rfc.section.9.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 
    21312147         by pseudonyms. Applications <em class="bcp14">MUST NOT</em> combine entries which have different received-protocol values. 
     
    28432859      </p> 
    28442860      <h1 id="rfc.section.C"><a href="#rfc.section.C">C.</a>&nbsp;<a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1> 
    2845       <div id="rfc.figure.u.72"></div> <pre class="inline"><a href="#rule.whitespace" class="smpl">BWS</a> = OWS 
     2861      <div id="rfc.figure.u.75"></div> <pre class="inline"><a href="#rule.whitespace" class="smpl">BWS</a> = OWS 
    28462862 
    28472863<a href="#abnf.dependencies" class="smpl">Cache-Control</a> = &lt;Cache-Control, defined in [Part6], Section 3.4&gt; 
     
    30313047 
    30323048<a href="#preferred.date.format" class="smpl">year</a> = 4DIGIT 
    3033 </pre> <div id="rfc.figure.u.73"></div> 
     3049</pre> <div id="rfc.figure.u.76"></div> 
    30343050      <p>ABNF diagnostics:</p><pre class="inline">; Chunked-Body defined but not used 
    30353051; Content-Length defined but not used 
  • draft-ietf-httpbis/latest/p1-messaging.xml

    r729 r738  
    338338   and WSP (whitespace). 
    339339</t> 
     340<t> 
     341   As a syntactical convention, ABNF rule names prefixed with "obs-" denote 
     342   "obsolete" grammar rules that appear for historical reasons. 
     343</t> 
    340344 
    341345<section title="ABNF Extension: #rule" anchor="notation.abnf"> 
    342   <t> 
    343     One extension to the ABNF rules of <xref target="RFC5234"/> is used to 
    344     improve readability. 
    345   </t> 
    346   <t> 
    347     A construct "#" is defined, similar to "*", for defining lists of 
    348     elements. The full form is "&lt;n&gt;#&lt;m&gt;element" indicating at least 
    349     &lt;n&gt; and at most &lt;m&gt; elements, each separated by a single comma 
    350     (",") and optional whitespace (OWS).    
    351   </t> 
    352   <figure><preamble> 
    353     Thus, 
     346<t> 
     347  The #rule extension to the ABNF rules of <xref target="RFC5234"/> is used to 
     348  improve readability.  
     349</t> 
     350<t> 
     351  A construct "#" is defined, similar to "*", for defining comma-delimited 
     352  lists of elements. The full form is "&lt;n&gt;#&lt;m&gt;element" indicating 
     353  at least &lt;n&gt; and at most &lt;m&gt; elements, each separated by a single 
     354  comma (",") and optional whitespace (OWS, 
     355  <xref target="basic.rules"/>).    
     356</t> 
     357<figure><preamble> 
     358  Thus, 
    354359</preamble><artwork type="example"> 
    355360  1#element =&gt; element *( OWS "," OWS element ) 
    356361</artwork></figure> 
    357   <figure><preamble> 
    358     and: 
     362<figure><preamble> 
     363  and: 
    359364</preamble><artwork type="example"> 
    360365  #element =&gt; [ 1#element ] 
    361366</artwork></figure> 
    362   <figure><preamble> 
    363     and for n &gt;= 1 and m &gt; 1: 
     367<figure><preamble> 
     368  and for n &gt;= 1 and m &gt; 1: 
    364369</preamble><artwork type="example"> 
    365370  &lt;n&gt;#&lt;m&gt;element =&gt; element &lt;n-1&gt;*&lt;m-1&gt;( OWS "," OWS element ) 
    366371</artwork></figure> 
    367   <t> 
    368     For compatibility with legacy list rules, recipients &SHOULD; accept empty 
    369     list elements. In other words, consumers would follow the list productions: 
    370   </t> 
     372<t> 
     373  For compatibility with legacy list rules, recipients &SHOULD; accept empty 
     374  list elements. In other words, consumers would follow the list productions: 
     375</t> 
    371376<figure><artwork type="example"> 
    372377  #element =&gt; [ ( "," / element ) *( OWS "," [ OWS element ] ) ] 
    373378   
    374379  1#element =&gt; *( "," OWS ) element *( OWS "," [ OWS element ] ) 
    375 </artwork></figure>   
     380</artwork></figure> 
     381<t> 
     382  Note that empty elements do not contribute to the count of elements present, 
     383  though. 
     384</t> 
     385<t> 
     386  For example, given these ABNF productions:  
     387</t> 
     388<figure><artwork type="example"> 
     389  example-list      = 1#example-list-elmt 
     390  example-list-elmt = token ; see <xref target="basic.rules"/>  
     391</artwork></figure> 
     392<t> 
     393  Then these are valid values for example-list (not including the double 
     394  quotes, which are present for delimitation only): 
     395</t> 
     396<figure><artwork type="example"> 
     397  "foo,bar" 
     398  " foo ,bar," 
     399  "  foo , ,bar,charlie   " 
     400  "foo ,bar,   charlie " 
     401</artwork></figure> 
     402<t> 
     403  But these values would be invalid, as at least one non-empty element is 
     404  required: 
     405</t> 
     406<figure><artwork type="example"> 
     407  "" 
     408  "," 
     409  ",   ," 
     410</artwork></figure> 
    376411<t> 
    377412  <xref target="collected.abnf"/> shows the collected ABNF, with the list rules 
Note: See TracChangeset for help on using the changeset viewer.