Understanding HTTP for Backend Engineers : Part 1

By Pradyumna Chippigiri

October 26, 2025


Every time we open an app or make an API call, we are dealing with the HTTP protocol, which powers the internet invisibly.


Knowing and learning about this protocol is the most fundamental part for any backend engineer. And it has a lot of layers to it. So I’ll be covering it in multiple parts. Please follow along as we explore piece by piece.

The Client–Server Model


Let’s start by understanding what a client is and what a server is.


Client-Server Model

In a client server model, its the client that initiates the communication by sending a request, and the server sending the requested information.

So the question might arise as to how the client actually sends the request to the server and how the server responds with the data to the client. This is where HTTP (Hyper Text Transfer Protocol) comes in.

HTTP Protocol


So this is a protocol which defines how clients and servers talk to each other. HTTP protocol defines a set of rules as to how messages are sent and recieved over the web between clients and servers.


A HTTP request has 3 main parts:

HTTP Request Structure


A HTTP response also has a structure:

HTTP Response Structure

Now you might be wondering, What exactly are these HTTP versions and which one are we using today?

HTTP Versions


Evolution of HTTP


HTTP Cycle

HTTP Request Response Cycle


Now that we understand clients, servers, and the protocol itself, let’s look at how a complete HTTP transaction happens.


When a client sends a request, it travels through multiple layers (DNS lookup, TCP connection, etc.) until it reaches the server. The server then processes that request, performs the necessary logic (like querying a database or validating credentials), and finally sends back a response.


The sequence looks like this:


  1. Client opens a connection to the server (using TCP).
  2. Client sends an HTTP request (method + headers + optional body).
  3. Server receives and processes the request.
  4. Server sends back an HTTP response (status code + headers + optional body).
  5. Connection may stay open (persistent) or close after completion.

In the next post, we’ll dive into different HTTP methods, status codes, and Request and Response headers in detail.


Thanks for reading and feel free to share this with fellow backend engineers.

→ Read Part 2: HTTP Methods, Status Codes & Headers