- From: J.P. Martin-Flatin <martin-flatin@epfl.ch>
- Date: Sun, 14 Jun 1998 19:17:27 +0200
- To: http-wg@cuckoo.hpl.hp.com
- Cc: martin-flatin@epfl.ch
There is no clear definition of the connection tokens supported by the Connection general-header field. Section 14.10 remains vague: connection-token = token and gives "close" as an example of token, a few lines further. RFC 2068 refers to the following connection tokens: close: pp. 44, 45, 109 and 161 Keep-Alive: p. 161 Persist: p. 161 "Keep-Alive" and "Persist" are described in RFC 2068 section 19.7.1 as the "HTTP/1.0 form of persistent connections". But they are specified in neither RFC 1945 nor RFC 2068. In Rev-03, references to" Keep-Alive" and "Persist" have been deleted from section 19.6.2. I interpret this as meaning that the sole connection-token supported in HTTP/1.1 is "close", and that the experimental tokens "Keep-Alive" and "Persist" have been deprecated. This should be stated clearly in the spec. I suggest 2 ways of doing this: 1) Rephrase section 14.10 as follows: 14.10 Connection The Connection general-header field allows the sender to specify options that are desired for that particular connection and MUST NOT be communicated by proxies over further connections. The Connection header has the following grammar: Connection = "Connection" ":" 1#(connection-token) connection-token = token HTTP/1.1 proxies MUST parse the Connection header field before a message is forwarded and, for each connection-token in this field, remove any header field(s) from the message with the same name as the connection- token. Connection options are signaled by the presence of a connection- token in the Connection header field, not by any corresponding additional header field(s), since the additional header field may not be sent if there are no parameters associated with that connection option. Message headers listed in the Connection header MUST NOT include end-to- end headers, such as Cache-Control. The only connection-token defined by HTTP/1.1 is "close". Tokens "Keep-Alive" and "Persist", which were used in some HTTP/1.0 experimental implementations of persistent connections, have been deprecated. The "close" token allows the sender to signal that the connection will be closed after completion of the response. For example, Connection: close in either the request or the response header fields indicates that the connection should not be considered `persistent' (section 8.1) after the current request/response is complete. HTTP/1.1 applications that do not support persistent connections MUST include the "close" connection option in every message. A system receiving an HTTP/1.0 (or lower-version) message that includes a Connection header MUST, for each connection-token in this field, remove and ignore any header field(s) from the message with the same name as the connection-token. This protects against mistaken forwarding of such header fields by pre-HTTP/1.1 proxies. 2) Add a new section between sections 3.8 and 3.9: Connection Tokens Connection tokens are used to control the persistence of connections. The only connection-token defined by HTTP/1.1 is "close" (sections 8.1 and 14.10). connection-token = "close" Tokens "Keep-Alive" and "Persist", which were used in some HTTP/1.0 experimental implementations of persistent connections, have been deprecated. Jean-Philippe Martin-Flatin
Received on Sunday, 14 June 1998 10:20:33 UTC