Skip to main content

HTTP

Hypertext Transfer Protocol

Resources

  • HTTP/2 Explained | Daniel Stenberg
    • Explaining the transition from HTTP/1 to HTTP/2, by the creator of curl
    • From the problems of HTTP/1, potential solutions, SPDY, concepts and changes, critiques, etc.
  • HTTP/3 Explained | Daniel Stenberg
    • Explaining the transition from HTTP/2 to HTTP/3, by the creator of curl
    • From head of line blocking in TCP, to using QUIC and UDP, pros and cons of HTTP/3
    • Features like connections, streams, 0-RTT, spin bits, etc.
  • HTTP/2 and HTTP/3 explained
    • HTTP/1.1: persistent TCP connections, Host, header conventions
    • HTTP/2: streams and frames for multiplexing many messages in a TCP packet
    • HTTP/3: solving TCP head-of-line blocking with UDP, moving integrity from transport layer to the application layer, designed for unstable connections
  • HTTP/3 | http.dev
    • Changes explained: congestion control, session resumption, connection migration, etc.
  • Y'all are sleeping on HTTP/3
    • HTTP/3 and QUIC adoption is fast, where major browsers, cloud providers and load balancers support it
    • Benefits: faster connection, 0-RTT resumption, multiplexing
    • UDP is unreliable but QUIC build the same guarantees on top without the limitation of TCP
  • Original RFCs:
  • How does browser know which version of HTTP it should use when sending a request?
    • HTTP/2: A TLS feature called ALPN to list supported protocol during TLS handshake
    • HTTP/3: HTTP/2 initially, Alt-Svc response header from server listing h3 and the UDP/QUIC port, client upgrade to new UDP/QUIC port and close the original h1.x or h2 TCP connection