Skip to content

v1.10.0-beta.3 - HTTP/2 client beta release 3

Pre-release
Pre-release

Choose a tag to compare

@marty1885 marty1885 released this 21 Dec 13:19
· 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_SIZE and INITIAL_WINDOW_SIZE settings 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=1 will disable HTTP/2 in client
  • HttpClient supports setPingInterval(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