Skip to content

Respect client's header table size settings #4729

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

Closed
JunTaoLuo opened this issue Aug 24, 2018 · 3 comments
Closed

Respect client's header table size settings #4729

JunTaoLuo opened this issue Aug 24, 2018 · 3 comments
Assignees
Labels
area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions feature-kestrel HTTP2

Comments

@JunTaoLuo
Copy link
Contributor

Follow-up to aspnet/KestrelHttpServer#2816.

Currently our encoder does not do any header compression. If we decide to do response header compression, we will need to take into account the client's settings for header table size.

@JunTaoLuo
Copy link
Contributor Author

@aspnet-hello aspnet-hello transferred this issue from aspnet/KestrelHttpServer Dec 13, 2018
@aspnet-hello aspnet-hello added this to the Backlog milestone Dec 13, 2018
@JamesNK JamesNK self-assigned this Mar 25, 2020
@JamesNK
Copy link
Member

JamesNK commented Mar 25, 2020

I'm doing this with #4715

@JamesNK
Copy link
Member

JamesNK commented Apr 2, 2020

I believe this has been done here:

// Maximum HPack encoder size is limited by Http2Limits.HeaderTableSize, configured max the server.
//
// Note that the client HPack decoder doesn't care about the ACK so we don't need to lock sending the
// ACK and updating the table size on the server together.
// The client will wait until a size agreed upon by it (sent in SETTINGS_HEADER_TABLE_SIZE) and the
// server (sent as a dynamic table size update in the next HEADERS frame) is received before applying
// the new size.
_frameWriter.UpdateMaxHeaderTableSize(Math.Min(_clientSettings.HeaderTableSize, (uint)Limits.Http2.HeaderTableSize));

@Tratcher @halter73

@JamesNK JamesNK closed this as completed Apr 2, 2020
@ghost ghost locked as resolved and limited conversation to collaborators May 3, 2020
@amcasey amcasey added area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions and removed area-runtime labels Jun 2, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions feature-kestrel HTTP2
Projects
None yet
Development

No branches or pull requests

4 participants