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

Ticket #327: 327.3.diff

File 327.3.diff, 6.7 KB (added by julian.reschke@gmx.de, 3 years ago)

Proposed patch

  • p2-semantics.xml

     
    364364  <x:anchor-alias value="obs-text"/> 
    365365  <x:anchor-alias value="quoted-string"/> 
    366366  <x:anchor-alias value="token"/> 
     367  <x:anchor-alias value="BWS"/> 
    367368  <x:anchor-alias value="OWS"/> 
    368369  <x:anchor-alias value="RWS"/> 
    369370<t> 
    370371  The core rules below are defined in <xref target="Part1"/>: 
    371372</t> 
    372373<figure><artwork type="abnf2616"> 
     374  <x:ref>BWS</x:ref>           = &lt;BWS, defined in &basic-rules;&gt; 
    373375  <x:ref>OWS</x:ref>           = &lt;OWS, defined in &basic-rules;&gt; 
    374376  <x:ref>RWS</x:ref>           = &lt;RWS, defined in &basic-rules;&gt; 
    375377  <x:ref>obs-text</x:ref>      = &lt;obs-text, defined in &basic-rules;&gt; 
     
    25782580  <iref primary="true" item="Header Fields" subitem="Expect" x:for-anchor=""/> 
    25792581  <x:anchor-alias value="Expect"/> 
    25802582  <x:anchor-alias value="expectation"/> 
    2581   <x:anchor-alias value="expectation-extension"/> 
    25822583  <x:anchor-alias value="expect-param"/> 
     2584  <x:anchor-alias value="expect-name"/> 
     2585  <x:anchor-alias value="expect-value"/> 
    25832586<t> 
    25842587   The "Expect" header field is used to indicate that particular 
    25852588   server behaviors are required by the client. 
    25862589</t> 
    2587 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Expect"/><iref primary="true" item="Grammar" subitem="expectation"/><iref primary="true" item="Grammar" subitem="expectation-extension"/><iref primary="true" item="Grammar" subitem="expect-param"/> 
     2590<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Expect"/><iref primary="true" item="Grammar" subitem="expectation"/><iref primary="true" item="Grammar" subitem="expect-param"/><iref primary="true" item="Grammar" subitem="expect-value"/><iref primary="true" item="Grammar" subitem="expect-name"/> 
    25882591  <x:ref>Expect</x:ref>       = 1#<x:ref>expectation</x:ref> 
    25892592   
    2590   <x:ref>expectation</x:ref>  = "100-continue" / <x:ref>expectation-extension</x:ref> 
    2591   <x:ref>expectation-extension</x:ref> = <x:ref>token</x:ref> [ "=" ( <x:ref>token</x:ref> / <x:ref>quoted-string</x:ref> ) 
    2592                            *(";" <x:ref>expect-param</x:ref>) ] 
    2593   <x:ref>expect-param</x:ref> = <x:ref>token</x:ref> [ "=" ( <x:ref>token</x:ref> / <x:ref>quoted-string</x:ref> ) ] 
     2593  <x:ref>expectation</x:ref>  = <x:ref>expect-name</x:ref> [ <x:ref>BWS</x:ref> "=" <x:ref>BWS</x:ref> <x:ref>expect-value</x:ref> ] 
     2594                             *( <x:ref>OWS</x:ref> ";" <x:ref>OWS</x:ref> <x:ref>expect-param</x:ref> ) 
     2595  <x:ref>expect-param</x:ref> = <x:ref>expect-name</x:ref> [ <x:ref>BWS</x:ref> "=" <x:ref>BWS</x:ref> <x:ref>expect-value</x:ref> ] 
     2596   
     2597  <x:ref>expect-name</x:ref>  = <x:ref>token</x:ref> 
     2598  <x:ref>expect-value</x:ref> = <x:ref>token</x:ref> / <x:ref>quoted-string</x:ref> 
    25942599</artwork></figure> 
    25952600<t> 
    2596    A server that does not understand or is unable to comply with any of 
    2597    the expectation values in the Expect field of a request &MUST; respond 
    2598    with appropriate error status code. The server &MUST; respond with a 417 
    2599    (Expectation Failed) status code if any of the expectations cannot be met 
    2600    or, if there are other problems with the request, some other 4xx 
    2601    status code. 
     2601   If all received Expect header field(s) are syntactically valid but contain 
     2602   an expectation that the recipient does not understand or cannot comply with, 
     2603   the recipient &MUST; respond with a 417 (Expectation Failed) status code. A 
     2604   recipient of a syntactically invalid Expectation header field &MUST; respond 
     2605   with a 4xx status code other than 417. 
    26022606</t> 
    26032607<t> 
    2604    This header field is defined with extensible syntax to allow for 
    2605    future extensions. If a server receives a request containing an 
    2606    Expect field that includes an expectation-extension that it does not 
    2607    support, it &MUST; respond with a 417 (Expectation Failed) status code. 
     2608   The only expectation defined by this specification is: 
    26082609</t> 
    2609 <t> 
    2610    Comparison of expectation values is case-insensitive for unquoted 
    2611    tokens (including the 100-continue token), and is case-sensitive for 
    2612    quoted-string expectation-extensions. 
     2610<t><iref primary="true" item="100-continue (expect value)"/><iref primary="true" item="Expect Values" subitem="100-continue"/> 
     2611  100-continue 
     2612   <list> 
     2613      <t> 
     2614        Defined in &use100; 
     2615      </t> 
     2616   </list> 
    26132617</t> 
    26142618<t> 
    2615    The Expect mechanism is hop-by-hop: that is, an HTTP/1.1 proxy &MUST; 
    2616    return a 417 (Expectation Failed) status code if it receives a request 
    2617    with an expectation that it cannot meet. However, the Expect 
    2618    header field itself is end-to-end; it &MUST; be forwarded if the 
    2619    request is forwarded. 
     2619   Comparison is case-insensitive for names (expect-name), and case-sensitive 
     2620   for values (expect-value). 
    26202621</t> 
    26212622<t> 
    2622    Many older HTTP/1.0 and HTTP/1.1 applications do not understand the 
    2623    Expect header field. 
     2623   The Expect mechanism is hop-by-hop: the above requirements apply to any 
     2624   server, including proxies. However, the Expect header field itself is 
     2625   end-to-end; it &MUST; be forwarded if the request is forwarded. 
    26242626</t> 
    26252627<t> 
    2626    See &use100; for the use of the 100 (Continue) status code. 
     2628   Many older HTTP/1.0 and HTTP/1.1 applications do not understand the Expect 
     2629   header field. 
    26272630</t> 
    26282631</section> 
    26292632 
     
    40324035<artwork type="abnf" name="p2-semantics.parsed-abnf"> 
    40334036<x:ref>Allow</x:ref> = [ ( "," / Method ) *( OWS "," [ OWS Method ] ) ] 
    40344037 
     4038<x:ref>BWS</x:ref> = &lt;BWS, defined in [Part1], Section 1.2.2&gt; 
     4039 
    40354040<x:ref>Date</x:ref> = HTTP-date 
    40364041 
    40374042<x:ref>Expect</x:ref> = *( "," OWS ) expectation *( OWS "," [ OWS expectation ] ) 
     
    40854090 / %x53.75.6E.64.61.79 ; Sunday 
    40864091<x:ref>delta-seconds</x:ref> = 1*DIGIT 
    40874092 
    4088 <x:ref>expect-param</x:ref> = token [ "=" ( token / quoted-string ) ] 
    4089 <x:ref>expectation</x:ref> = "100-continue" / expectation-extension 
    4090 <x:ref>expectation-extension</x:ref> = token [ "=" ( token / quoted-string ) *( ";" 
    4091  expect-param ) ] 
     4093<x:ref>expect-name</x:ref> = token 
     4094<x:ref>expect-param</x:ref> = expect-name [ BWS "=" BWS expect-value ] 
     4095<x:ref>expect-value</x:ref> = token / quoted-string 
     4096<x:ref>expectation</x:ref> = expect-name [ BWS "=" BWS expect-value ] *( OWS ";" OWS 
     4097 expect-param ) 
    40924098 
    40934099<x:ref>hour</x:ref> = 2DIGIT 
    40944100 
     
    47104716      <eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/329"/>: 
    47114717      "header field considerations: quoted-string vs use of double quotes" 
    47124718    </t> 
     4719    <t> 
     4720      <eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/327"/>: 
     4721      "'expect' grammar missing OWS" 
     4722    </t> 
    47134723  </list> 
    47144724</t> 
    47154725</section>