HTTP/3 – Why should I care?
My talk from EuroPython 2020.
HTTP is the foundation of the current web, and HTTP/3 is the upcoming major version of it. The new version is built on top of the QUIC transport protocol, originally developed in Google.
HTTP/3 can change the Internet as we know it today. Since its beginning in the 90s, HTTP transfers data over TCP to ensure reliable connections between clients and servers. QUIC is a TCP alternative, reimplemented on top of unreliable and connectionless UDP.
Proprietary Google implementation of QUIC is deployed worldwide and supported by Chrome browsers. Future HTTP/3 will be hopefully standardized by IETF soon, but many diverse implementations are available already today.
HTTP/3 improves performance and increases privacy. The switch from TCP to QUIC allows us to address the inherent limitations of previous HTTP versions. The QUIC protocol is completely encrypted, including traffic control headers, which are visible in TCP.
This talk introduces HTTP/3 and the underlaying QUIC protocol. It shows both advantages and disadvantages of the new technology, and it describes the landscape of the current implementations and suggests what you can try today.
Links and resources
- Daniel Stenberg: HTTP/3 for everyone. (Similar talk at Full Stack Fest or GOTO 2019)
- Robin Marx: QUIC and HTTP/3: Too big to fail?!
- Robin Marx: HTTP/3 and QUIC: the details
- IETF Draft: Hypertext Transfer Protocol Version 3 (HTTP/3)
- Chromium wiki: QUIC, a multiplexed stream transport over UDP
- Original QUIC draft from 2012: QUIC: Design Document and Specification Rationale
- Known Implementations at IETF QUIC WG wiki.
- IETF QUIC Interop Matrix
- QUIC support for nginx (demo site)
- Akamai HTTP/3 test page