Re: 100 continue expectation with HTTP/2

Hi Greg,

My understanding is that RFC 9113 8.1 speak to this

> A server can send a complete response prior to the client sending an
entire request if the response does not depend on any portion of the
request that has not been sent and received. When this is true, a server
MAY request that the client abort transmission of a request without error
by sending a RST_STREAM with an error code of NO_ERROR after sending a
complete response (i.e., a frame with the END_STREAM flag set). Clients
MUST NOT discard responses as a result of receiving such a RST_STREAM,
though clients can always discard responses at their discretion for other
reasons.

H3 does it a little different, see RFC 9114 Section 4.1, which says:

 > A server can send a complete response prior to the client sending an
entire request if the response does not depend on any portion of the
request that has not been sent and received. When the server does not need
to receive the remainder of the request, it MAY abort reading the request
stream, send a complete response, and cleanly close the sending part of the
stream. The error code H3_NO_ERROR SHOULD be used when requesting that the
client stop sending on the request stream. Clients MUST NOT discard
complete responses as a result of having their request terminated abruptly,
though clients can always discard responses at their discretion for other
reasons. If the server sends a partial or complete response but does not
abort reading the request, clients SHOULD continue sending the content of
the request and close the stream normally.

Cheers
Lucas

Received on Friday, 1 December 2023 00:55:32 UTC