Skip to main content
Explainer

TLS / HTTPS, in plain English

Every "lock" in your browser bar means: there's a TLS-encrypted tunnel between you and the site, the site proved its identity with a certificate, and an attacker on the wire can see roughly where your traffic is going but not what's in it.

What TLS actually does

The TLS 1.3 handshake

TLS 1.3 (RFC 8446, finalised 2018) cut the handshake from two round trips to one:

  1. ClientHello. Client sends a list of supported cipher suites, key-share values for likely-to-be-chosen groups, and the hostname it wants (the SNI extension).
  2. ServerHello + Certificate + Finished. Server picks a cipher, sends its certificate, derives the session keys, and signals "ready."
  3. Client Finished. Client verifies the certificate chain and derives the same session keys. From this point on, everything is encrypted.

That's one round-trip — handshake done in <100 ms across continents. With 0-RTT session resumption, repeat visits can send application data on the very first packet, at the cost of slightly weaker replay protection.

What's visible on the wire

TLS encrypts content. It does not encrypt all of the metadata. An on-path observer — your ISP, the coffee-shop Wi-Fi router, a state-level firewall — can see:

SNI is the obvious leak. Encrypted Client Hello (ECH) — successor to the earlier ESNI — encrypts SNI so the observer only sees that you're talking to a generic CDN edge IP, not which specific hostname. Cloudflare deployed ECH at scale in 2023; Firefox enabled it in 2024.

Why "the certificate" matters so much

The whole authentication side of TLS rests on a CA having verified that the server operator controls the domain. If a CA mis-issues a cert, the entire trust model breaks. That's why:

Common confusions