
From Claude with some prompting
HTTP: HTTP uses text-based HTML with a head and body structure. HTTP/1.1 introduced Keep-Alive for maintaining TCP connections, but suffers from header overhead and Head-of-Line Blocking issues. Servers cannot push data without a client request.
HTTP/2: HTTP/2 introduced binary framing to improve performance. It enhances efficiency through header compression and multiplexing, and added server push functionality. It also strengthened authentication and encryption using TLS/SSL.
HTTP/3: HTTP/3 operates over the QUIC protocol using UDP instead of TCP. It includes TLS 1.3 by default and provides lower latency and improved multiplexing. HTTP/3 significantly enhances performance through 0-RTT connection establishment, elimination of TCP handshakes, and solving Head-of-Line Blocking issues. It also offers reliable data streams over UDP and ensures data ordering on each stream.
