Changeset 353


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

start adding BWS/OWS/RWS (related to #36)

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

Legend:

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

    r352 r353  
    477477         <tr>
    478478            <td class="header left"></td>
    479             <td class="header right">November 12, 2008</td>
     479            <td class="header right">November 13, 2008</td>
    480480         </tr>
    481481      </table>
     
    10311031      </p>
    10321032      <div id="rfc.figure.u.22"></div><pre class="inline"><span id="rfc.iref.g.37"></span><span id="rfc.iref.g.38"></span>  <a href="#transfer.codings" class="smpl">transfer-coding</a>         = "chunked" / <a href="#transfer.codings" class="smpl">transfer-extension</a>
    1033   <a href="#transfer.codings" class="smpl">transfer-extension</a>      = <a href="#rule.token.separators" class="smpl">token</a> *( ";" <a href="#transfer.codings" class="smpl">parameter</a> )
     1033  <a href="#transfer.codings" class="smpl">transfer-extension</a>      = <a href="#rule.token.separators" class="smpl">token</a> *( OWS ";" OWS <a href="#transfer.codings" class="smpl">parameter</a> )
    10341034</pre><div id="rule.parameter">
    10351035         <p id="rfc.section.3.4.p.3">      Parameters are in the form of attribute/value pairs.</p>
    10361036      </div>
    1037       <div id="rfc.figure.u.23"></div><pre class="inline"><span id="rfc.iref.g.39"></span><span id="rfc.iref.g.40"></span><span id="rfc.iref.g.41"></span>  <a href="#transfer.codings" class="smpl">parameter</a>               = <a href="#rule.parameter" class="smpl">attribute</a> "=" <a href="#rule.parameter" class="smpl">value</a>
     1037      <div id="rfc.figure.u.23"></div><pre class="inline"><span id="rfc.iref.g.39"></span><span id="rfc.iref.g.40"></span><span id="rfc.iref.g.41"></span>  <a href="#transfer.codings" class="smpl">parameter</a>               = <a href="#rule.parameter" class="smpl">attribute</a> BWS "=" BWS <a href="#rule.parameter" class="smpl">value</a>
    10381038  <a href="#rule.parameter" class="smpl">attribute</a>               = <a href="#rule.token.separators" class="smpl">token</a>
    10391039  <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>
     
    10651065                   <a href="#core.rules" class="smpl">CRLF</a>
    10661066 
    1067   <a href="#chunked.transfer.encoding" class="smpl">chunk</a>          = <a href="#chunked.transfer.encoding" class="smpl">chunk-size</a> [ <a href="#chunked.transfer.encoding" class="smpl">chunk-ext</a> ] <a href="#core.rules" class="smpl">CRLF</a>
     1067  <a href="#chunked.transfer.encoding" class="smpl">chunk</a>          = <a href="#chunked.transfer.encoding" class="smpl">chunk-size</a> *WSP [ <a href="#chunked.transfer.encoding" class="smpl">chunk-ext</a> ] <a href="#core.rules" class="smpl">CRLF</a>
    10681068                   <a href="#chunked.transfer.encoding" class="smpl">chunk-data</a> <a href="#core.rules" class="smpl">CRLF</a>
    10691069  <a href="#chunked.transfer.encoding" class="smpl">chunk-size</a>     = 1*<a href="#core.rules" class="smpl">HEXDIG</a>
    1070   <a href="#chunked.transfer.encoding" class="smpl">last-chunk</a>     = 1*("0") [ <a href="#chunked.transfer.encoding" class="smpl">chunk-ext</a> ] <a href="#core.rules" class="smpl">CRLF</a>
     1070  <a href="#chunked.transfer.encoding" class="smpl">last-chunk</a>     = 1*("0") *WSP [ <a href="#chunked.transfer.encoding" class="smpl">chunk-ext</a> ] <a href="#core.rules" class="smpl">CRLF</a>
    10711071 
    1072   <a href="#chunked.transfer.encoding" class="smpl">chunk-ext</a>      = *( ";" <a href="#chunked.transfer.encoding" class="smpl">chunk-ext-name</a> [ "=" <a href="#chunked.transfer.encoding" class="smpl">chunk-ext-val</a> ] )
     1072  <a href="#chunked.transfer.encoding" class="smpl">chunk-ext</a>      = *( ";" *WSP <a href="#chunked.transfer.encoding" class="smpl">chunk-ext-name</a> [ "=" <a href="#chunked.transfer.encoding" class="smpl">chunk-ext-val</a> ] *WSP )
    10731073  <a href="#chunked.transfer.encoding" class="smpl">chunk-ext-name</a> = <a href="#rule.token.separators" class="smpl">token</a>
    10741074  <a href="#chunked.transfer.encoding" class="smpl">chunk-ext-val</a>  = <a href="#rule.token.separators" class="smpl">token</a> / <a href="#rule.quoted-string" class="smpl">quoted-string</a>
     
    11591159                   ; and consisting of either *<a href="#rule.TEXT" class="smpl">TEXT</a> or combinations
    11601160                   ; of <a href="#rule.token.separators" class="smpl">token</a>, <a href="#rule.token.separators" class="smpl">separators</a>, and <a href="#rule.quoted-string" class="smpl">quoted-string</a>
    1161 </pre><p id="rfc.section.4.2.p.3">The field-content does not include any leading or trailing LWS: linear white space occurring before the first non-whitespace
     1161</pre><p id="rfc.section.4.2.p.3"> <span class="comment">[rfc.comment.4: whitespace between field-name and colon is an error and MUST NOT be accepted]</span>
     1162      </p>
     1163      <p id="rfc.section.4.2.p.4">The field-content does not include any leading or trailing LWS: linear white space occurring before the first non-whitespace
    11621164         character of the field-value or after the last non-whitespace character of the field-value. Such leading or trailing LWS <em class="bcp14">MAY</em> be removed without changing the semantics of the field value. Any LWS that occurs between field-content <em class="bcp14">MAY</em> be replaced with a single SP before interpreting the field value or forwarding the message downstream.
    11631165      </p>
    1164       <p id="rfc.section.4.2.p.4">The order in which header fields with differing field names are received is not significant. However, it is "good practice"
     1166      <p id="rfc.section.4.2.p.5">The order in which header fields with differing field names are received is not significant. However, it is "good practice"
    11651167         to send general-header fields first, followed by request-header or response-header fields, and ending with the entity-header
    11661168         fields.
    11671169      </p>
    1168       <p id="rfc.section.4.2.p.5">Multiple message-header fields with the same field-name <em class="bcp14">MAY</em> be present in a message if and only if the entire field-value for that header field is defined as a comma-separated list [i.e.,
     1170      <p id="rfc.section.4.2.p.6">Multiple message-header fields with the same field-name <em class="bcp14">MAY</em> be present in a message if and only if the entire field-value for that header field is defined as a comma-separated list [i.e.,
    11691171         #(values)]. It <em class="bcp14">MUST</em> be possible to combine the multiple header fields into one "field-name: field-value" pair, without changing the semantics
    11701172         of the message, by appending each subsequent field-value to the first, each separated by a comma. The order in which header
     
    11721174         thus a proxy <em class="bcp14">MUST NOT</em> change the order of these field values when a message is forwarded.
    11731175      </p>
    1174       <p id="rfc.section.4.2.p.6"> </p>
     1176      <p id="rfc.section.4.2.p.7"> </p>
    11751177      <dl class="empty">
    11761178         <dd> <b>Note:</b> the "Set-Cookie" header as implemented in practice (as opposed to how it is specified in <a href="#RFC2109" id="rfc.xref.RFC2109.1"><cite title="HTTP State Management Mechanism">[RFC2109]</cite></a>) can occur multiple times, but does not use the list syntax, and thus cannot be combined into a single line. (See Appendix
     
    17741776         of all senders along the request/response chain.
    17751777      </p>
    1776       <div id="rfc.figure.u.58"></div><pre class="inline"><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="#header.via" class="smpl">Via</a> =  "Via" ":" 1#( <a href="#header.via" class="smpl">received-protocol</a> <a href="#header.via" class="smpl">received-by</a> [ <a href="#rule.comment" class="smpl">comment</a> ] )
     1778      <div id="rfc.figure.u.58"></div><pre class="inline"><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="#header.via" class="smpl">Via</a> =  "Via" ":" 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> [ <a href="#rule.whitespace" class="smpl">RWS</a> <a href="#rule.comment" class="smpl">comment</a> ] )
    17771779  <a href="#header.via" class="smpl">received-protocol</a> = [ <a href="#header.via" class="smpl">protocol-name</a> "/" ] <a href="#header.via" class="smpl">protocol-version</a>
    17781780  <a href="#header.via" class="smpl">protocol-name</a>     = <a href="#rule.token.separators" class="smpl">token</a>
  • draft-ietf-httpbis/latest/p1-messaging.xml

    r352 r353  
    954954<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="transfer-coding"/><iref primary="true" item="Grammar" subitem="transfer-extension"/>
    955955  <x:ref>transfer-coding</x:ref>         = "chunked" / <x:ref>transfer-extension</x:ref>
    956   <x:ref>transfer-extension</x:ref>      = <x:ref>token</x:ref> *( ";" <x:ref>parameter</x:ref> )
     956  <x:ref>transfer-extension</x:ref>      = <x:ref>token</x:ref> *( OWS ";" OWS <x:ref>parameter</x:ref> )
    957957</artwork></figure>
    958958<t anchor="rule.parameter">
     
    963963</t>
    964964<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="parameter"/><iref primary="true" item="Grammar" subitem="attribute"/><iref primary="true" item="Grammar" subitem="value"/>
    965   <x:ref>parameter</x:ref>               = <x:ref>attribute</x:ref> "=" <x:ref>value</x:ref>
     965  <x:ref>parameter</x:ref>               = <x:ref>attribute</x:ref> BWS "=" BWS <x:ref>value</x:ref>
    966966  <x:ref>attribute</x:ref>               = <x:ref>token</x:ref>
    967967  <x:ref>value</x:ref>                   = <x:ref>token</x:ref> / <x:ref>quoted-string</x:ref>
     
    10311031                   <x:ref>CRLF</x:ref>
    10321032 
    1033   <x:ref>chunk</x:ref>          = <x:ref>chunk-size</x:ref> [ <x:ref>chunk-ext</x:ref> ] <x:ref>CRLF</x:ref>
     1033  <x:ref>chunk</x:ref>          = <x:ref>chunk-size</x:ref> *WSP [ <x:ref>chunk-ext</x:ref> ] <x:ref>CRLF</x:ref>
    10341034                   <x:ref>chunk-data</x:ref> <x:ref>CRLF</x:ref>
    10351035  <x:ref>chunk-size</x:ref>     = 1*<x:ref>HEXDIG</x:ref>
    1036   <x:ref>last-chunk</x:ref>     = 1*("0") [ <x:ref>chunk-ext</x:ref> ] <x:ref>CRLF</x:ref>
     1036  <x:ref>last-chunk</x:ref>     = 1*("0") *WSP [ <x:ref>chunk-ext</x:ref> ] <x:ref>CRLF</x:ref>
    10371037 
    1038   <x:ref>chunk-ext</x:ref>      = *( ";" <x:ref>chunk-ext-name</x:ref> [ "=" <x:ref>chunk-ext-val</x:ref> ] )
     1038  <x:ref>chunk-ext</x:ref>      = *( ";" *WSP <x:ref>chunk-ext-name</x:ref> [ "=" <x:ref>chunk-ext-val</x:ref> ] *WSP )
    10391039  <x:ref>chunk-ext-name</x:ref> = <x:ref>token</x:ref>
    10401040  <x:ref>chunk-ext-val</x:ref>  = <x:ref>token</x:ref> / <x:ref>quoted-string</x:ref>
     
    12101210                   ; of <x:ref>token</x:ref>, <x:ref>separators</x:ref>, and <x:ref>quoted-string</x:ref>
    12111211</artwork></figure>
     1212<t>
     1213  <cref>whitespace between field-name and colon is an error and MUST NOT be accepted</cref>
     1214</t>
    12121215<t>
    12131216   The field-content does not include any leading or trailing LWS:
     
    25142517</t>
    25152518<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"/>
    2516   <x:ref>Via</x:ref> =  "Via" ":" 1#( <x:ref>received-protocol</x:ref> <x:ref>received-by</x:ref> [ <x:ref>comment</x:ref> ] )
     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> ] )
    25172520  <x:ref>received-protocol</x:ref> = [ <x:ref>protocol-name</x:ref> "/" ] <x:ref>protocol-version</x:ref>
    25182521  <x:ref>protocol-name</x:ref>     = <x:ref>token</x:ref>
Note: See TracChangeset for help on using the changeset viewer.