v1.10.0-beta.3 - HTTP/2 client beta release 3
Pre-release
Pre-release
·
2 commits
to http2-beta
since this release
Hello! Back from some dormant :)
This is a BETA RELEASE of our HTTP/2 client. As it is difficult for us to test our client against all possible situations. The beta release is meant for people to experiment and try our HTTP/2 client and report what does and does not work. This beta branch is synced with our main branch at least once per (beta) release.
Please help us test our HTTP/2 implementation. Open an issue and tag @marty1885 if you found any.
Comment on our compatibility tracker if you like. This allows us to gather a list of known working sites :)
BR, Martin Chang
Fixes
- Fixes in HTTP/2 client protocol implementation to improve stability and compatibility
- Increased connection and stream level flow level RX window to improve throughput
- Proper respect of
DYNAMIC_TABLE_SIZEandINITIAL_WINDOW_SIZEsettings from server - Various UAF fixes
- Handle malicious server triggering overflow in flow control window
- GOAWAY frame correctly ignores MSB of last stream ID
- Headers with uppercase letters are treated as malformed
- Fix overly strict asserts in debug mode
- Corrected padding serialization in frames
- Responses with long headers but no body are handled correctly
Changes
- Synced with latest master branch
- Environment variable
DROGON_DISABLE_HTTP2_CLIENT=1will disable HTTP/2 in client HttpClientsupportssetPingInterval(seconds)to send periodic PING frames to keep the connection alive- Relax recoverable protocol errors instead of killing the connection
- Support trailers in HTTP/2 responses
Limitations
Please open an issue if you need any of them.
- No H2C (HTTP/2 over cleartext) support
- Technically supports handling server push. But no API to expose it to the user yet
- Does not support setting HTTP request dependency and priority