Why the Handshake Happens Before Any Data Loads
This entire negotiation happens before your browser requests the actual webpage, which is why a slow or failing handshake β due to an expired certificate, an unsupported cipher suite, or network issues β can make a site fail to load even though the server itself is running fine. Browser 'connection is not private' warnings are almost always a handshake-stage failure, not a problem with the page content itself.
Public-Key vs. Symmetric Encryption in One Handshake
The handshake actually uses two different kinds of cryptography for two different jobs: slower but more secure public-key encryption to safely exchange the initial secret without anyone eavesdropping, and then fast symmetric encryption using the resulting session key for the actual data transfer, since symmetric encryption is far more efficient for the large volume of data an ordinary web session carries.
Frequently Asked Questions
Why did TLS 1.3 remove a round trip compared to TLS 1.2?
TLS 1.3 simplified the handshake by having the client propose a specific key-exchange method upfront, letting the server respond with everything needed to finish the handshake in a single round trip instead of two.
Does a faster handshake actually make a noticeable difference to page load speed?
Yes, especially on high-latency connections like mobile networks β since a full round trip can take anywhere from tens to hundreds of milliseconds, cutting the handshake from two round trips to one (or zero, on a resumed connection) measurably speeds up how quickly a secure page starts loading.