-
Notifications
You must be signed in to change notification settings - Fork 5k
Support SETTINGS_MAX_HEADER_LIST_SIZE on HTTP/2 and HTTP/3 #78193
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Tagging subscribers to this area: @dotnet/ncl Issue DetailsHTTP/2 and HTTP/3 specs define an advisory
So while The fact that we're not enforcing the limit leads to situations that can be very difficult to debug. The server is free to close the connection in situations where it receives too many header bytes. On
I believe that
|
Triage: This is a problem that is difficult to diagnose and trace back to the headers, and we've already seen users hitting it (e.g. dotnet/yarp#1875). Moving to 8.0. |
Reopening for 6.0 and 7.0 servicing |
HTTP/2 and HTTP/3 specs define an advisory
SETTINGS_MAX_HEADER_LIST_SIZE
setting:So while
HttpClient
isn't violating the spec by not enforcing this limit, we could play nicer here.The fact that we're not enforcing the limit leads to situations that can be very difficult to debug. The server is free to close the connection in situations where it receives too many header bytes. On
HttpClient
's side, we're then forced to fail all the requests that are being multiplexed over that connection and report a non-helpful exception, while logging on the server may not even indicate that any such offending request was received.I believe that
HttpClient
should enforce this setting if the server announced it. We should do so by failing the request before we send any data from that request on the shared connection.The text was updated successfully, but these errors were encountered: