- From: Greg Wilkins <gregw@intalio.com>
- Date: Wed, 18 Jun 2014 11:32:16 +0200
- To: HTTP Working Group <ietf-http-wg@w3.org>
- Message-ID: <CAH_y2NHyfkorwjb47StH1c65b3saoOJ7ZYjkWiGajYGMhR6kkg@mail.gmail.com>
We are currently working on improving Jetty's handing of stream errors and I'm wondering what other server implementations are doing about stream errors. The issue is that there are many errors that can be detected during hpack decoding, or soon after that could be handled with a RST_STREAM. However because of either the difficult and/or expense of needing to continue with decoding the headers (to keep the hpack table state correct), we are currently leaning towards treating all stream errors as fatal to the connection. Such errors that I have identified include are: - headers too large - upper case in header name - non US-ASCII character in header name or value - unknown scheme - non token bad method (spaces etc) - badly formatted authority and/or bad port number - bad path (eg non hex % encoded or bad character encoded) - bad status Note that some of these checks could be done after hpack decoding, however if we are storing fields in the Hpack table, we try to store the decoded version of them rather than just the string. We are looking setting an error state and continuing decoding, but in the case of too large that is a bit counter productive. So currently we are thinking that any of these kinds of errors are going to result in a GO_AWAY message as it is just too difficult to handle such errors deep inside hpack decoding and continue. But the down side of this is that you can easily send poison pills that will kill a connection, which is pain if you are aggregating connections. Anyway, just wondering what other server implementations are trying to do. If others are going to make efforts to keep connections open and just ignore the bad streams, then I guess we will follow peer pressure and do the same. cheers -- Greg Wilkins <gregw@intalio.com> http://eclipse.org/jetty HTTP, SPDY, Websocket server and client that scales http://www.webtide.com advice and support for jetty and cometd.
Received on Wednesday, 18 June 2014 09:32:43 UTC