System Design Fundamentals
Vote

0% completed

HTTP vs. HTTPS

HTTP

HTTPS

Side by Side

Why HTTPS Won

HTTP stands for HyperText Transfer Protocol. It is the protocol that moves data around the web. When you type a website address into your browser, HTTP is what fetches the page and brings it back.

HTTPS stands for HyperText Transfer Protocol Secure. It is HTTP with a security layer added.

The two are the same protocol doing the same job. The difference is entirely about what happens to the data on the way.

HTTP

It is stateless. Each request from a client to a server stands on its own. The server keeps no session information between requests.

It is text-based. Data travels in plain text, readable by people and machines alike. That is convenient to debug, and it is also the problem.

It uses port 80 by default.

For a public blog with no login and nothing personal being typed in, HTTP is enough. Nothing on the wire is worth protecting.

HTTPS

HTTPS wraps the same protocol in SSL/TLS, and that gives three things at once.

Encryption. The data is encrypted, so anything intercepted along the way is unreadable. This is the part everyone knows.

Authentication. It verifies that the site you are connecting to is really that site. Without it, something in the middle can pretend to be the server and read everything you send, which is a man-in-the-middle attack.

Data integrity. It ensures the data has not been tampered with in transit.

It uses port 443 by default.

The moment a user enters a password, a card number, or bank details, HTTPS stops being optional.

Over HTTP the data crosses the network readable by anyone on the path, and over HTTPS it is encrypted end to end
Over HTTP the data crosses the network readable by anyone on the path, and over HTTPS it is encrypted end to end

Side by Side

HTTPHTTPS
SecurityNone, plain textEncrypted with SSL/TLS
Port80443
PerformanceSlightly faster, no encryption workSlightly slower, encryption costs something
Search rankingLowerHigher
FitsNon-sensitive contentAnything sensitive

Why HTTPS Won

Encryption is the obvious reason, but three others pushed it from optional to standard.

Trust. Browsers show a padlock icon for a secure connection, and people read that as a signal. A site without it reads as careless.

Search ranking. Search engines rank secure sites higher, so HTTPS affects how easily a site is found.

Compliance. Many regulations require user data to be protected in transit, which makes HTTPS a requirement rather than a preference.

SSL/TLS gives encryption so the data cannot be read, authentication so the server is who it claims to be, and integrity so the data cannot be altered
SSL/TLS gives encryption so the data cannot be read, authentication so the server is who it claims to be, and integrity so the data cannot be altered

Notice that authentication is doing work encryption alone cannot. Encrypting a conversation with an impostor protects nothing.

💡 If you are asked why a service uses HTTPS internally, between its own machines, the answer is not "for the padlock." It is that you cannot assume the network between two of your own servers is private, and authentication stops one service from being impersonated to another.

Key takeaway: HTTP is the plain protocol of the web: stateless, text-based, port 80. HTTPS is the same protocol wrapped in SSL/TLS, on port 443, which adds encryption so intercepted data is unreadable, authentication so you know the server is genuine, and integrity so the data cannot be altered. HTTPS costs a little performance and buys security, user trust, better search ranking, and compliance.

The next lesson, TCP vs. UDP, goes one layer down, to the protocols that actually carry these messages.

Reading Progress

0%


Vote for new content

On This Page

HTTP

HTTPS

Side by Side

Why HTTPS Won