Loading episodes…
0:00 0:00

HTTPS: More Than Just a Lock Icon

00:00
BACK TO HOME

HTTPS: More Than Just a Lock Icon

Naima May 27, 2026 4 min read

Many people have a superficial understanding of HTTPS: “Oh, it’s just HTTP with a lock icon! That means it’s secure, right?”

But what actually happens behind the scenes?

When you visit a website using plain HTTP, any data exchanged between your browser and the server is sent as plain text. This means anyone in the middle—on the same Wi-Fi network, an ISP, a proxy, or a router—can see everything: passwords, cookies, tokens, and any other data.

This is why HTTPS was created. It’s simply:

HTTP + TLS/SSL

It’s the same HTTP protocol, but layered on top of a security protocol (TLS, the successor to SSL) responsible for Encryption and Authentication.

The TLS Handshake: The Foundation of Trust

The moment you access an HTTPS website, before any actual data is exchanged, a process called the TLS Handshake occurs. This is the most critical part of the entire operation.

  1. Client Hello: Your browser sends a “Client Hello” message, containing information like:
    • The TLS versions it supports.
    • Supported encryption algorithms.
    • Random bytes for session key generation.
  2. Server Hello: The server responds with a “Server Hello” message, choosing:
    • The TLS version to use.
    • The encryption algorithm and cipher suite.
  3. Certificate Exchange: The server then sends its SSL Certificate. This isn’t just a simple file; it’s crucial. It typically contains:
    • The domain name.
    • The server’s Public Key.
    • Information about the organization.
    • Validity dates.
    • A Digital Signature from a trusted Certificate Authority (CA).

Your browser then verifies:

  • Is the certificate valid and not expired?
  • Does the domain in the certificate match the website you’re visiting?
  • Is the Certificate Authority that signed it trusted?

If all checks pass, the connection proceeds.

sequenceDiagram
    participant Browser
    participant Server

    Browser->>Server: Client Hello (TLS versions, ciphers)
    Server->>Browser: Server Hello (Chosen TLS version, cipher)
    Server->>Browser: Certificate (Public Key, Signed by CA)
    Browser->>Browser: Verify Certificate
    Browser->>Server: Client Key Exchange (Encrypted with Public Key)
    Server->>Server: Decrypt Client Key Exchange (with Private Key)
    Browser->>Server: Change Cipher Spec, Finished (Encrypted with Session Key)
    Server->>Browser: Change Cipher Spec, Finished (Encrypted with Session Key)
    note over Browser,Server: Secure Connection Established

The Power of Two: Asymmetric and Symmetric Encryption

HTTPS cleverly uses two types of encryption:

  1. Asymmetric Encryption (Public/Private Key Pair):
    • Relies on two keys: a Public Key and a Private Key.
    • Anything encrypted with the Public Key can only be decrypted with the corresponding Private Key.
    • The browser gets the server’s Public Key from its certificate. It uses this to encrypt a secret (a Session Key) and sends it to the server.
    • Only the server, which holds the Private Key, can decrypt this Session Key.
  2. Symmetric Encryption (Shared Secret Key):
    • Relies on a single, shared key for both encryption and decryption.
    • This is much faster than asymmetric encryption.

Here’s how HTTPS combines them:

  • Asymmetric encryption is used only during the TLS handshake to securely exchange the Session Key.
  • Symmetric encryption is then used for all subsequent data transfer during the connection, using that shared Session Key.

This design provides the best of both worlds: high security for key exchange and high performance for data transfer.

The Three Pillars of HTTPS

Once the handshake is complete, all HTTP data (headers, cookies, body, tokens) is sent encrypted. This achieves three crucial security goals:

  1. Confidentiality: No one can read the data in transit.
  2. Integrity: No one can tamper with or alter the data in transit.
  3. Authentication: You are indeed connected to the genuine website you intended to reach.

This is why your browser displays that reassuring lock icon.

Naima’s Note: In the age of AI, where sensitive personal data, proprietary models, and critical commands are constantly being transmitted, HTTPS is non-negotiable. It’s the baseline for trust. Imagine an AI assistant handling your financial transactions or medical data. Without HTTPS, that data is vulnerable to eavesdropping and tampering. However, it’s vital to remember that HTTPS secures the transport layer. It doesn’t protect against vulnerabilities within the application itself.

HTTPS is Not a Magic Bullet

It’s crucial to understand that HTTPS does NOT mean your application is entirely secure.

HTTPS protects data in transit. It does not protect against:

  • SQL Injection
  • Cross-Site Scripting (XSS)
  • Weak Authorization logic
  • Improperly stored passwords
  • Business logic flaws

If your application has these vulnerabilities, HTTPS won’t solve them. It’s a necessary layer of security, but not a sufficient one.

Understanding the intricacies of HTTPS is fundamental to building robust and trustworthy systems in today’s interconnected world.


Join the 10xdev Community

Subscribe and get 8+ free PDFs that contain detailed roadmaps with recommended learning periods for each programming language or field, along with links to free resources such as books, YouTube tutorials, and courses with certificates.

Audio Interrupted

We lost the audio stream. Retry with shorter sentences?