- From: Zhong Yu <zhong.j.yu@gmail.com>
- Date: Thu, 23 Feb 2012 14:23:36 -0600
- To: Willy Tarreau <w@1wt.eu>
- Cc: Alvaro Lopez Ortega <alvaro@alobbs.com>, HTTP Working Group <ietf-http-wg@w3.org>
On Thu, Feb 23, 2012 at 12:30 PM, Willy Tarreau <w@1wt.eu> wrote: > On Thu, Feb 23, 2012 at 12:19:07PM -0600, Zhong Yu wrote: >> Thank you both. So, "Connection:keep-alive" in 1.0 is very dependable >> in practice, server should keep the connection alive. >> >> If that's the case, shouldn't we remove the alarming languages in >> [part 1, A.1.2.]? They might be legitimate concerns in 1999, but no >> longer relevant today. >> >> However, some experimental implementations of HTTP/1.0 >> persistent connections are faulty; for example, if a HTTP/1.0 proxy >> server doesn't understand Connection, it will erroneously forward >> that header to the next inbound server, which would result in a hung >> connection. >> >> ... >> >> Clients are also encouraged to consider the use of Connection: keep- >> alive in requests carefully; while they can enable persistent >> connections with HTTP/1.0 servers, clients using them need will need >> to monitor the connection for "hung" requests (which indicate that >> the client ought stop sending the header), and this mechanism ought >> not be used by clients at all when a proxy is being used. > > Indeed I remember about those painful days. However, the paragraph above > simply encourages to use the feature with care. This means that those who > want to implement it have to understand what it means. I think this is fine > as is. If the spec specifically mentions a type of flaw in intermediaries, it wouldn't be "just saying"; it means the flaw is realistic, having significant impact in real world, and implementer should reckon with it. Therefore I cannot, by reading the spec alone, come to the conclusion that a server should honor "Connection:keep-alive" from a 1.0 request. If servers do honor the header, it means the flaw doesn't matter to servers anyway, therefore there's no point mentioning the flaw in the spec. The added (not in rfc2616) last paragraph about clients seems to be a logical deduction from the significance of the flaw; however if the flaw is not really significant (servers ignore it), this paragraph is not justified. The real judges would be respectful client implementers; if they never see any problem sending "Connection:keep-alive", the paragraph can be removed. Zhong
Received on Thursday, 23 February 2012 20:24:04 UTC