BRUCE_FEBRUCE_FE

EN/CH Mode

BRUCE_FE Interview Notes - Complete HTTP vs HTTPS Comparison

In-depth analysis of HTTP vs HTTPS differences, including security, encryption mechanisms, TLS handshake process, performance impact, SEO considerations, and practical application scenarios. Master the core network security knowledge that interviewers care about most.

影片縮圖

Lazy to read articles? Then watch videos!

Basic Differences Between HTTP and HTTPS

HTTP and HTTPS are web transmission protocols we use every day when browsing the internet, like 'mail carriers' in the network world, responsible for delivering web content to your browser. The biggest difference between them is like the difference between 'postcards' and 'sealed letters':

FeatureHTTPHTTPS
SecurityPlain text transmission, like postcardsEncrypted transmission, like sealed letters
Default Port80443
URL Prefixhttp://https://
Certificate RequiredNot requiredSSL/TLS certificate required
Connection EstablishmentSimple and directAdditional TLS handshake required
Search RankingLowerGoogle slight bonus
Use CasesDisplay only, non-sensitive contentLogin, payment, form submission

Simply put, HTTPS is HTTP with a lock added. Technically, it's HTTP with an SSL/TLS encryption layer, like putting bulletproof armor on your network communication, providing triple protection: encrypting communication content, verifying website authenticity, and ensuring data integrity during transmission.

HTTP Security Vulnerabilities

Unencrypted HTTP is like talking loudly on the phone in public places, with multiple security risks:

  • 1. Eavesdropping risk: Like writing private messages on postcards in a coffee shop, anyone passing by can see the content
  • 2. Man-in-the-middle attack (MITM): Like a mail carrier who can peek at your letters and modify the content before delivery, without your knowledge
  • 3. Session hijacking: Like someone stealing your access card and impersonating you to enter and exit buildings, with the system unable to distinguish
  • 4. Unable to verify identity: Similar to receiving a call from someone claiming to be from the bank, but you cannot confirm their real identity, possibly a fraud ring
  • 5. Lack of data integrity: Like your package being opened and partially replaced during shipping, and you cannot detect it when received

These risks are like writing your bank card password on a sticky note and posting it on a bulletin board, making HTTP unsuitable for transmitting sensitive data such as passwords, credit card numbers, personal privacy information, etc.

HTTPS Encryption Mechanism

HTTPS uses a hybrid encryption system, like double insurance:

  1. 1. Asymmetric encryption: Like a locked mailbox - anyone can drop letters (public key), but only those with the key can open it (private key)
  2. 2. Symmetric encryption: Like a safe that both parties share a key, fast but requires secure key exchange
  3. 3. Digital certificate (X.509 Certificate/SSL certificate): Similar to government-issued ID, issued by trusted certificate authorities (CA), containing website public key and identity information, proving website authenticity
  4. 4. Digital signature: Like tamper-evident seals, once data is modified, damage marks will show

HTTPS solves three major security problems through this mechanism:

  • 1. Encryption: Data transmission like encrypted letters, even if intercepted, content cannot be read
  • 2. Authentication: Ensures the website you're connecting to is indeed the real website, not a phishing site
  • 3. Data integrity: Ensures data like sealed packages, not tampered with during transport

TLS/SSL Handshake Process Explained

The HTTPS handshake process is the actual operation of the encryption mechanism mentioned earlier, with each step solving specific security vulnerabilities:

  1. 1. Client Hello: 'Hello, I can communicate using these encryption methods' (sending available encryption algorithms)

    → Solves eavesdropping risk, first step in establishing encrypted channel

  2. 2. Server Response: 'This is my ID (digital certificate) and public key' (client obtains server public key from certificate)

    → Solves identity verification problem, provides trusted identity proof

  3. 3. Certificate Verification: Client checks certificate authenticity, confirms public key indeed belongs to target website

    → Prevents man-in-the-middle attacks, ensures connection to real website not phishing site

  4. 4. Key Exchange: Client encrypts a random password with server public key (only server private key can decrypt)

    → Solves eavesdropping risk, ensures key exchange process is not eavesdropped

  5. 5. Generate Shared Key: Both parties generate the same session key based on shared random password

    → Solves session hijacking problem, establishes unique encrypted session

  6. 6. Start Encrypted Communication: Both parties encrypt all subsequent communication with this shared session key

    → Solves lack of data integrity problem, ensures data transmission process is not tampered with

Note: The client never obtains the server's private key, the server private key remains confidential. The public key is used to securely exchange temporary passwords, after which both parties use this password to derive a symmetric encryption session key.

TLS Handshake Diagram

