Ignore:
Timestamp:
Nov 12, 2008, 3:36:52 PM (11 years ago)
Author:
julian.reschke@…
Message:

Rewrite header ABNFs to spell out whitespace rules, factor out value format definitions. (related to #36)

File:
1 edited

Legend:

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

    r353 r354  
    20742074  <x:anchor-alias value="Connection"/>
    20752075  <x:anchor-alias value="connection-token"/>
    2076 <t>
    2077    The Connection general-header field allows the sender to specify
     2076  <x:anchor-alias value="Connection-v"/>
     2077<t>
     2078   The general-header field "Connection" allows the sender to specify
    20782079   options that are desired for that particular connection and &MUST-NOT;
    20792080   be communicated by proxies over further connections.
    20802081</t>
    20812082<t>
    2082    The Connection header has the following grammar:
    2083 </t>
    2084 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Connection"/><iref primary="true" item="Grammar" subitem="connection-token"/>
    2085   <x:ref>Connection</x:ref> = "Connection" ":" 1#(<x:ref>connection-token</x:ref>)
    2086   <x:ref>connection-token</x:ref>  = <x:ref>token</x:ref>
     2083   The Connection header's value has the following grammar:
     2084</t>
     2085<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Connection"/><iref primary="true" item="Grammar" subitem="Connection-v"/><iref primary="true" item="Grammar" subitem="connection-token"/>
     2086  <x:ref>Connection</x:ref>       = "Connection" <x:ref>BWS</x:ref> ":" <x:ref>OWS</x:ref> <x:ref>Connection-v</x:ref>
     2087  <x:ref>Connection-v</x:ref>     = 1#<x:ref>connection-token</x:ref>
     2088  <x:ref>connection-token</x:ref> = <x:ref>token</x:ref>
    20872089</artwork></figure>
    20882090<t>
     
    21062108</t>
    21072109<figure><artwork type="example">
    2108     Connection: close
     2110  Connection: close
    21092111</artwork></figure>
    21102112<t>
     
    21352137  <iref primary="true" item="Headers" subitem="Content-Length" x:for-anchor=""/>
    21362138  <x:anchor-alias value="Content-Length"/>
    2137 <t>
    2138    The Content-Length entity-header field indicates the size of the
     2139  <x:anchor-alias value="Content-Length-v"/>
     2140<t>
     2141   The entity-header field "Content-Length" indicates the size of the
    21392142   entity-body, in decimal number of OCTETs, sent to the recipient or,
    21402143   in the case of the HEAD method, the size of the entity-body that
    21412144   would have been sent had the request been a GET.
    21422145</t>
    2143 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Content-Length"/>
    2144   <x:ref>Content-Length</x:ref>    = "Content-Length" ":" 1*<x:ref>DIGIT</x:ref>
     2146<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Content-Length"/><iref primary="true" item="Grammar" subitem="Content-Length-v"/>
     2147  <x:ref>Content-Length</x:ref>   = "Content-Length" <x:ref>BWS</x:ref> ":" <x:ref>OWS</x:ref> 1*<x:ref>Content-Length-v</x:ref>
     2148  <x:ref>Content-Length-v</x:ref> = 1*<x:ref>DIGIT</x:ref>
    21452149</artwork></figure>
    21462150<t>
     
    21482152</t>
    21492153<figure><artwork type="example">
    2150     Content-Length: 3495
     2154  Content-Length: 3495
    21512155</artwork></figure>
    21522156<t>
     
    21732177  <iref primary="true" item="Headers" subitem="Date" x:for-anchor=""/>
    21742178  <x:anchor-alias value="Date"/>
    2175 <t>
    2176    The Date general-header field represents the date and time at which
     2179  <x:anchor-alias value="Date-v"/>
     2180<t>
     2181   The general-header field "Date" represents the date and time at which
    21772182   the message was originated, having the same semantics as orig-date in
    21782183   <xref target="RFC5322" x:fmt="of" x:sec="3.6.1"/>. The field value is an
     
    21802185   it &MUST; be sent in rfc1123-date format.
    21812186</t>
    2182 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Date"/>
    2183   <x:ref>Date</x:ref>  = "Date" ":" <x:ref>HTTP-date</x:ref>
     2187<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Date"/><iref primary="true" item="Grammar" subitem="Date-v"/>
     2188  <x:ref>Date</x:ref>   = "Date" <x:ref>BWS</x:ref> ":" <x:ref>OWS</x:ref> <x:ref>Date-v</x:ref>
     2189  <x:ref>Date-v</x:ref> = <x:ref>HTTP-date</x:ref>
    21842190</artwork></figure>
    21852191<t>
     
    21872193</t>
    21882194<figure><artwork type="example">
    2189     Date: Tue, 15 Nov 1994 08:12:31 GMT
     2195  Date: Tue, 15 Nov 1994 08:12:31 GMT
    21902196</artwork></figure>
    21912197<t>
     
    22512257  <iref primary="true" item="Headers" subitem="Host" x:for-anchor=""/>
    22522258  <x:anchor-alias value="Host"/>
    2253 <t>
    2254    The Host request-header field specifies the Internet host and port
     2259  <x:anchor-alias value="Host-v"/>
     2260<t>
     2261   The request-header field "Host" specifies the Internet host and port
    22552262   number of the resource being requested, as obtained from the original
    22562263   URI given by the user or referring resource (generally an HTTP URL,
     
    22612268   URL of a server for multiple host names on a single IP address.
    22622269</t>
    2263 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Host"/>
    2264   <x:ref>Host</x:ref> = "Host" ":" <x:ref>uri-host</x:ref> [ ":" <x:ref>port</x:ref> ] ; <xref target="http.url"/>
     2270<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Host"/><iref primary="true" item="Grammar" subitem="Host-v"/>
     2271  <x:ref>Host</x:ref>   = "Host" <x:ref>BWS</x:ref> ":" <x:ref>OWS</x:ref> <x:ref>Host-v</x:ref>
     2272  <x:ref>Host-v</x:ref> = <x:ref>uri-host</x:ref> [ ":" <x:ref>port</x:ref> ] ; <xref target="http.url"/>
    22652273</artwork></figure>
    22662274<t>
     
    22712279</t>
    22722280<figure><artwork type="example">
    2273     GET /pub/WWW/ HTTP/1.1
    2274     Host: www.example.org
     2281  GET /pub/WWW/ HTTP/1.1
     2282  Host: www.example.org
    22752283</artwork></figure>
    22762284<t>
     
    22962304  <iref primary="true" item="Headers" subitem="TE" x:for-anchor=""/>
    22972305  <x:anchor-alias value="TE"/>
     2306  <x:anchor-alias value="TE-v"/>
    22982307  <x:anchor-alias value="t-codings"/>
    22992308<t>
    2300    The TE request-header field indicates what extension transfer-codings
     2309   The request-header field "TE" indicates what extension transfer-codings
    23012310   it is willing to accept in the response and whether or not it is
    23022311   willing to accept trailer fields in a chunked transfer-coding. Its
     
    23052314   parameters (as described in <xref target="transfer.codings"/>).
    23062315</t>
    2307 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="TE"/><iref primary="true" item="Grammar" subitem="t-codings"/>
    2308   <x:ref>TE</x:ref>        = "TE" ":" #( <x:ref>t-codings</x:ref> )
     2316<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="TE"/><iref primary="true" item="Grammar" subitem="TE-v"/><iref primary="true" item="Grammar" subitem="t-codings"/>
     2317  <x:ref>TE</x:ref>        = "TE" <x:ref>BWS</x:ref> ":" <x:ref>OWS</x:ref> <x:ref>TE-v</x:ref>
     2318  <x:ref>TE-v</x:ref>      = #<x:ref>t-codings</x:ref>
    23092319  <x:ref>t-codings</x:ref> = "trailers" / ( <x:ref>transfer-extension</x:ref> [ <x:ref>accept-params</x:ref> ] )
    23102320</artwork></figure>
     
    23202330</t>
    23212331<figure><artwork type="example">
    2322     TE: deflate
    2323     TE:
    2324     TE: trailers, deflate;q=0.5
     2332  TE: deflate
     2333  TE:
     2334  TE: trailers, deflate;q=0.5
    23252335</artwork></figure>
    23262336<t>
     
    23722382  <iref primary="true" item="Headers" subitem="Trailer" x:for-anchor=""/>
    23732383  <x:anchor-alias value="Trailer"/>
    2374 <t>
    2375    The Trailer general field value indicates that the given set of
     2384  <x:anchor-alias value="Trailer-v"/>
     2385<t>
     2386   The general field "Trailer" indicates that the given set of
    23762387   header fields is present in the trailer of a message encoded with
    23772388   chunked transfer-coding.
    23782389</t>
    2379 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Trailer"/>
    2380   <x:ref>Trailer</x:ref>  = "Trailer" ":" 1#<x:ref>field-name</x:ref>
     2390<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Trailer"/><iref primary="true" item="Grammar" subitem="Trailer-v"/>
     2391  <x:ref>Trailer</x:ref>   = "Trailer" <x:ref>BWS</x:ref> ":" <x:ref>OWS</x:ref> <x:ref>Trailer-v</x:ref>
     2392  <x:ref>Trailer-v</x:ref> = 1#<x:ref>field-name</x:ref>
    23812393</artwork></figure>
    23822394<t>
     
    24062418  <iref primary="true" item="Headers" subitem="Transfer-Encoding" x:for-anchor=""/>
    24072419  <x:anchor-alias value="Transfer-Encoding"/>
    2408 <t>
    2409    The Transfer-Encoding general-header field indicates what (if any)
     2420  <x:anchor-alias value="Transfer-Encoding-v"/>
     2421<t>
     2422   The general-header "Transfer-Encoding" field indicates what (if any)
    24102423   type of transformation has been applied to the message body in order
    24112424   to safely transfer it between the sender and the recipient. This
     
    24132426   property of the message, not of the entity.
    24142427</t>
    2415 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Transfer-Encoding"/>
    2416   <x:ref>Transfer-Encoding</x:ref>       = "Transfer-Encoding" ":" 1#<x:ref>transfer-coding</x:ref>
     2428<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Transfer-Encoding"/><iref primary="true" item="Grammar" subitem="Transfer-Encoding-v"/>
     2429  <x:ref>Transfer-Encoding</x:ref>   = "Transfer-Encoding" <x:ref>BWS</x:ref> ":" <x:ref>OWS</x:ref> <x:ref>Transfer-Encoding-v</x:ref>
     2430  <x:ref>Transfer-Encoding-v</x:ref> = 1#<x:ref>transfer-coding</x:ref>
    24172431</artwork></figure>
    24182432<t>
     
    24382452  <iref primary="true" item="Headers" subitem="Upgrade" x:for-anchor=""/>
    24392453  <x:anchor-alias value="Upgrade"/>
    2440 <t>
    2441    The Upgrade general-header allows the client to specify what
     2454  <x:anchor-alias value="Upgrade-v"/>
     2455<t>
     2456   The general-header "Upgrade" allows the client to specify what
    24422457   additional communication protocols it supports and would like to use
    24432458   if the server finds it appropriate to switch protocols. The server
     
    24452460   response to indicate which protocol(s) are being switched.
    24462461</t>
    2447 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Upgrade"/>
    2448   <x:ref>Upgrade</x:ref>        = "Upgrade" ":" 1#<x:ref>product</x:ref>
     2462<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Upgrade"/><iref primary="true" item="Grammar" subitem="Upgrade-v"/>
     2463  <x:ref>Upgrade</x:ref>   = "Upgrade" <x:ref>BWS</x:ref> ":" <x:ref>OWS</x:ref> <x:ref>Upgrade-v</x:ref>
     2464  <x:ref>Upgrade-v</x:ref> = 1#<x:ref>product</x:ref>
    24492465</artwork></figure>
    24502466<t>
     
    24522468</t>
    24532469<figure><artwork type="example">
    2454     Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11
     2470  Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11
    24552471</artwork></figure>
    24562472<t>
     
    25072523  <x:anchor-alias value="received-protocol"/>
    25082524  <x:anchor-alias value="Via"/>
    2509 <t>
    2510    The Via general-header field &MUST; be used by gateways and proxies to
     2525  <x:anchor-alias value="Via-v"/>
     2526<t>
     2527   The general-header field "Via" &MUST; be used by gateways and proxies to
    25112528   indicate the intermediate protocols and recipients between the user
    25122529   agent and the server on requests, and between the origin server and
     
    25162533   all senders along the request/response chain.
    25172534</t>
    2518 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Via"/><iref primary="true" item="Grammar" subitem="received-protocol"/><iref primary="true" item="Grammar" subitem="protocol-name"/><iref primary="true" item="Grammar" subitem="protocol-version"/><iref primary="true" item="Grammar" subitem="received-by"/><iref primary="true" item="Grammar" subitem="pseudonym"/>
    2519   <x:ref>Via</x:ref> =  "Via" ":" 1#( <x:ref>received-protocol</x:ref> <x:ref>RWS</x:ref> <x:ref>received-by</x:ref> [ <x:ref>RWS</x:ref> <x:ref>comment</x:ref> ] )
     2535<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Via"/><iref primary="true" item="Grammar" subitem="Via-v"/><iref primary="true" item="Grammar" subitem="received-protocol"/><iref primary="true" item="Grammar" subitem="protocol-name"/><iref primary="true" item="Grammar" subitem="protocol-version"/><iref primary="true" item="Grammar" subitem="received-by"/><iref primary="true" item="Grammar" subitem="pseudonym"/>
     2536  <x:ref>Via</x:ref>               = "Via" <x:ref>BWS</x:ref> ":" <x:ref>OWS</x:ref> <x:ref>Via-v</x:ref>
     2537  <x:ref>Via-v</x:ref>             = 1#( <x:ref>received-protocol</x:ref> <x:ref>RWS</x:ref> <x:ref>received-by</x:ref> [ <x:ref>RWS</x:ref> <x:ref>comment</x:ref> ] )
    25202538  <x:ref>received-protocol</x:ref> = [ <x:ref>protocol-name</x:ref> "/" ] <x:ref>protocol-version</x:ref>
    25212539  <x:ref>protocol-name</x:ref>     = <x:ref>token</x:ref>
     
    25622580</t>
    25632581<figure><artwork type="example">
    2564     Via: 1.0 fred, 1.1 p.example.net (Apache/1.1)
     2582  Via: 1.0 fred, 1.1 p.example.net (Apache/1.1)
    25652583</artwork></figure>
    25662584<t>
     
    25792597</t>
    25802598<figure><artwork type="example">
    2581     Via: 1.0 ricky, 1.1 ethel, 1.1 fred, 1.0 lucy
     2599  Via: 1.0 ricky, 1.1 ethel, 1.1 fred, 1.0 lucy
    25822600</artwork></figure>
    25832601<t>
     
    25852603</t>
    25862604<figure><artwork type="example">
    2587     Via: 1.0 ricky, 1.1 mertz, 1.0 lucy
     2605  Via: 1.0 ricky, 1.1 mertz, 1.0 lucy
    25882606</artwork></figure>
    25892607<t>
     
    46484666      them yet.
    46494667    </t>
     4668    <t>
     4669      Rewrite header ABNFs to spell out whitespace rules, factor out
     4670      value format definitions.
     4671    </t>
    46504672  </list>
    46514673</t>
Note: See TracChangeset for help on using the changeset viewer.