What Happens When You Type a URL and Press Enter
DNS lookups, TCP and TLS handshakes, HTTP requests, servers, and the browser's rendering pipeline. The whole journey of a web page, explained so it finally clicks.
Read →What actually happens when a browser shows the padlock, how certificates prove identity, why free certificates are just as secure, and how to fix mixed content and expiry problems.
Every site should run on HTTPS. That much is common knowledge. What's less common is understanding what HTTPS protects, how certificates work, and what to do when the padlock disappears. A little understanding goes a long way here, because certificate problems tend to show up at the worst possible time.
HTTPS is HTTP sent over an encrypted TLS connection. (SSL is the older, retired predecessor; people still say "SSL certificate" out of habit.) It provides three guarantees:
yoursite.com, not an impostor.What it doesn't do: protect against bugs in your app, a compromised server or a malicious site that also has a valid certificate. The padlock means "private connection to this domain," not "this site is trustworthy."
When a browser connects:
Modern TLS 1.3 does this in a single round trip, so HTTPS adds very little overhead today.
A certificate binds a domain name to a public key, and it's signed by a certificate authority (CA). Browsers ship with a list of trusted CAs. If a trusted CA signed your certificate, browsers trust it.
Certificate types you'll see:
*.example.com.Free certificates are just as secure. Let's Encrypt and similar CAs issue DV certificates for free, using the same encryption as paid ones. Most hosting platforms issue and renew them automatically, with zero effort from you.
Certificate lifetimes are short (Let's Encrypt certificates last months, not years, and the industry is moving toward even shorter lifetimes), so automated renewal isn't optional. Check that a renewal timer or cron job exists and test it with a dry run.
Strict-Transport-Security) so browsers only ever use HTTPS for your domain, even if someone types http://. Start with a short max-age, then increase it.http:// triggers warnings or blocked resources. Update URLs to https:// or make them relative. Browser DevTools lists every offender in the console.Secure so they're never sent over plain HTTP. (Security checklist.)| Error | Usual cause |
|---|---|
| Certificate expired | Auto-renewal failed or isn't configured |
| Name mismatch | Certificate doesn't cover this hostname (often www vs apex) |
| Incomplete chain | Server isn't sending the intermediate certificate |
| Self-signed / untrusted | A development certificate made it to production |
| Works in browser, fails in curl or code | Missing intermediate certificate; browsers sometimes fill the gap, other clients don't |
Online SSL checkers analyse your configuration and highlight chain problems, weak settings and upcoming expiry. Set up an uptime monitor that also alerts on certificate expiry, so you hear about it weeks before your users do.
You can test HTTPS-only features (secure cookies, service workers, some browser APIs) locally. Tools like mkcert create a locally trusted certificate for localhost in one command, and many frameworks have an --experimental-https style flag or plugin.
TLS is the modern successor to SSL. All current HTTPS uses TLS; "SSL certificate" is just the name that stuck.
Yes. Free DV certificates from authorities like Let's Encrypt use the same encryption as paid DV certificates. Paid certificates mostly add support, warranties or organisation validation.
Usually mixed content (resources loaded over HTTP), an expired certificate, or a certificate that doesn't cover the exact hostname you're visiting.
DNS lookups, TCP and TLS handshakes, HTTP requests, servers, and the browser's rendering pipeline. The whole journey of a web page, explained so it finally clicks.
Read →There are dozens of HTTP status codes, but about fifteen cover nearly everything. What each one means, when to return it, and the mix-ups (401 vs 403, 301 vs 302) that confuse everyone.
Read →A, AAAA, CNAME, MX, TXT and NS records in plain English, why DNS changes seem slow, and the troubleshooting commands that tell you what is really going on.
Read →