What happens when…

Checha Giudice
4 min readMay 2, 2021

--

you type holbertonschool.com in your browser and press Enter?

Answer: thing happen.

Let’s cover each step that happens behind the curtain.

What’s a DNS request?

A DNS query (also known as a DNS request) is a demand for information sent from a user’s computer (DNS client) to a DNS server. In most cases a DNS request is sent, to ask for the IP address associated with a domain name. An attempt to reach a domain, is actually a DNS client querying the DNS servers to get the IP address, related to that domain.

But, what is an IP? And a Domain name?

Wikipedia says an IP is: “The Internet Protocol (IP) is the principal communications protocol in the Internet protocol suite for relaying datagrams across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet”.

We know that every computer has an IP address which is used for communication over the internet. When we hit any URL, then we are actually hitting the IP address of the computer which is responsible for serving the website content. But It’s hard to remember the IP address of every website. That’s why domain names came into the market. You can relate it to your contact list. You can’t remember every person’s number, but you can remember their name.

Wikipedia also states: “Historically, IP was the connectionless datagram service in the original Transmission Control Program introduced by Vint Cerf and Bob Kahn in 1974, which was complemented by a connection-oriented service that became the basis for the Transmission Control Protocol (TCP). The Internet protocol suite is therefore often referred to as TCP/IP.”

Once the browser (say Google Chrome) receives the correct IP address, it will build a connection with the server that matches the IP address to transfer information.

What’s the Transmission Control Protocol (TCP)?

TCP is the most common protocol used for many types of HTTP requests. The Transmission Control Protocol (TCP) is one of the main protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, the entire suite is commonly referred to as TCP/IP. TCP provides reliable, ordered, and error-checked delivery of a stream of octets (bytes) between applications running on hosts communicating via an IP network.

What about security? FIREWALLS?

Firewalls allow, limit, and block network traffic based on preconfigured rules in the hardware or software, analyzing data packets that request entry to the network.

A firewall is a division between a private network and an external network, often the Internet, that manages the traffic that passes between the two networks. It is implemented through hardware or software. Firewalls allow, limit and block network traffic based on preconfigured rules in the hardware or software, analyzing the data packets that request entry to the network. In addition to limiting access to computers and networks, a firewall is also useful for allowing remote access to a private network through authentication certificates and secure logins.

How do you balance all of the requests made?

Using a Load Balancer, of course. Load balancing refers to the distribution of incoming network traffic across a group of backend servers. A load balancer acts as the “Transit Officer” in front of your servers and routes client requests across all servers to satisfy those requests in a way that maximizes speed and capacity to ensure that no server is overloaded anymore. that saturation could affect performance. If a single server fails, the load balancer redirects traffic to the remaining online servers. When a new server is added to the pool, the load balancer starts integrating it and automatically sends requests to it.

Why does the URL starts with HTTPS? What’s SSL?

HTTPS is a secure extension of HTTP. Websites that install and configure an SSL/TLS certificate can use the HTTPS protocol to establish a secure connection with the server.

SSL is an acronym for Secure Sockets Layer. A type of digital security that allows encrypted communication between a website and a web browser. The technology is currently deprecated and has been replaced entirely by TLS.

What kind of server are you talking about?

A web server is software that delivers web pages. A server is a real computer. It is software and hardware that uses HTTP (Hypertext Transfer Protocol) and other protocols to respond to client requests made via the World Wide Web. The main job of a web server is to display website content by storing, processing, and delivering web pages to users… And I should have talked about it earlier in this blog post, so sorry for that.

There’s also an application server working too.

So, what’s an application server?

An application server is a server that hosts applications. These are system software on which desktop or web applications run. Application servers are used for many purposes. Several examples are listed below:

  • Running web applications
  • Host a hypervisor that manages virtual machines
  • Distribute and monitor software updates
  • Processing of data sent from another server

That’s all really nice, but is all of this saved anywhere?

Let’s talk about databases.

Storing data in your application (in memory) has the obvious shortcoming that, whatever the technology you’re using, your data dies when your server stops. Some programming languages and/or frameworks take it even further by being stateless, which, in the case of an HTTP server, means your data dies at the end of an HTTP request. Whether the technology you’re using is stateless or stateful, you will need to persist your data somewhere. That’s what databases are for.

So, that’s it.

--

--