Bird
Raised Fist0
HLDsystem_design~12 mins

HTTP and HTTPS in HLD - Architecture Diagram

Choose your learning style10 modes available
System Overview - HTTP and HTTPS

This system explains how HTTP and HTTPS protocols work to deliver web content securely and efficiently. HTTP is the basic protocol for web communication, while HTTPS adds encryption to protect data during transfer.

Key requirements include secure data transmission, fast response times, and compatibility with web browsers and servers.

Architecture Diagram
Internet
↓
Load Balancer
↓
Web Server
↓
Application Server
↓
Cache
↓
Database
Components
User
client
Sends HTTP or HTTPS requests using a web browser
Internet
network
Transports requests and responses between user and servers
Load Balancer
load_balancer
Distributes incoming requests evenly across web servers
Web Server
service
Handles HTTP/HTTPS requests, terminates TLS for HTTPS, and serves static content
Application Server
service
Processes business logic and dynamic content generation
Cache
cache
Stores frequently accessed data to reduce database load and improve response time
Database
database
Stores persistent application data
Request Flow - 10 Hops
User → Load Balancer
Load Balancer → Web Server
Web Server → Application Server
Application Server → Cache
Cache → Application Server
Application Server → Database
Database → Application Server
Application Server → Web Server
Web Server → Load Balancer
Load Balancer → User
Failure Scenario
Component Fails:Load Balancer
Impact:All incoming user requests fail to reach web servers, causing complete service outage
Mitigation:Use multiple load balancers with failover and health checks to ensure availability
Architecture Quiz - 3 Questions
Test your understanding
Which component is responsible for encrypting and decrypting HTTPS traffic?
ALoad Balancer
BWeb Server
CApplication Server
DCache
Design Principle
This architecture demonstrates secure web communication by using HTTPS with TLS termination at the web server, combined with load balancing for scalability and caching to improve performance. It separates concerns clearly and ensures data protection during transmission.

Practice

(1/5)
1. What is the main difference between HTTP and HTTPS?
easy
A. HTTPS encrypts data while HTTP does not
B. HTTP encrypts data while HTTPS does not
C. HTTP is faster because it uses encryption
D. HTTPS does not use any encryption

Solution

  1. Step 1: Understand HTTP basics

    HTTP transfers data without encryption, so data can be seen by others.
  2. Step 2: Understand HTTPS encryption

    HTTPS adds encryption to protect data from being read by others during transfer.
  3. Final Answer:

    HTTPS encrypts data while HTTP does not -> Option A
  4. Quick Check:

    Encryption = HTTPS [OK]
Hint: HTTPS always means encrypted data transfer [OK]
Common Mistakes:
  • Thinking HTTP encrypts data
  • Believing HTTPS is slower because of encryption
  • Confusing HTTP and HTTPS roles
2. Which URL prefix indicates a secure connection using HTTPS?
easy
A. http://
B. https://
C. ftp://
D. file://

Solution

  1. Step 1: Identify URL prefixes

    URLs starting with http:// use HTTP, which is not secure.
  2. Step 2: Recognize HTTPS prefix

    URLs starting with https:// use HTTPS, which is secure and encrypted.
  3. Final Answer:

    https:// -> Option B
  4. Quick Check:

    Secure URL prefix = https:// [OK]
Hint: Secure URLs start with https:// [OK]
Common Mistakes:
  • Choosing http:// as secure
  • Confusing ftp:// with HTTPS
  • Not recognizing URL prefixes
3. Consider this simplified request flow for a website:
1. Client sends HTTP request
2. Server responds with redirect to HTTPS URL
3. Client sends HTTPS request
4. Server sends secure response
What is the main purpose of step 2 in this flow?
medium
A. To encrypt data before sending it
B. To send the website content unencrypted
C. To close the connection immediately
D. To tell the client to use a secure connection

Solution

  1. Step 1: Analyze step 2 action

    Server sends a redirect response telling client to change URL to HTTPS.
  2. Step 2: Understand redirect purpose

    This redirect forces client to use a secure encrypted connection for next request.
  3. Final Answer:

    To tell the client to use a secure connection -> Option D
  4. Quick Check:

    Redirect to HTTPS = secure connection [OK]
Hint: Redirects to HTTPS enforce secure connections [OK]
Common Mistakes:
  • Thinking redirect encrypts data itself
  • Believing redirect closes connection
  • Confusing redirect with content delivery
4. A developer wrote this code snippet to check if a URL uses HTTPS:
if url.startswith('http://'):
    print('Secure connection')
else:
    print('Not secure')
What is the error in this code?
medium
A. It should check for 'https://' to confirm security
B. The print statements are reversed
C. The method 'startswith' does not exist
D. It should use 'http://' to confirm security

Solution

  1. Step 1: Understand the check logic

    The code checks if URL starts with 'http://', then says 'Secure connection'.
  2. Step 2: Identify correct prefix for security

    Only URLs starting with 'https://' are secure, so the check is wrong.
  3. Final Answer:

    It should check for 'https://' to confirm security -> Option A
  4. Quick Check:

    Check 'https://' for security [OK]
Hint: Check for 'https://' prefix to confirm security [OK]
Common Mistakes:
  • Confusing 'http://' as secure
  • Reversing print messages
  • Using non-existent string methods
5. You are designing a web service that must protect user data and build trust. Which approach best ensures secure communication and user confidence?
hard
A. Use HTTP and encrypt data manually in the application layer
B. Use HTTP for faster data transfer and add a login page
C. Use HTTPS with a valid SSL certificate and redirect all HTTP requests to HTTPS
D. Use HTTPS only on the login page and HTTP elsewhere

Solution

  1. Step 1: Identify security needs

    Protecting user data requires encryption for all communication, not just parts.
  2. Step 2: Evaluate options for secure design

    Using HTTPS with a valid SSL certificate and redirecting HTTP to HTTPS ensures all data is encrypted and users see trust indicators.
  3. Final Answer:

    Use HTTPS with a valid SSL certificate and redirect all HTTP requests to HTTPS -> Option C
  4. Quick Check:

    Full HTTPS with redirect = best security [OK]
Hint: Always redirect HTTP to HTTPS with valid SSL for trust [OK]
Common Mistakes:
  • Using HTTP for speed over security
  • Encrypting only parts of communication
  • Mixing HTTP and HTTPS causing confusion
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard