2026-02-18|Encryption

HTTPS Explained: How SSL/TLS Secures Your Web Traffic

What is HTTPS?

HTTPS (Hypertext Transfer Protocol Secure) is the secure version of HTTP. It encrypts the communication between your browser and the web server, ensuring that data cannot be intercepted or tampered with during transit.

How HTTPS Works

When you visit an HTTPS website, the following happens:

  1. TLS Handshake: Your browser connects to the server and they agree on encryption methods
  2. Certificate Verification: The server sends its SSL/TLS certificate, which your browser verifies against trusted Certificate Authorities
  3. Key Exchange: A shared session key is established using asymmetric encryption
  4. Encrypted Communication: All subsequent data is encrypted with the session key
Browser                            Server
  |---- ClientHello --------------->|
  |<--- ServerHello + Certificate --|
  |---- Key Exchange ------------->|
  |<=== Encrypted Data ===========>|

SSL/TLS Certificates

SSL/TLS certificates verify the identity of a website. There are three main types:

Domain Validation (DV)

  • Validates domain ownership only
  • Quick and free (e.g., Let's Encrypt)
  • Suitable for blogs and small sites

Organization Validation (OV)

  • Validates organization identity
  • Issued after manual verification
  • Suitable for business websites

Extended Validation (EV)

  • Highest level of validation
  • Includes thorough background checks
  • Used by banks and large enterprises

Certificate Authority (CA)

A Certificate Authority is a trusted entity that issues digital certificates. Browsers maintain a list of trusted CAs. Let's Encrypt provides free certificates and has made HTTPS accessible to everyone.

Mixed Content

Mixed content occurs when an HTTPS page loads resources over HTTP:

  • Passive content: Images, fonts, audio (lower risk)
  • Active content: Scripts, iframes, XHR (high security risk)

Modern browsers block active mixed content by default. Always ensure all resources use HTTPS.

HSTS (HTTP Strict Transport Security)

HSTS tells browsers to only connect via HTTPS:

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

This prevents downgrade attacks where an attacker forces HTTP connections. Always configure HSTS for production sites.