Changeset 1706 for draft-ietf-httpbis/latest/p1-messaging.html
- Timestamp:
- 03/07/12 09:29:18 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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>
Note: See TracChangeset
for help on using the changeset viewer.