What happens when you type https://www.holbertonschool.com in your browser and press Enter
A lot of things happen behind when you are exploring the web. I will try to explain in a general way what is happening behind.
First at all, let’s talk about how does Internet work.
Nowadays Internet governs our lives, every possible communication is made through the Internet. In a general way, Internet is a large network of devices (computers, phones, etc) which communicate all together.
When two devices need to communicate they must be linked, either physically (With a Ethernet cable) or wirelessly (WiFi or Bluetooth). Internet connections is manage by special devices called routers, because imagine to connect multiples devices between each other, we will need a lot of cables.
Also we can connect routers with other routers and to manage these connection over long distances we use special devices called modems. Modems use the telephone infrastructure (cables, etc.) and turns the information from our network into information manageable by the telephone infrastructure and vice versa.
To be avaible to navigate trhough the Internet the modem connect our device to our Internet Service Provider (ISP) which manages special routers that are all linked together and can also access other ISP’s router. ISP provides us an IP address: a numerical label (series of four numbers separated by dots, i.e, 127.0.0.1) assigned to each device connected to the Internet that uses Internet Protocol for communication.
A basical Internet schema looks like this:
IP allows us specify which device we want to connected with. That’s perfectly fine for computers, but we human beings have a hard time remembering IP addresses. To make things easier, we can alias an IP address with human readable name called domain name used specially to refer to server’s IP addresses.
A server is a “super” computer which provides different functionalities for other devices, called clients, and it is located in what we typically call data centers. Typicals servers are database servers, file servers, mail servers, print servers, game servers, and application servers. Most of the web content is located in servers.
When we browse the Web with a Web browser, we usually use the domain name to reach a website. But what is a web browser and how does web browser know what IP address must communicate with?
A web browser is a program with graphical user interface (GUI) that display web pages: HTML files, text, images, and other content found on the Internet.
It gets information commonly from servers and this information is transferred using Hypertext Transfer Protocol (HTTP), which defines how this information is transmitted on the web, then, to display this information it uses a piece of software called rendering engine to translate that data into text and images.
We use web browsers like Mozilla Firefox, Google Chrome, Microsoft Edge, Apple Safari, and others to navigate on Internet.
URL vs DOMAIN NAME
URL (Uniform Resource Locator) is the mechanism used by browsers to retrieve any published resource on the web. It is the address of a given unique resource on the web.
URL and domain name are not the same thing, it is necessary to split a URL to understand the differences between both.
ANATOMY OF AN URL
A URL typical looks like this:
- Protocol: The protocol indicates which protocol the browser must use. There are different protocols define on the TCP/IP model, model that provides a set of rules that govern all forms transmission over a network. In this case HTTPS (Hypertext Transfer Protocol Secure) is the protocol used for secure communication. This communication is encrypted by SSL, generally this encrypted communication is ended at load balancer level, due to this most servers haver firewall configuration that rejects some connections.
- Subdomain: The subdomain indicates which domain that is part of the domain is being requested. A website could have different services, as an example we have mail.google.com, docs.google.com, etc, which refer to different services of google.
- Domain: The domain indicates which server is being requested.
- Top Level Domain(TDL): A TLD is the most generic domain in the Internet’s hierarchical DNS (domain name system) and it is managed by ICANN to distinguish differents groups on the Internet like country, general domains, goverment entitites, etc.
Then, to explore the Internet you need to specify the URL in your and here begin all the communication protocols
DNS request is the way how a web browser knows which server communicate with
- First, your browser search for the domain name in a local DNS cache. If the domain name exists in this cache, the name is translated to the IP address and the browser begins the communication with the server through the TCP/IP protocols defined
- If the domain name does not exist in this cache, our computer goes and ask for it in a DNS server, whose job is to translate a domain name into an ip.
Here we can find a fun and colorful explanation about how DNS works.