Client                                            Server
   |                                               |
   |               Client Hello                    |
   |---------------------------------------------->|
   |                                               |
   |           Server Hello, Certificate           |
   |<----------------------------------------------|  ← Client obtains server public key
   |                                               |
   |        Client Key Exchange, Finished          |
   |---------------------------------------------->|  ← Encrypt random password with public key
   |                                               |
   |               Server Finished                 |
   |<----------------------------------------------|
   |                                               |
   |         Encrypted Application Data (HTTP Request/Response)           |
   |<--------------------------------------------->|

Can HTTPS be cracked?

HTTPS security is built on multiple layers of protection, like a castle with multiple lines of defense. But we need to understand its security boundaries:

  • 1. Theoretically very secure: The encryption algorithms used by HTTPS are like super complex combination locks, almost impossible to brute force with current computers

    Cracking an HTTPS connection is like digging a mountain with a toothpick, requiring thousands of years

  • 2. Practical weaknesses: Attackers usually don't go head-to-head, but look for system vulnerabilities or configuration errors

    Like thieves don't force open the front door, but look for unclosed windows or back doors

    For example: using outdated SSL versions, misconfigured certificates, weak encryption algorithms, or unpatched server vulnerabilities

  • 3. Man-in-the-middle attacks: In insecure networks (like public WiFi), someone might pretend to be the website you want to connect to

    But modern browsers will warn like security guards, alerting you to potential fraud

  • 4. Certificate trust issues: If the certificate authority (CA) is compromised, it's like the ID card factory being hijacked

    This is why browsers regularly update the list of 'trusted certificate authorities'

  • 5. Endpoint security: Even if the transmission process is secure, if your computer is infected, data can still be stolen

    HTTPS only protects data security on the road, cannot protect security at home

  • 6. Quantum computing threat: Future supercomputers might crack existing encryption methods

    Like ancient city walls encountering modern artillery, so experts are already developing stronger defenses

HTTPS Security Summary

Properly configured HTTPS is secure for current technology. Most 'cracking' actually exploits:

  1. 1. Configuration errors (like forgetting to lock the door or using a rusty lock)
  2. 2. Deception (inducing you to ignore browser security warnings)
  3. 3. Device already compromised (your computer already has spyware)
  4. 4. Legal requirements (government orders companies to provide backdoors)

Overall, HTTPS's encryption system itself is very robust and unlikely to be directly cracked in the foreseeable future. Most security issues come from human errors or device problems, not HTTPS protocol defects.

HTTPS from SEO Perspective

Search engines (especially Google) are increasingly valuing website security, HTTPS has multiple impacts on SEO:

  • 1. Ranking factor: Google clearly states HTTPS is a ranking signal, though with small weight
  • 2. Chrome security warning: Non-HTTPS sites marked as 'Not Secure', may increase bounce rate
  • 3. HTTP/2 requirement: Utilizing HTTP/2 performance improvements requires HTTPS
  • 4. Trust improvement: Secure websites gain more user trust, indirectly improving conversion rates
  • 5. Referrer information: HTTPS to HTTP redirects lose referrer information

From an SEO perspective, migrating to HTTPS is a worthwhile investment strategy that ensures websites don't fall behind in search results due to security issues.

🔥 Common Interview Questions

(1) What's the difference between HTTP and HTTPS?

Answer: The main difference between HTTP and HTTPS lies in security:

HTTP

  • 🔓Plain text - Data transmitted without encryption, vulnerable to theft
  • 🌐Uses port 80
  • Faster - No encryption/decryption overhead
  • Browser marks as 'Not Secure' connection

HTTPS

  • 🔒Encrypted - Data secured via SSL/TLS encryption
  • 🌐Uses port 443
  • 🔑Requires SSL certificate - Provides authentication & encryption
  • SEO friendly - Search engines give higher ranking

Simply put, HTTPS is HTTP plus a security layer, providing triple protection: encrypting communication content, verifying website identity, and ensuring data integrity.

(2) How does HTTPS work and what problems does it solve?

Answer: HTTPS works through a hybrid encryption system:

🔑

Asymmetric encryption: Like a locked mailbox - anyone can drop letters (public key), only those with the key can open it (private key)

🔐

Symmetric encryption: Both parties share a key, fast transmission speed

📜

Digital certificate: Like a website's ID card, issued by trusted authorities (CA)

HTTPS solves three major problems:

👁️

Prevent eavesdropping: Encrypt communication content, even if intercepted cannot be read

🛡️

Identity verification: Ensure connection to real website, not phishing site

Data integrity: Ensure data is not tampered with during transmission