1. Verbose request
curl -v prints the request and response, including which HTTP version was negotiated.
curl -v https://example.comTyporithm · medium
Step 1 of 8 · intro card
L7 & TLS
HTTP/1.1 sends one request at a time per connection (head-of-line blocking). HTTP/2 multiplexes many streams over one TCP connection with header compression. HTTP/3 runs over QUIC (on UDP) to remove TCP head-of-line blocking and speed up connection setup.
HTTP/1.1 handles one request per connection at a time. A slow response blocks the others behind it on that connection — head-of-line blocking — so browsers open several connections per host to work around it.
HTTP/2 multiplexes many independent streams over a single TCP connection and compresses headers (HPACK), cutting overhead. But because all streams share one TCP connection, a lost TCP packet still stalls every stream until it is retransmitted.
HTTP/3 runs over QUIC, a transport built on UDP. QUIC gives each stream its own delivery, so one lost packet no longer blocks the others, and it folds the transport and TLS handshakes together for faster connection setup. curl -I fetches headers only.
HTTP/1.1: one request at a time per connection.
HTTP/2: multiplexed streams + header compression over one TCP conn.
HTTP/3: QUIC over UDP removes TCP head-of-line blocking.
curl -v https://example.com
curl --http2 -I https://example.com
curl --http3 -I https://example.com
# HTTP/2: multiplexing over one TCP conn
# HTTP/3: QUIC over UDPConnect each part of the code to the concept before you type.
curl -v prints the request and response, including which HTTP version was negotiated.
curl -v https://example.com--http2 asks for HTTP/2; -I fetches only the response headers.
curl --http2 -I https://example.com--http3 requests HTTP/3, which runs over QUIC on UDP.
curl --http3 -I https://example.comHTTP/2 interleaves many streams over a single TCP connection.
# HTTP/2: multiplexing over one TCP connHTTP/3 swaps TCP for QUIC on UDP to avoid TCP-level head-of-line blocking.
# HTTP/3: QUIC over UDPRead the concept map and follow the code breakdown.
Type the implementation, repair mistakes and work through every recall exercise.
Use the final check without hints; revisit weak concepts in short practice sessions.