Details
-
Technical task
-
Resolution: Fixed
-
Not Evaluated
-
None
-
Foundation Sprint 69, Foundation Sprint 70, Foundation Sprint 71, Foundation Sprint 72, Foundation Sprint 73, Foundation Sprint 74, Foundation Sprint 75, Foundation Sprint 76, Foundation Sprint 101, Foundations Sprint 102, Foundation Sprint 103, Foundation Sprint 104, Foundation Sprint 105, Foundation Sprint 106, Foundation Sprint 107, Foundation Sprint 108, Foundation Sprint 109, Foundation Sprint 110, Foundation Sprint 111, Foundation Sprint 112, Foundation Sprint 113, Foundation Sprint 114
-
a246286c4 (dev), f8c234363 (dev), 786e76740 (dev)
Description
Add support for the HTTP 2 handshake while retaining support for HTTP 1.1.
Ensure that the SSL/TLS connection has the right version when using HTTP 2, as we will only support secure connections when using HTTP 2.
Handle HTTP 1.1 connections as before and ensure that HTTP connections are correctly started.
Use the ALPN feature in Transport Layer Security to upgrade the connection to HTTP 2.
Add tests that should both succeed and fail.
Though it doesn't use QHttp2Connection, but handles HTTP 2 frames directly, we can take some ideas from: https://codereview.qt-project.org/c/qt/qthttpserver/+/447093
Attachments
For Gerrit Dashboard: QTBUG-122312 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
558460,15 | QHttpServer: Handle HTTP 2 handshake | dev | qt/qthttpserver | Status: MERGED | +2 | 0 |
561113,2 | Http2: Export configurationToSettingsFrame(const QHttp2Configuration &) | dev | qt/qtbase | Status: MERGED | +2 | 0 |
561388,6 | QHttpServer: Add setHttp2Configuration() method to QAbstractHttpServer | dev | qt/qthttpserver | Status: MERGED | +2 | +1 |