Changeset 1494 for draft-ietf-httpbis/latest/p2-semantics.xml
- Timestamp:
- 16/12/11 21:11:53 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p2-semantics.xml
r1493 r1494 365 365 <x:anchor-alias value="quoted-string"/> 366 366 <x:anchor-alias value="token"/> 367 <x:anchor-alias value="BWS"/> 367 368 <x:anchor-alias value="OWS"/> 368 369 <x:anchor-alias value="RWS"/> … … 371 372 </t> 372 373 <figure><artwork type="abnf2616"> 374 <x:ref>BWS</x:ref> = <BWS, defined in &basic-rules;> 373 375 <x:ref>OWS</x:ref> = <OWS, defined in &basic-rules;> 374 376 <x:ref>RWS</x:ref> = <RWS, defined in &basic-rules;> … … 2579 2581 <x:anchor-alias value="Expect"/> 2580 2582 <x:anchor-alias value="expectation"/> 2581 <x:anchor-alias value="expectation-extension"/>2582 2583 <x:anchor-alias value="expect-param"/> 2584 <x:anchor-alias value="expect-name"/> 2585 <x:anchor-alias value="expect-value"/> 2583 2586 <t> 2584 2587 The "Expect" header field is used to indicate that particular 2585 2588 server behaviors are required by the client. 2586 2589 </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="expect ation-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"/> 2588 2591 <x:ref>Expect</x:ref> = 1#<x:ref>expectation</x:ref> 2589 2592 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> 2594 2599 </artwork></figure> 2595 2600 <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. 2602 </t> 2603 <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 </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. 2613 </t> 2614 <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. 2620 </t> 2621 <t> 2622 Many older HTTP/1.0 and HTTP/1.1 applications do not understand the 2623 Expect header field. 2624 </t> 2625 <t> 2626 See &use100; for the use of the 100 (Continue) 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. 2606 </t> 2607 <t> 2608 The only expectation defined by this specification is: 2609 </t> 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 The "100-continue" expectation is defined &use100;. It does not support 2615 any expect-params. 2616 </t> 2617 </list> 2618 </t> 2619 <t> 2620 Comparison is case-insensitive for names (expect-name), and case-sensitive 2621 for values (expect-value). 2622 </t> 2623 <t> 2624 The Expect mechanism is hop-by-hop: the above requirements apply to any 2625 server, including proxies. However, the Expect header field itself is 2626 end-to-end; it &MUST; be forwarded if the request is forwarded. 2627 </t> 2628 <t> 2629 Many older HTTP/1.0 and HTTP/1.1 applications do not understand the Expect 2630 header field. 2627 2631 </t> 2628 2632 </section> … … 4033 4037 <x:ref>Allow</x:ref> = [ ( "," / Method ) *( OWS "," [ OWS Method ] ) ] 4034 4038 4039 <x:ref>BWS</x:ref> = <BWS, defined in [Part1], Section 1.2.2> 4040 4035 4041 <x:ref>Date</x:ref> = HTTP-date 4036 4042 … … 4086 4092 <x:ref>delta-seconds</x:ref> = 1*DIGIT 4087 4093 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 ) ] 4094 <x:ref>expect-name</x:ref> = token 4095 <x:ref>expect-param</x:ref> = expect-name [ BWS "=" BWS expect-value ] 4096 <x:ref>expect-value</x:ref> = token / quoted-string 4097 <x:ref>expectation</x:ref> = expect-name [ BWS "=" BWS expect-value ] *( OWS ";" [ 4098 OWS expect-param ] ) 4092 4099 4093 4100 <x:ref>hour</x:ref> = 2DIGIT … … 4708 4715 </t> 4709 4716 <t> 4717 <eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/327"/>: 4718 "'expect' grammar missing OWS" 4719 </t> 4720 <t> 4710 4721 <eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/329"/>: 4711 4722 "header field considerations: quoted-string vs use of double quotes"
Note: See TracChangeset
for help on using the changeset viewer.