Skip to content

Implement HPack static compression #4716

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
Tratcher opened this issue Sep 23, 2018 · 2 comments · Fixed by #19521
Closed

Implement HPack static compression #4716

Tratcher opened this issue Sep 23, 2018 · 2 comments · Fixed by #19521
Assignees
Labels
area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions enhancement This issue represents an ask for new feature or an enhancement to an existing one feature-kestrel HTTP2 Perf

Comments

@Tratcher
Copy link
Member

Tratcher commented Sep 23, 2018

Today Kestrel does not use any of the HPack compression features when serializing response headers. Static compression looks like the easiest place to start.

Design notes:

  • The static table is here: https://tools.ietf.org/html/rfc7541#appendix-A
  • Make an enum that maps to the static header names. Associate this with the known headers in the response header collection.
  • Rather than passing in an enumeration of <string, string> to the encoder, come up with another structure that allows passing in either the enum values or the strings.
  • Stretch: the :status pseudo header has 7 static entries that include common values. All of the other static header values are request headers (though shared code with HttpClient would want to take advantage of those).

Related work:

@aspnet-hello aspnet-hello transferred this issue from aspnet/KestrelHttpServer Dec 13, 2018
@aspnet-hello aspnet-hello added this to the 3.0.0 milestone Dec 13, 2018
@aspnet-hello aspnet-hello added area-servers enhancement This issue represents an ask for new feature or an enhancement to an existing one HTTP2 Perf feature-kestrel labels Dec 13, 2018
@analogrelay analogrelay modified the milestones: 3.0.0, 3.0.0-preview6 Mar 27, 2019
@analogrelay
Copy link
Contributor

Another HTTP/2 perf improvement to be driven by @aspnet/grpc

@analogrelay analogrelay modified the milestones: 3.0.0-preview6, Backlog Apr 30, 2019
@analogrelay
Copy link
Contributor

Backlogging as per above. Keep us posted gRPC folks ;)

@JamesNK JamesNK self-assigned this Mar 2, 2020
@JamesNK JamesNK modified the milestones: Backlog, 5.0.0-preview2 Mar 2, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Apr 4, 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 enhancement This issue represents an ask for new feature or an enhancement to an existing one feature-kestrel HTTP2 Perf
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants