This repository was archived by the owner on Dec 18, 2018. It is now read-only.
This repository was archived by the owner on Dec 18, 2018. It is now read-only.
HTTP/2: Settings #2627
Closed
Description
HTTP/2 allows for both the client and the server to send a SETTINGS frame to set preferences and constraints on how endpoints communicate.
The spec currently lists 6 supported SETTINGS Parameters
- SETTINGS_HEADER_TABLE_SIZE (0x1) Make hpack header table size configurable #2816
- SETTINGS_ENABLE_PUSH (0x2) - N/A
- SETTINGS_MAX_CONCURRENT_STREAMS (0x3) Limit concurrent HTTP/2 Streams per connection #2815
- SETTINGS_INITIAL_WINDOW_SIZE (0x4) Make connection and stream windows configurable #2814
- SETTINGS_MAX_FRAME_SIZE (0x5) Make max frame size configurable #2817
- SETTINGS_MAX_HEADER_LIST_SIZE (0x6) Make max header list size configurable #2818
- Initial handshake timeout - time to Receive the connection preface "PRI *
HTTP/2.0\r\n\r\nSM\r\n\r\n" https://tools.ietf.org/html/rfc7540#section-3.5. Or will the KeepAlive timeout apply best here? This would still be after the TLS handshake timeout. Add timeout for initial handshake #2900 - Settings ack timeout https://github.com/aspnet/KestrelHttpServer/issues/2901
For each setting We need to
- Pick reasonable defaults and constraints on permissible values for each of these settings parameters.
- Expose these settings via Kestrel Options