HTTPS is HTTP inside an encrypted, authenticated tunnel called TLS. (SSL was the earlier name; everyone still says it, but SSL itself has been obsolete since 2015.) Every site should use it, most already do, and it is worth understanding what it actually guarantees — and what it does not.
What TLS gives you
Three things, together:
- Encryption — nobody between the browser and the server can read the traffic. On coffee-shop Wi-Fi, that is the difference between a stranger seeing your password or seeing noise.
- Integrity — the traffic cannot be altered in transit. ISPs used to inject ads into plain HTTP pages; TLS makes that impossible.
- Authentication — the browser can verify it is talking to the real
example.com, not an impostor on the same network.
The certificate is what provides the third. The first two come from the handshake.
The handshake, briefly
When a browser connects, the server sends its certificate. The browser checks that the certificate is for this domain, has not expired, and is signed by a Certificate Authority (CA) the browser trusts. Then the two sides agree an encryption key using maths (Diffie-Hellman) that lets them share a secret over an open line. From that point everything is encrypted with that key. The whole exchange takes one or two round trips — a few tens of milliseconds — and TLS 1.3 made it faster.
What a certificate contains
A domain name (or several, or a wildcard *.example.com), a public key, a validity period, and a signature from a CA. The server holds the matching private key. The CA's signature is the trust: browsers ship with a list of about 150 CAs they trust, and any certificate signed by one of them is accepted.
DV, OV, EV
Domain Validated — the CA checked you control the domain (by a file on the site or a DNS record). Issued in seconds, free from Let's Encrypt. This is what 95% of sites use.
Organisation Validated — the CA also checked the company exists and matches. Takes days, costs money, and the browser shows nothing different to visitors.
Extended Validation — a deeper check of the company. Browsers used to show a green bar with the company name; they removed it in 2019 after research showed nobody noticed. EV now shows the same padlock as a free DV certificate.
For a business website, DV is the right choice. OV/EV are relevant only where a policy or auditor requires them.
Let's Encrypt
A non-profit CA that issues free DV certificates, valid 90 days, renewed automatically by software on the server. It issues more than half the certificates on the web. Every VPSPioneer plan uses it; the setup is in install a free SSL certificate in Plesk. Paid DV certificates from other CAs offer nothing over Let's Encrypt except a longer validity, which is a disadvantage for security.
What the padlock does not mean
The padlock says the connection to this domain is encrypted and the domain is this domain. It says nothing about whether the site is honest. Phishing sites have padlocks; getting a certificate for paypa1-login.com takes the same ten seconds as any other domain. Browsers stopped showing the padlock prominently for this reason. A padlock means "your traffic is private", not "this site is safe".
Checking a site
curl -vI https://example.com 2>&1 | grep -E "subject|issuer|expire|SSL connection"
openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null | openssl x509 -noout -dates -subjectFor a full report — protocol versions, cipher strength, known weaknesses — the Qualys SSL Labs test is the standard. Aim for an A; anything supporting TLS 1.0/1.1 or SSL 3 should be turned off.
Things that go wrong
- Expired certificate — the site shows a full-page warning. Auto-renewal failed, usually because DNS moved or port 80 was blocked. The most common HTTPS outage by far.
- Mixed content — the page is HTTPS but loads an image or script over HTTP; the browser blocks or warns. Search the code for
http://and use relative orhttps://URLs. - Wrong name — certificate for
example.comserved onwww.example.com. Include both names when issuing. - Missing intermediate — works in Chrome, fails on Android or in curl. The server must send the CA's intermediate certificate along with its own; Let's Encrypt tooling does this automatically.
- No redirect — the site works on both HTTP and HTTPS, so search engines see two copies. Add the 301 redirect.
HSTS
A header (Strict-Transport-Security) that tells browsers "only ever connect to this site over HTTPS, for the next year". It closes the window where a first visit over HTTP could be intercepted. Add it once the redirect works and you are sure every subdomain supports HTTPS. It is part of the hardening we do on every server.