Closed
Description
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:
- Dynamic compression Implement HPack dynamic compression #4715
- Huffman encoding Use Huffman code in HPackEncoder #4742