Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

HTTP/1, HTTP/2 and HTTP/3

286 views

Published on

Come learn about the past, the present and the future of the hypertext transfer protocol.

Presented at the London Perl Workshop 2018.

Published in: Internet
  • Be the first to comment

  • Be the first to like this

HTTP/1, HTTP/2 and HTTP/3

  1. 1. London Perl Workshop 2018 Leon Brocard HTTP/1, HTTP/2 and HTTP/3
  2. 2. 1980 RFC 768 User Datagram Protocol (UDP) 1981 RFC 791 Internet Protocol (IPv4) 1981 RFC 793 Transmission Control Protocol (TCP)
  3. 3. From: timbl@info.cern.ch (Tim Berners-Lee) Newsgroups: alt.hypertext Subject: WorldWideWeb: Summary Date: 6 Aug 91 16:00:12 GMT The WWW project merges the techniques of information retrieval and hypertext to make an easy but powerful global information system. ... A simple protocol ("HTTP") is used to allow a browser program to request a keyword search by a remote information server. HTTP
  4. 4. 1996 RFC 1945 HTTP/1.0 1997 RFC 2068 HTTP/1.1 1999 RFC 2616 HTTP/1.1 2014 RFC 7230-5 HTTP/1.1: Message Syntax and Routing 2015 RFC 7540 HTTP/2 2019 RFC ? QUIC: A UDP-Based Multiplexed and Secure Transport HTTP
  5. 5. c~300,000 km/s
  6. 6. ~200,000 km/s ~140 ms one way
  7. 7. HTTP/1
  8. 8. HTTP/1 1996-2014
  9. 9. Wi-Fi/Mobile HTTP TCP IP TLS HTTP/1
  10. 10. HTTP/1
  11. 11. GET /technology/2016/jul/15/ how-the-internet-was-invented -1976-arpa-kahn-cerf HTTP/1.1 Host: www.theguardian.com HTTP/1
  12. 12. HTTP/1.1 200 OK Content-Type: text/html; charset=utf-8 Content-Length: 110502 <!DOCTYPE html>... HTTP/1
  13. 13. HTTP/1
  14. 14. HTTP/1
  15. 15. HTTP/1
  16. 16. HTTP/1
  17. 17. HTTP/1
  18. 18. HTTP/1 This does not happen in HTTP/1 :-(
  19. 19. HTTP/1
  20. 20. HTTP/1
  21. 21. HTTP/1
  22. 22. HTTP/1 HTTP head of line blocking :-(
  23. 23. HTTP/1
  24. 24. HTTP/1
  25. 25. HTTP/1
  26. 26. HTTP/2 2015
  27. 27. HTTP/2 enables a more efficient use of network resources and a reduced perception of latency by introducing header field compression and allowing multiple concurrent exchanges on the same connection HTTP/2
  28. 28. Server push Flow control Header compression Stream prioritisation Binary framing HTTP/2
  29. 29. Wi-Fi/Mobile HTTP TCP IP TLS Binary framing! HTTP/2
  30. 30. GET http://www.example.com/ 8286 8441 8cf1 e3c2 e5f2 3a6b a0ab 90f4 ff HTTP/2
  31. 31. HTTP/2
  32. 32. HTTP/2
  33. 33. HTTP/2
  34. 34. HTTP/2
  35. 35. HTTP/2 TCP head of line blocking :-(
  36. 36. TLS/1.3 2018
  37. 37. A TLS False Start reduces handshake latency to one round trip HTTP/2 with TLS/1.3
  38. 38. A zero round-trip time (0-RTT) mode was added, saving a round trip at connection setup for some application data, at the cost of certain security properties. HTTP/2 with TLS/1.3
  39. 39. HTTP/3 2019?
  40. 40. QUIC is a multiplexed and secure general-purpose transport protocol that… uses UDP as a substrate to avoid requiring changes in legacy client operating systems and middleboxes HTTP/3
  41. 41. Connection migration Everything encrypted Header compression Stream multiplexing Binary framing HTTP/3
  42. 42. Wi-Fi/Mobile HTTP TCP IP TLS UDP QUIC HTTP on QUICHTTP/3
  43. 43. Summary
  44. 44. HTTP/1 HTTP/2 HTTP/3 ...
  45. 45. ✔ Reducing latency ✔ No head of line blocking ✘ Complexity
  46. 46. 47% HTTP/2
  47. 47. HTTP/2
  48. 48. HTTP/2
  49. 49. HTTP/3
  50. 50. Run live experiments

×