QUIC sends TLS handshake messages in CRYPTO frames inside QUIC packets rather than TLS records, and derives packet-protection keys from the TLS key schedule. Initial packets are protected with keys derived from the connection ID, so they are only obfuscated, and a client's first flight must be padded to at least 1,200 bytes, which limits amplification by spoofed sources.
Streams are multiplexed without head-of-line blocking, connections survive IP changes through connection IDs, and handshakes complete in one round trip (0-RTT with resumption). HTTP/3 (RFC 9114) runs on top; browsers discover it through Alt-Svc headers or DNS HTTPS records.
Post-quantum key shares push the client's Initial across more than one packet; QUIC handles that, but some middleboxes and server stacks had to be fixed. JA4 fingerprints mark QUIC handshakes with a leading q.