What goes behind a websearch?
Marcos Pimienta
Software Engineer | DevOps | Cloud Engineer #JavaScript #Kubernetes #Docker #Python #GCP #AWS #NodeJS
Hello reader!!! it is my pleasure to break down this technical concept, I hope you enjoy this tech learning trip.
So you just heard that there is a school that disrupts the education model, called "Holberton" then you want to know more information about this place, and you suddenly know that their official website is "www.holbertonschool.com" so the first place where you start looking for this website is:
BROWSER:
"A web browser takes you anywhere on the internet, letting you see text, images and video from anywhere in the world."
Is just an application installed on your device, that will allow you to look for information on the world wide web.
So this thing receives your request for "www.holbertonschool.com" and checks if it has that information, if it does not have that information, knocks on the OS(Operating System) door.
OPERATING SYSTEM:
"An operating system is the most important software that runs on a computer. It manages the computer's memory and processes, as well as all of its software and hardware. It also allows you to communicate with the computer without knowing how to speak the computer's language. Without an operating system, a computer is useless."
The browser asks the OS if it has the required information, if it does not have it, the OS asks the resolver.
DNS RESOLVER:
"A DNS resolver, also called a recursive resolver, is a server designed to receive DNS queries from web browsers and other applications."
DNS stands for Domain Name System, usually the resolver is your ISP(Internet Service Provider) which will take the request and looks for it on its cache memory, if it does not find it there, then asks the DNS Root.
DNS ROOT:
This guy operates in the root zone. These servers do not have the information requested, but it can point out queries directly for records stored or cached within the root zone, there are around 13 on the globe and they can also refer other requests to the appropriate top level domain server.
TOP LEVEL DOMAIN SERVER:
We are almost there! bare with me for around 35 seconds more, the top level domain server is the one in charge of keeping the information for all domain names that share a common domain extension, such as .com, .net, or whatever comes after the last dot in a url. For example, a .com top level nameserver contains information for all websites ending in ".com", but the information requested is not available yet, because what the TLD does, is to forward the request to the authorative name server.
AUTHORATIVE NAME SERVER:
This is the last step to get the right IP address, thats right, we where just looking out for an IP address, because there are millions of them and humans are not good remembering numbers, so if the requirements are met for this server, it will provide the right IP address of where the information for "www.holbertonschool.com" is stored.
Once the IP address is known, it goes to the webserver, this is where all the static content is stored, the requested data goes back through the same route, and every server that did not have the information, will store the ip address on cache memory, just in case that anyone asks for the same information again.
With the IP address now in power, the browser can perform the request with the specified protocol to the server where the ".html" files are going to be stored which is the webserver.
HTTP & HTTPS:
Hypertext Transfer Protocol Secure, means that the sent data has been encrypted and is aiming to land at port 443, which believe me, that is another article I could spent quite some time on it.
Once the requested information comes back to the browser, the broswer will interpret all the .html files so it can display some nice graphic into your screen, the business logic might be stored in what is called an app server, the database which is a collection of data that is easy to manipulate is stored on a different dependency, and the sourcecode will be kept in the code base, all of this you can find it with the same IP address that was given by the authorative name server.
Software Developer & Mechanical Engineer
4 年Great job Marcos!