Skip to main content

Command Palette

Search for a command to run...

πŸš€ Backend Jargons Made Simple (Beginner-Friendly Guide)

Updated
β€’5 min read
πŸš€ Backend Jargons Made Simple (Beginner-Friendly Guide)
P
Aspiring Software Developer | Learning DSA & Web Development | Sharing my journey and building in public

When I started learning backend development, I kept hearing terms like protocols, databases, HTTP, and pub-sub. At first, they sounded complicated β€” but once I broke them down, everything started to make sense.

In this blog, I’ll explain these backend fundamentals in a simple and practical way.

This is my first blog where I break down backend concepts I recently learned in a simple way. I’ve been learning these concepts by following the Harkirat Singh youtube channel, especially his full stack roadmap video . His explanations helped me understand how backend systems actually work behind the scenes.


🌐 1. Communication Protocols (How Computers Talk)

For two computers to communicate, they must be connected through a network. But connection alone isn’t enough β€” they also need rules to understand each other.

These rules are called protocols.


πŸ“¦ Types of Protocols

πŸ”Ή Transport Layer Protocols

These control how data is sent between systems.

βœ… TCP (Transmission Control Protocol)

  • Reliable and ordered communication

  • Ensures all data reaches correctly

Example: When you open a website, TCP ensures all files (HTML, CSS, JS) are received properly.

⚑ UDP (User Datagram Protocol)

  • Faster but less reliable

  • No guarantee of delivery

Example: Used in video streaming or online gaming where speed matters more than accuracy.


πŸ”Ή Application Layer Protocol

🌍 HTTP (HyperText Transfer Protocol)

  • Used by browsers to communicate with servers

  • Works on top of TCP

Example Flow:

  1. You type google.com

  2. Browser sends an HTTP request

  3. Server responds with data (HTML page)

  4. Browser renders it


πŸ—„οΈ 2. Databases (Where Data Lives)

Backend applications deal with a lot of data β€” users, passwords, posts, etc.

Storing all this directly in backend code is inefficient and slow.

πŸ‘‰ So we use databases β€” a separate system designed to store and manage data efficiently.


πŸ“Š Types of Databases

πŸ”Ή SQL Databases (Structured)

  • MySQL

  • PostgreSQL

Data stored in tables (rows & columns)

Example:

id name email
1 Saga saga@mail.com

πŸ”Ή NoSQL Databases (Flexible)

  • MongoDB

  • Firebase

Data stored as JSON-like objects

Example:

{
  "name": "Saga",
  "email": "saga@mail.com"
}

πŸ”„ How Browser Interacts with Database

Browser never talks directly to the database.

Instead:

Browser β†’ HTTP Request β†’ Backend β†’ Database
                             ↓
                    Fetch / Store Data
                             ↓
Browser ← HTTP Response ← Backend

⚑ Why Databases Are Needed

  • Backend alone becomes slow with large data

  • Databases are optimized for:

    • Fast queries

    • Efficient storage

    • Data security


πŸ“‘ 3. Messaging Systems (Pub/Sub)

As applications grow, direct communication between services becomes messy.

πŸ‘‰ That’s where Pub/Sub (Publish–Subscribe) comes in.


🧠 Concept

  • Publisher β†’ sends message

  • Subscriber β†’ receives message

  • Message Broker β†’ handles communication


πŸ“¦ Example

Imagine an e-commerce app:

  1. User places an order

  2. Order service publishes: "Order Created"

Now multiple services can react:

  • Payment service β†’ processes payment

  • Email service β†’ sends confirmation

  • Delivery service β†’ starts shipping

πŸ‘‰ All this happens without direct connection between services


⚑ Why Pub/Sub?

  • Loose coupling (services don’t depend on each other)

  • Scalable systems

  • Better performance


πŸ—οΈ 4. HTTP Server Architecture

Now let’s connect everything together.


🌐 Request Flow

Browser β†’ HTTP Server

The browser sends:

πŸ”Ή URL / Route

Example:

/users
/login

πŸ”Ή HTTP Methods

  • GET β†’ Fetch data

  • POST β†’ Send data

  • PUT β†’ Update data

  • DELETE β†’ Remove data


πŸ”Ή Headers

Extra information about request

Example:

Content-Type: application/json
Authorization: Bearer token

πŸ”Ή Query Parameters

Used to send small data in URL

Example:

/users?page=2&limit=10

πŸ“„ Pagination (Important Concept)

When there is a large amount of data, we don’t send everything at once.

πŸ‘‰ Instead, we send it in parts.

Example:

/products?page=1&limit=10
  • page=1 β†’ first set of data

  • limit=10 β†’ number of items per request


πŸ”Ή Request Body

Used in POST/PUT requests

Example:

{
  "email": "test@gmail.com",
  "password": "123"
}

πŸ”Ή Cookies

Used to store small data like:

  • Login sessions

  • User preferences


πŸ“€ Server Response

After processing, server sends response back.


πŸ”Ή Status Codes

  • 200 β†’ Success

  • 201 β†’ Created

  • 403 β†’ Forbidden

  • 404 β†’ Not Found


πŸ”Ή Response Types

πŸ“„ Text

Hello World

πŸ“¦ JSON

{
  "message": "Success"
}

🌐 HTML

Used to render web pages


πŸ”Ή Response Headers

Provide metadata about response

Example:

Content-Type: application/json

πŸ” Full Cycle Summary

Browser β†’ HTTP Request β†’ Server β†’ Database
                                 ↓
                         Process Data
                                 ↓
Browser ← HTTP Response ← Server

πŸš€ Final Thoughts

Understanding backend jargon is the first step toward becoming a solid developer.

  • Protocols β†’ define communication rules

  • Databases β†’ manage data efficiently

  • Pub/Sub β†’ handles large-scale communication

  • HTTP β†’ connects everything together

Once you understand these concepts, backend development becomes much easier and more logical.


πŸ”œ What’s Next?

Now that I understand the theory, I started implementing it by building an HTTP server from scratch in Node.js.

That’s where things started getting really interesting.


Thanks for reading πŸ™Œ