HTTP/3 – Why should I care?

My talk from EuroPython 2020.

Abstract

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.

Slide deck

PDF version

HTTP/3 – Why should I care? - Slide 1 HTTP/3 – Why should I care? - Slide 2 HTTP/3 – Why should I care? - Slide 3 HTTP/3 – Why should I care? - Slide 4 HTTP/3 – Why should I care? - Slide 5 HTTP/3 – Why should I care? - Slide 6 HTTP/3 – Why should I care? - Slide 7 HTTP/3 – Why should I care? - Slide 8 HTTP/3 – Why should I care? - Slide 9 HTTP/3 – Why should I care? - Slide 10 HTTP/3 – Why should I care? - Slide 11 HTTP/3 – Why should I care? - Slide 12 HTTP/3 – Why should I care? - Slide 13 HTTP/3 – Why should I care? - Slide 14 HTTP/3 – Why should I care? - Slide 15 HTTP/3 – Why should I care? - Slide 16 HTTP/3 – Why should I care? - Slide 17 HTTP/3 – Why should I care? - Slide 18 HTTP/3 – Why should I care? - Slide 19 HTTP/3 – Why should I care? - Slide 20 HTTP/3 – Why should I care? - Slide 21 HTTP/3 – Why should I care? - Slide 22 HTTP/3 – Why should I care? - Slide 23 HTTP/3 – Why should I care? - Slide 24 HTTP/3 – Why should I care? - Slide 25 HTTP/3 – Why should I care? - Slide 26 HTTP/3 – Why should I care? - Slide 27 HTTP/3 – Why should I care? - Slide 28 HTTP/3 – Why should I care? - Slide 29 HTTP/3 – Why should I care? - Slide 30 HTTP/3 – Why should I care? - Slide 31 HTTP/3 – Why should I care? - Slide 32 HTTP/3 – Why should I care? - Slide 33 HTTP/3 – Why should I care? - Slide 34 HTTP/3 – Why should I care? - Slide 35 HTTP/3 – Why should I care? - Slide 36 HTTP/3 – Why should I care? - Slide 37 HTTP/3 – Why should I care? - Slide 38 HTTP/3 – Why should I care? - Slide 39 HTTP/3 – Why should I care? - Slide 40 HTTP/3 – Why should I care? - Slide 41 HTTP/3 – Why should I care? - Slide 42 HTTP/3 – Why should I care? - Slide 43 HTTP/3 – Why should I care? - Slide 44 HTTP/3 – Why should I care? - Slide 45 HTTP/3 – Why should I care? - Slide 46 HTTP/3 – Why should I care? - Slide 47 HTTP/3 – Why should I care? - Slide 48 HTTP/3 – Why should I care? - Slide 49 HTTP/3 – Why should I care? - Slide 50 HTTP/3 – Why should I care? - Slide 51 HTTP/3 – Why should I care? - Slide 52 HTTP/3 – Why should I care? - Slide 53 HTTP/3 – Why should I care? - Slide 54 HTTP/3 – Why should I care? - Slide 55 HTTP/3 – Why should I care? - Slide 56

Links and resources

Further reading

Implementaions

Libraries