Ignore:
Timestamp:
Mar 30, 2011, 2:32:16 AM (9 years ago)
Author:
julian.reschke@…
Message:

rewrite header field ABNFs to only specify the field value (see #276)

File:
1 edited

Legend:

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

    r1229 r1236  
    29692969  <x:anchor-alias value="Connection"/>
    29702970  <x:anchor-alias value="connection-token"/>
    2971   <x:anchor-alias value="Connection-v"/>
    29722971<t>
    29732972   The "Connection" header field allows the sender to specify
     
    29862985   The Connection header field's value has the following grammar:
    29872986</t>
    2988 <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"/>
    2989   <x:ref>Connection</x:ref>       = "Connection" ":" <x:ref>OWS</x:ref> <x:ref>Connection-v</x:ref>
    2990   <x:ref>Connection-v</x:ref>     = 1#<x:ref>connection-token</x:ref>
     2987<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Connection"/><iref primary="true" item="Grammar" subitem="connection-token"/>
     2988  <x:ref>Connection</x:ref>       = 1#<x:ref>connection-token</x:ref>
    29912989  <x:ref>connection-token</x:ref> = <x:ref>token</x:ref>
    29922990</artwork></figure>
     
    30563054  <iref primary="true" item="Header Fields" subitem="Content-Length" x:for-anchor=""/>
    30573055  <x:anchor-alias value="Content-Length"/>
    3058   <x:anchor-alias value="Content-Length-v"/>
    30593056<t>
    30603057   The "Content-Length" header field indicates the size of the
     
    30693066   response.
    30703067</t>
    3071 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Content-Length"/><iref primary="true" item="Grammar" subitem="Content-Length-v"/>
    3072   <x:ref>Content-Length</x:ref>   = "Content-Length" ":" <x:ref>OWS</x:ref> <x:ref>Content-Length-v</x:ref>
    3073   <x:ref>Content-Length-v</x:ref> = 1*<x:ref>DIGIT</x:ref>
     3068<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Content-Length"/>
     3069  <x:ref>Content-Length</x:ref> = 1*<x:ref>DIGIT</x:ref>
    30743070</artwork></figure>
    30753071<t>
     
    31003096  <iref primary="true" item="Header Fields" subitem="Date" x:for-anchor=""/>
    31013097  <x:anchor-alias value="Date"/>
    3102   <x:anchor-alias value="Date-v"/>
    31033098<t>
    31043099   The "Date" header field represents the date and time at which
     
    31083103   it &MUST; be sent in rfc1123-date format.
    31093104</t>
    3110 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Date"/><iref primary="true" item="Grammar" subitem="Date-v"/>
    3111   <x:ref>Date</x:ref>   = "Date" ":" <x:ref>OWS</x:ref> <x:ref>Date-v</x:ref>
    3112   <x:ref>Date-v</x:ref> = <x:ref>HTTP-date</x:ref>
     3105<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Date"/>
     3106  <x:ref>Date</x:ref> = <x:ref>HTTP-date</x:ref>
    31133107</artwork></figure>
    31143108<t>
     
    31763170  <iref primary="true" item="Header Fields" subitem="Host" x:for-anchor=""/>
    31773171  <x:anchor-alias value="Host"/>
    3178   <x:anchor-alias value="Host-v"/>
    31793172<t>
    31803173   The "Host" header field in a request provides the host and port
     
    31853178   &SHOULD; be sent as the first header field following the Request-Line.
    31863179</t>
    3187 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Host"/><iref primary="true" item="Grammar" subitem="Host-v"/>
    3188   <x:ref>Host</x:ref>   = "Host" ":" <x:ref>OWS</x:ref> <x:ref>Host-v</x:ref>
    3189   <x:ref>Host-v</x:ref> = <x:ref>uri-host</x:ref> [ ":" <x:ref>port</x:ref> ] ; <xref target="http.uri"/>
     3180<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Host"/>
     3181  <x:ref>Host</x:ref> = <x:ref>uri-host</x:ref> [ ":" <x:ref>port</x:ref> ] ; <xref target="http.uri"/>
    31903182</artwork></figure>
    31913183<t>
     
    32473239  <iref primary="true" item="Header Fields" subitem="TE" x:for-anchor=""/>
    32483240  <x:anchor-alias value="TE"/>
    3249   <x:anchor-alias value="TE-v"/>
    32503241  <x:anchor-alias value="t-codings"/>
    32513242  <x:anchor-alias value="te-params"/>
     
    32613252   parameters (as described in <xref target="transfer.codings"/>).
    32623253</t>
    3263 <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"/><iref primary="true" item="Grammar" subitem="te-params"/><iref primary="true" item="Grammar" subitem="te-ext"/>
    3264   <x:ref>TE</x:ref>        = "TE" ":" <x:ref>OWS</x:ref> <x:ref>TE-v</x:ref>
    3265   <x:ref>TE-v</x:ref>      = #<x:ref>t-codings</x:ref>
     3254<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="TE"/><iref primary="true" item="Grammar" subitem="t-codings"/><iref primary="true" item="Grammar" subitem="te-params"/><iref primary="true" item="Grammar" subitem="te-ext"/>
     3255  <x:ref>TE</x:ref>        = #<x:ref>t-codings</x:ref>
    32663256  <x:ref>t-codings</x:ref> = "trailers" / ( <x:ref>transfer-extension</x:ref> [ <x:ref>te-params</x:ref> ] )
    32673257  <x:ref>te-params</x:ref> = <x:ref>OWS</x:ref> ";" <x:ref>OWS</x:ref> "q=" <x:ref>qvalue</x:ref> *( <x:ref>te-ext</x:ref> )
     
    33313321  <iref primary="true" item="Header Fields" subitem="Trailer" x:for-anchor=""/>
    33323322  <x:anchor-alias value="Trailer"/>
    3333   <x:anchor-alias value="Trailer-v"/>
    33343323<t>
    33353324   The "Trailer" header field indicates that the given set of
     
    33373326   chunked transfer-coding.
    33383327</t>
    3339 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Trailer"/><iref primary="true" item="Grammar" subitem="Trailer-v"/>
    3340   <x:ref>Trailer</x:ref>   = "Trailer" ":" <x:ref>OWS</x:ref> <x:ref>Trailer-v</x:ref>
    3341   <x:ref>Trailer-v</x:ref> = 1#<x:ref>field-name</x:ref>
     3328<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Trailer"/>
     3329  <x:ref>Trailer</x:ref> = 1#<x:ref>field-name</x:ref>
    33423330</artwork></figure>
    33433331<t>
     
    33673355  <iref primary="true" item="Header Fields" subitem="Transfer-Encoding" x:for-anchor=""/>
    33683356  <x:anchor-alias value="Transfer-Encoding"/>
    3369   <x:anchor-alias value="Transfer-Encoding-v"/>
    33703357<t>
    33713358   The "Transfer-Encoding" header field indicates what transfer-codings
     
    33753362   content-codings are not.
    33763363</t>
    3377 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Transfer-Encoding"/><iref primary="true" item="Grammar" subitem="Transfer-Encoding-v"/>
    3378   <x:ref>Transfer-Encoding</x:ref>   = "Transfer-Encoding" ":" <x:ref>OWS</x:ref>
    3379                         <x:ref>Transfer-Encoding-v</x:ref>
    3380   <x:ref>Transfer-Encoding-v</x:ref> = 1#<x:ref>transfer-coding</x:ref>
     3364<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Transfer-Encoding"/>
     3365  <x:ref>Transfer-Encoding</x:ref> = 1#<x:ref>transfer-coding</x:ref>
    33813366</artwork></figure>
    33823367<t>
     
    34023387  <iref primary="true" item="Header Fields" subitem="Upgrade" x:for-anchor=""/>
    34033388  <x:anchor-alias value="Upgrade"/>
    3404   <x:anchor-alias value="Upgrade-v"/>
    34053389<t>
    34063390   The "Upgrade" header field allows the client to specify what
     
    34093393   they are willing to switch to.
    34103394</t>
    3411 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Upgrade"/><iref primary="true" item="Grammar" subitem="Upgrade-v"/>
    3412   <x:ref>Upgrade</x:ref>   = "Upgrade" ":" <x:ref>OWS</x:ref> <x:ref>Upgrade-v</x:ref>
    3413   <x:ref>Upgrade-v</x:ref> = 1#<x:ref>product</x:ref>
     3395<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Upgrade"/>
     3396  <x:ref>Upgrade</x:ref> = 1#<x:ref>product</x:ref>
    34143397</artwork></figure>
    34153398<t>
     
    35143497  <x:anchor-alias value="received-protocol"/>
    35153498  <x:anchor-alias value="Via"/>
    3516   <x:anchor-alias value="Via-v"/>
    35173499<t>
    35183500   The "Via" header field &MUST; be sent by a proxy or gateway to
     
    35253507   all senders along the request/response chain.
    35263508</t>
    3527 <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"/>
    3528   <x:ref>Via</x:ref>               = "Via" ":" <x:ref>OWS</x:ref> <x:ref>Via-v</x:ref>
    3529   <x:ref>Via-v</x:ref>             = 1#( <x:ref>received-protocol</x:ref> <x:ref>RWS</x:ref> <x:ref>received-by</x:ref>
     3509<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"/>
     3510  <x:ref>Via</x:ref>               = 1#( <x:ref>received-protocol</x:ref> <x:ref>RWS</x:ref> <x:ref>received-by</x:ref>
    35303511                          [ <x:ref>RWS</x:ref> <x:ref>comment</x:ref> ] )
    35313512  <x:ref>received-protocol</x:ref> = [ <x:ref>protocol-name</x:ref> "/" ] <x:ref>protocol-version</x:ref>
     
    50555036</t>
    50565037<t>
     5038  Change ABNF productions for header fields to only define the field value.
     5039  (<xref target="header.field.definitions"/>)
     5040</t>
     5041<t>
    50575042  Clarify exactly when close connection options must be sent.
    50585043  (<xref target="header.connection"/>)
     
    50735058
    50745059<x:ref>Chunked-Body</x:ref> = *chunk last-chunk trailer-part CRLF
    5075 <x:ref>Connection</x:ref> = "Connection:" OWS Connection-v
    5076 <x:ref>Connection-v</x:ref> = *( "," OWS ) connection-token *( OWS "," [ OWS
     5060<x:ref>Connection</x:ref> = *( "," OWS ) connection-token *( OWS "," [ OWS
    50775061 connection-token ] )
    5078 <x:ref>Content-Length</x:ref> = "Content-Length:" OWS Content-Length-v
    5079 <x:ref>Content-Length-v</x:ref> = 1*DIGIT
    5080 
    5081 <x:ref>Date</x:ref> = "Date:" OWS Date-v
    5082 <x:ref>Date-v</x:ref> = HTTP-date
     5062<x:ref>Content-Length</x:ref> = 1*DIGIT
     5063
     5064<x:ref>Date</x:ref> = HTTP-date
    50835065
    50845066<x:ref>GMT</x:ref> = %x47.4D.54 ; GMT
     
    50895071<x:ref>HTTP-message</x:ref> = start-line *( header-field CRLF ) CRLF [ message-body
    50905072 ]
    5091 <x:ref>Host</x:ref> = "Host:" OWS Host-v
    5092 <x:ref>Host-v</x:ref> = uri-host [ ":" port ]
     5073<x:ref>Host</x:ref> = uri-host [ ":" port ]
    50935074
    50945075<x:ref>Method</x:ref> = token
     
    51055086<x:ref>Status-Line</x:ref> = HTTP-Version SP Status-Code SP Reason-Phrase CRLF
    51065087
    5107 <x:ref>TE</x:ref> = "TE:" OWS TE-v
    5108 <x:ref>TE-v</x:ref> = [ ( "," / t-codings ) *( OWS "," [ OWS t-codings ] ) ]
    5109 <x:ref>Trailer</x:ref> = "Trailer:" OWS Trailer-v
    5110 <x:ref>Trailer-v</x:ref> = *( "," OWS ) field-name *( OWS "," [ OWS field-name ] )
    5111 <x:ref>Transfer-Encoding</x:ref> = "Transfer-Encoding:" OWS Transfer-Encoding-v
    5112 <x:ref>Transfer-Encoding-v</x:ref> = *( "," OWS ) transfer-coding *( OWS "," [ OWS
     5088<x:ref>TE</x:ref> = [ ( "," / t-codings ) *( OWS "," [ OWS t-codings ] ) ]
     5089<x:ref>Trailer</x:ref> = *( "," OWS ) field-name *( OWS "," [ OWS field-name ] )
     5090<x:ref>Transfer-Encoding</x:ref> = *( "," OWS ) transfer-coding *( OWS "," [ OWS
    51135091 transfer-coding ] )
    51145092
    51155093<x:ref>URI-reference</x:ref> = &lt;URI-reference, defined in [RFC3986], Section 4.1&gt;
    5116 <x:ref>Upgrade</x:ref> = "Upgrade:" OWS Upgrade-v
    5117 <x:ref>Upgrade-v</x:ref> = *( "," OWS ) product *( OWS "," [ OWS product ] )
    5118 
    5119 <x:ref>Via</x:ref> = "Via:" OWS Via-v
    5120 <x:ref>Via-v</x:ref> = *( "," OWS ) received-protocol RWS received-by [ RWS comment
    5121  ] *( OWS "," [ OWS received-protocol RWS received-by [ RWS comment ]
    5122  ] )
     5094<x:ref>Upgrade</x:ref> = *( "," OWS ) product *( OWS "," [ OWS product ] )
     5095
     5096<x:ref>Via</x:ref> = *( "," OWS ) received-protocol RWS received-by [ RWS comment ]
     5097 *( OWS "," [ OWS received-protocol RWS received-by [ RWS comment ] ]
     5098 )
    51235099
    51245100<x:ref>absolute-URI</x:ref> = &lt;absolute-URI, defined in [RFC3986], Section 4.3&gt;
     
    58935869  <list style="symbols">
    58945870    <t>
     5871      <eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/276"/>:
     5872      "untangle ABNFs for header fields"
     5873    </t>
     5874    <t>
    58955875      <eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/286"/>:
    58965876      "Content-Length ABNF broken"
Note: See TracChangeset for help on using the changeset viewer.