What happens when you type holbertonschool.com in your browser and press Enter

Question trap in most interviews because they do not specify which part relate..

Every day is normal visit various Web sites for information, enjoy entertainment, search for products and services or use social networking platforms to keep in touch with friends or family. For most users, access a web page is basically typing an address in the search bar, but actually it is at this point that starts a process ending complex viewing the page in the browser.

Of the URL to the direction IP

when an address is entered into the search bar of the browser, technically called Uniform Resource Locator, that uniquely identifies the entire web page and allows to locate on the Internet.

This URL is composed of several elements, each with a specific function.

URLs of Web pages follow the following schedule:

Internet is a system of hypertext documents stored electronically. To transfer data from a web from the server to the browser, using the so-called Hypertext Transfer Protocol or Hypertext Transfer Protocol (HTTP) And its encrypted variant HTTPS, Secure Protocol or Hypertext Transfer Hypertext Transfer Protocol Secure.

Follow the domain name, the name that identifies a computer on the network, consisting of a top level domain or TLD (Top Level Domain) and second-level domain or SLD (Second Level Domain). This second level domain may still include a third-level domain or subdomain. If along with the URL you want to access a specific directory or a file on a web page, indicate the following domain name.

The representation of the URL with letters, as we know, is aimed at human understanding, because computers work with combinations of numbers, IP addresses calls. Therefore, for a browser to access the contents of a website, it is necessary that the URL of the requested page is converted to an IP address. This so-called DNS servers responsible for managing the domain name system or charge DNS (Domain Name Server).

DNS: The domain name system is a hierarchical naming system for decentralized devices connected to IP networks such as the Internet or a private network. This system wide information associated with domain name assigned to each of the participants, maintains the name of the website (URL) and the IP address it links.

When entering an address in the search bar of a browser, this directs its URL to a router, which is responsible for searching the IP address corresponding to this website. The information needed is provided by a DNS server, special web server responsible for name resolution. To configure the DNS server to be used, it is possible from the router or from the operating system, Although the standard configuration server provides the corresponding ISP. Since the DNS query requires some time, the IP addresses of pages already visited are stored in the DNS cache of the operating system. This kind of buffer allows the stored IP address is available for subsequent visits to the same site, which clears the DNS server and speeds up access to websites.

TCP/IP

Once the browser receives the correct IP address it will build a TCP connection with the server that matches the IP address to transfer information

The user’s web browser can now follow HTTPS protocol and send a GET request to the server at domain.com’s corresponding IP address, what brings us to

The router:

This function performs intermediate link is required because the router, although the devices on the local network communicate with each other with local IP addresses, outwards share the public IP address of the router. The translation process of network addresses or Network Adress Translation (NAT) performed by the router ya no es necesario en las modernas conexiones Ipv6, as each local network device receives a public IP address.

Data transfer via HTTP

Once the router has found the IP address of the requested page, asks the web server corresponding data required to display the page in the browser. This consultation takes place via HTTP in the form of a data packet containing all the information that the web server needs to deliver data from the website.

the router communicates its own IP address as sender and provides information about the operating system, the browser and type of device you have to show the website.

The web server evaluates this information and issues an HTTP status code. If the request succeeds, the server sends a data packet to the browser with all the information necessary for displaying the web page. If, on the other hand, the server does not find the website at the requested address or emits an error code 404 (web page not found) or redirected to the new address if known.

Servers can include one multiple servers at once, each encargdo a different role, helping to provide security, speed, allowing more users connected, and secure databases.

Usually we find these servers

Load Balancer

When you have a single server handling all client requests, a large volume of traffic may overwork the server and cause delays /connection issues.

Having a load balancer means workload can be distributed across different servers using different algorithms to keep the server and the service health

Web Server

Supply web content for web browsers; what the browser requests, the webserver delivers through Internet network connections

Application servers

Host and execute applications and can be used to communicate and extract data from a database

And these server You can be configured with Firewall and SSL protocols

SSL/TLS

SSL is a security protocol that establishes a secure encrypted connection between a client and server, For this to work, both the browser and the server need SSL Certificates.

Firewall

Firewall can be configured in different points of the process and use the information provided by packets to filter what permeates through in our out of the servers

Database

A database is a data repository that stores information that might be accessed by SQL queries. After retrieving the information from the database, it will reply to the browser in this case with Holberton homepage