Skip to content

Instantly share code, notes, and snippets.

@txtyash
Last active June 7, 2025 14:32
Show Gist options
  • Save txtyash/459f0ec9379cf41b8858d76ca17b8a45 to your computer and use it in GitHub Desktop.
Save txtyash/459f0ec9379cf41b8858d76ca17b8a45 to your computer and use it in GitHub Desktop.
Backend development pre-requisites

Backend development pre-requisites

Introduction

This is a gist for backend development for web platforms. Let's take a website for example Google https://google.com. When we visit Google in our browser, we see their landing page with their logo and an input box where we can search whatever we want. The things we see on our screen is the user interface or the frontend. Now when we enter anything in the input box and hit enter, how do we get search results? That's where the backend comes in, it understands our requests and gives us results. That's exactly like communication between two people.

Networking

Although networking is a big topic and hard to understand, we only need to understand one thing to get started: IP addresses. If I had to visit a friend, I would need their address, similarly all electronic devices connected to the Internet have a unique IP address. There are enough IP addresses for all of us. Let's say the IP address 2001:0db8:85a3:0000:0000:8a2e:0370:7334 belongs to a computer that google owns and is responsible for giving us search results. Now all we need is this address to communicate with that computer. But how do we get that address? That's where browsers come in.

Browsers

Before starting with web development we need a basic understanding of how browsers work. When we enter a url like https://google.com in our browser's URL bar, our request goes to a DNS(Domain name server). Think of a DNS like a computer that knows about what IP address belongs to what website. But hwo did we get the IP address for the DNS? That's because our computer already has DNS addresses saved to make requests.

When we entered https://google.com in our browser's URL bar, our browser made an http request to a known DNS which was able to understand that we want the IP address for https://google.com. Then it sent a response to us with Google's IP address because it knew our IP address because we sent a rquest to it. Now using this IP address were able to communicate with Google's computer(server). Now we send a request to Google's server. But what is an http request? What does it look like? Don't worry about it now, it will be introduced later. Now when Google's server sees in our request that the URL is just https://google.com, so it knows that we are wanting to see their landing page. If we had entered something else like https://www.google.com/search/howsearchworks then it would show us another page because the URL looks different. For example, when we enter our search(let's search for "bird pictures") in the input box and hit Enter, then URL looks like https://www.google.com/search?q=bird+pictures. Why is there a question mark now? What's the plus sign? Well the requests we make can be a little different every time. We will understand this later in the http section. For now all we need to know is that we sent everything that was required for Google to give us a result. We also need to understand that Google's server will only be able to give us for valid requests. If we enter https://google.com/doesnotexist in the URL bar then it shows us an error page because it did not have any response to that request. That's like asking your friend who studies psychology about microchips. They would simply say I don't know.

Http

Refer these links in given order. It might be a little overwhelming but that is completely okay. Don't try to memorize. Just read understand and move on because once you start backend development you are going to come across these things often and you'll remember the important things:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment