Changeset 1706
- Timestamp:
- 03/07/12 09:29:18 (11 years ago)
- Location:
- draft-ietf-httpbis/latest
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/httpbis.abnf
r1695 r1706 13 13 BWS = OWS 14 14 Cache-Control = *( "," OWS ) cache-directive *( OWS "," [ OWS cache-directive ] ) 15 Connection = *( "," OWS ) connection- token *( OWS "," [ OWS connection-token ] )15 Connection = *( "," OWS ) connection-option *( OWS "," [ OWS connection-option ] ) 16 16 Content-Encoding = *( "," OWS ) content-coding *( OWS "," [ OWS content-coding ] ) 17 17 Content-Language = *( "," OWS ) language-tag *( OWS "," [ OWS language-tag ] ) … … 92 92 codings = content-coding / "identity" / "*" 93 93 comment = "(" *( ctext / quoted-cpair / comment ) ")" 94 connection- token = token94 connection-option = token 95 95 content-coding = token 96 96 credentials = auth-scheme [ 1*SP ( b64token / [ ( "," / auth-param ) *( OWS "," [ OWS auth-param ] ) ] ) ] -
draft-ietf-httpbis/latest/p1-messaging.html
r1705 r1706 1996 1996 </p> 1997 1997 <p id="rfc.section.6.1.p.2">The Connection header field's value has the following grammar:</p> 1998 <div id="rfc.figure.u.59"></div><pre class="inline"><span id="rfc.iref.g.85"></span><span id="rfc.iref.g.86"></span> <a href="#header.connection" class="smpl">Connection</a> = 1#<a href="#header.connection" class="smpl">connection-token</a> 1999 <a href="#header.connection" class="smpl">connection-token</a> = <a href="#rule.token.separators" class="smpl">token</a> 2000 </pre><p id="rfc.section.6.1.p.4">A proxy or gateway <em class="bcp14">MUST</em> parse a received Connection header field before a message is forwarded and, for each connection-token in this field, remove 2001 any header field(s) from the message with the same name as the connection-token, and then remove the Connection header field 1998 <div id="rfc.figure.u.59"></div><pre class="inline"><span id="rfc.iref.g.85"></span><span id="rfc.iref.g.86"></span> <a href="#header.connection" class="smpl">Connection</a> = 1#<a href="#header.connection" class="smpl">connection-option</a> 1999 <a href="#header.connection" class="smpl">connection-option</a> = <a href="#rule.token.separators" class="smpl">token</a> 2000 </pre><p id="rfc.section.6.1.p.4">Connection options are compared case-insensitively.</p> 2001 <p id="rfc.section.6.1.p.5">A proxy or gateway <em class="bcp14">MUST</em> parse a received Connection header field before a message is forwarded and, for each connection-option in this field, remove 2002 any header field(s) from the message with the same name as the connection-option, and then remove the Connection header field 2002 2003 itself or replace it with the sender's own connection options for the forwarded message. 2003 2004 </p> 2004 <p id="rfc.section.6.1.p. 5">A sender <em class="bcp14">MUST NOT</em> include field-names in the Connection header field-value for fields that are defined as expressing constraints for all recipients2005 <p id="rfc.section.6.1.p.6">A sender <em class="bcp14">MUST NOT</em> include field-names in the Connection header field-value for fields that are defined as expressing constraints for all recipients 2005 2006 in the request or response chain, such as the Cache-Control header field (<a href="p6-cache.html#header.cache-control" title="Cache-Control">Section 3.2</a> of <a href="#Part6" id="rfc.xref.Part6.7"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>). 2006 2007 </p> 2007 <p id="rfc.section.6.1.p. 6">The connection options do not have to correspond to a header field present in the message, since a connection-specific header2008 <p id="rfc.section.6.1.p.7">The connection options do not have to correspond to a header field present in the message, since a connection-specific header 2008 2009 field might not be needed if there are no parameters associated with that connection option. Recipients that trigger certain 2009 connection behavior based on the presence of connection options <em class="bcp14">MUST</em> do so based on the presence of the connection-token rather than only the presence of the optional header field. In other words, 2010 if the connection option is received as a header field but not indicated within the Connection field-value, then the recipient <em class="bcp14">MUST</em> ignore the connection-specific header field because it has likely been forwarded by an intermediary that is only partially 2010 connection behavior based on the presence of connection options <em class="bcp14">MUST</em> do so based on the presence of the connection-option rather than only the presence of the optional header field. In other 2011 words, if the connection option is received as a header field but not indicated within the Connection field-value, then the 2012 recipient <em class="bcp14">MUST</em> ignore the connection-specific header field because it has likely been forwarded by an intermediary that is only partially 2011 2013 conformant. 2012 2014 </p> 2013 <p id="rfc.section.6.1.p. 7">When defining new connection options, specifications ought to carefully consider existing deployed header fields and ensure2014 that the new connection -token does not share the same name as an unrelated header field that might already be deployed. Defining2015 a new connection -token essentially reserves that potential field-name for carrying additional information related to the connection2016 option, since it would be unwise for senders to use that field-name for anything else.2017 </p> 2018 <p id="rfc.section.6.1.p. 8">HTTP/1.1 defines the "close" connection option for the sender to signal that the connection will be closed after completion2015 <p id="rfc.section.6.1.p.8">When defining new connection options, specifications ought to carefully consider existing deployed header fields and ensure 2016 that the new connection option does not share the same name as an unrelated header field that might already be deployed. Defining 2017 a new connection option essentially reserves that potential field-name for carrying additional information related to the 2018 connection option, since it would be unwise for senders to use that field-name for anything else. 2019 </p> 2020 <p id="rfc.section.6.1.p.9">HTTP/1.1 defines the "close" connection option for the sender to signal that the connection will be closed after completion 2019 2021 of the response. For example, 2020 2022 </p> 2021 2023 <div id="rfc.figure.u.60"></div><pre class="text"> Connection: close 2022 </pre><p id="rfc.section.6.1.p.1 0">in either the request or the response header fields indicates that the connection <em class="bcp14">SHOULD NOT</em> be considered "persistent" (<a href="#persistent.connections" title="Persistent Connections">Section 6.3</a>) after the current request/response is complete.2023 </p> 2024 <p id="rfc.section.6.1.p.1 1">An HTTP/1.1 client that does not support persistent connections <em class="bcp14">MUST</em> include the "close" connection option in every request message.2025 </p> 2026 <p id="rfc.section.6.1.p.1 2">An HTTP/1.1 server that does not support persistent connections <em class="bcp14">MUST</em> include the "close" connection option in every response message that does not have a 1xx (Informational) status code.2024 </pre><p id="rfc.section.6.1.p.11">in either the request or the response header fields indicates that the connection <em class="bcp14">SHOULD NOT</em> be considered "persistent" (<a href="#persistent.connections" title="Persistent Connections">Section 6.3</a>) after the current request/response is complete. 2025 </p> 2026 <p id="rfc.section.6.1.p.12">An HTTP/1.1 client that does not support persistent connections <em class="bcp14">MUST</em> include the "close" connection option in every request message. 2027 </p> 2028 <p id="rfc.section.6.1.p.13">An HTTP/1.1 server that does not support persistent connections <em class="bcp14">MUST</em> include the "close" connection option in every response message that does not have a 1xx (Informational) status code. 2027 2029 </p> 2028 2030 <div id="rfc.iref.v.1"></div> … … 3008 3010 <div id="rfc.figure.u.67"></div> <pre class="inline"><a href="#rule.whitespace" class="smpl">BWS</a> = OWS 3009 3011 3010 <a href="#header.connection" class="smpl">Connection</a> = *( "," OWS ) connection- token *( OWS "," [ OWS3011 connection- token ] )3012 <a href="#header.connection" class="smpl">Connection</a> = *( "," OWS ) connection-option *( OWS "," [ OWS 3013 connection-option ] ) 3012 3014 <a href="#header.content-length" class="smpl">Content-Length</a> = 1*DIGIT 3013 3015 … … 3049 3051 <a href="#chunked.encoding" class="smpl">chunked-body</a> = *chunk last-chunk trailer-part CRLF 3050 3052 <a href="#rule.comment" class="smpl">comment</a> = "(" *( ctext / quoted-cpair / comment ) ")" 3051 <a href="#header.connection" class="smpl">connection- token</a> = token3053 <a href="#header.connection" class="smpl">connection-option</a> = token 3052 3054 <a href="#rule.comment" class="smpl">ctext</a> = OWS / %x21-27 ; '!'-''' 3053 3055 / %x2A-5B ; '*'-'[' … … 3531 3533 <ul> 3532 3534 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/346">http://tools.ietf.org/wg/httpbis/trac/ticket/346</a>>: "make IANA policy definitions consistent" 3535 </li> 3536 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/359">http://tools.ietf.org/wg/httpbis/trac/ticket/359</a>>: "clarify connection header field values are case-insensitive" 3533 3537 </li> 3534 3538 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/361">http://tools.ietf.org/wg/httpbis/trac/ticket/361</a>>: "ABNF requirements for recipients" … … 3602 3606 <li><tt>comment</tt> <a href="#rfc.iref.g.48"><b>3.2.4</b></a></li> 3603 3607 <li><tt>Connection</tt> <a href="#rfc.iref.g.85"><b>6.1</b></a></li> 3604 <li><tt>connection- token</tt> <a href="#rfc.iref.g.86"><b>6.1</b></a></li>3608 <li><tt>connection-option</tt> <a href="#rfc.iref.g.86"><b>6.1</b></a></li> 3605 3609 <li><tt>Content-Length</tt> <a href="#rfc.iref.g.53"><b>3.3.2</b></a></li> 3606 3610 <li>CR <a href="#rfc.iref.g.2"><b>1.2</b></a></li> -
draft-ietf-httpbis/latest/p1-messaging.xml
r1705 r1706 2678 2678 <iref primary="true" item="Header Fields" subitem="Connection" x:for-anchor=""/> 2679 2679 <x:anchor-alias value="Connection"/> 2680 <x:anchor-alias value="connection- token"/>2680 <x:anchor-alias value="connection-option"/> 2681 2681 <t> 2682 2682 The "Connection" header field allows the sender to specify … … 2695 2695 The Connection header field's value has the following grammar: 2696 2696 </t> 2697 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Connection"/><iref primary="true" item="Grammar" subitem="connection- token"/>2698 <x:ref>Connection</x:ref> = 1#<x:ref>connection-token</x:ref>2699 <x:ref>connection- token</x:ref> = <x:ref>token</x:ref>2697 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Connection"/><iref primary="true" item="Grammar" subitem="connection-option"/> 2698 <x:ref>Connection</x:ref> = 1#<x:ref>connection-option</x:ref> 2699 <x:ref>connection-option</x:ref> = <x:ref>token</x:ref> 2700 2700 </artwork></figure> 2701 <t> 2702 Connection options are compared case-insensitively. 2703 </t> 2701 2704 <t> 2702 2705 A proxy or gateway &MUST; parse a received Connection 2703 2706 header field before a message is forwarded and, for each 2704 connection- token in this field, remove any header field(s) from2705 the message with the same name as the connection- token, and then2707 connection-option in this field, remove any header field(s) from 2708 the message with the same name as the connection-option, and then 2706 2709 remove the Connection header field itself or replace it with the 2707 2710 sender's own connection options for the forwarded message. … … 2719 2722 connection option. Recipients that trigger certain connection 2720 2723 behavior based on the presence of connection options &MUST; do so 2721 based on the presence of the connection- token rather than only the2724 based on the presence of the connection-option rather than only the 2722 2725 presence of the optional header field. In other words, if the 2723 2726 connection option is received as a header field but not indicated … … 2729 2732 When defining new connection options, specifications ought to 2730 2733 carefully consider existing deployed header fields and ensure 2731 that the new connection -token does not share the same name as2734 that the new connection option does not share the same name as 2732 2735 an unrelated header field that might already be deployed. 2733 Defining a new connection -token essentially reserves that potential2736 Defining a new connection option essentially reserves that potential 2734 2737 field-name for carrying additional information related to the 2735 2738 connection option, since it would be unwise for senders to use … … 4902 4905 <x:ref>BWS</x:ref> = OWS 4903 4906 4904 <x:ref>Connection</x:ref> = *( "," OWS ) connection- token *( OWS "," [ OWS4905 connection- token ] )4907 <x:ref>Connection</x:ref> = *( "," OWS ) connection-option *( OWS "," [ OWS 4908 connection-option ] ) 4906 4909 <x:ref>Content-Length</x:ref> = 1*DIGIT 4907 4910 … … 4943 4946 <x:ref>chunked-body</x:ref> = *chunk last-chunk trailer-part CRLF 4944 4947 <x:ref>comment</x:ref> = "(" *( ctext / quoted-cpair / comment ) ")" 4945 <x:ref>connection- token</x:ref> = token4948 <x:ref>connection-option</x:ref> = token 4946 4949 <x:ref>ctext</x:ref> = OWS / %x21-27 ; '!'-''' 4947 4950 / %x2A-5B ; '*'-'[' … … 5824 5827 </t> 5825 5828 <t> 5829 <eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/359"/>: 5830 "clarify connection header field values are case-insensitive" 5831 </t> 5832 <t> 5826 5833 <eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/361"/>: 5827 5834 "ABNF requirements for recipients"
Note: See TracChangeset
for help on using the changeset viewer.