Re: Question about RFC7540 (HTTP/2) section 10.5.1

On 07/04/18 21:08, Lucas Pardue wrote:
> Hi Kazuho,
> 
> Kazuho wrote:
> 
>>> I’m inclined to think that it is valid for a server to first send a 4XX
>>> response, followed by a GOAWAY with ENHANCE_YOUR_CALM. I’d be interested to
>>> hear what others think.
> 
>> I would argue that there's no merit in sending a H2 level error (i.e.
>> ENHANCE_YOUR_CALM) in case you send a HTTP-level error (i.e. 4xx).
> 
> That's a good point and I kind of agree. It's just that practically, some of the UA scaffolding for handling Application-layer errors (sometimes referred to as network errors) are not in place or mature. I was reminded recently of the W3C work on Network Error Logging [1] that maybe helps in such cases?
> 
> My other thought process was that a single client error may not be cause for a connection error, rather a pattern of behaviour could cause the connection to be closed. However, on reflection in this case from the purest perspective I agree.
> 

Not just from a purist perspective. If any one header block is too large
to process properly, or was not processed by the recipient, it screws up
the HPACK state - causing corruption of all following HEADERS and
CONTINUATION frames. So yes it MUST be the last thing on that
connection. The only optional part is whether the 4xx status code is
produced before termination.

AYJ

Received on Saturday, 7 April 2018 09:59:43 UTC