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

Introduction

Today, everybody uses internet, with their phones, tablet or computer. It seems some even use their tv for this.

Anyways, what happens when you ask for a specific url in your browser (firefox, safari, or if you’re not lucky chrome) ?

Client-Server

First thing you have to know about Internet is, everything is about client-server.

Everything begin by a client request from … you guessed … a client. Which will ask to a server for an answer. It could be for a Http request (for web) or a FTP request (for file transaction) or a SSH request (for secured connection).

Every time, it will be the same. The client asks and the server answers.

The difference will in the request. The request will not be made the same way. But we will not explain that today.

The DNS request

It’s easier for human brain to remember a text than a number suite.

If I gave you the following number sequence 216.58.204.131, I’m pretty sure you would have forgotten the first number before you finish reading the entire sequence.

That’s why very smart people created domain name.

If now I tell you, www.google.fr is associated to 216.58.204.131, you will understand it will easier to remember the domain name (here, www.google.fr) than the IP address (216.58.204.131).

Now you understand that, I could explain how it will run.

TCP/IP

Like previously mentioned, every request use different protocol. You have ARP, SMTP, FTP, HTTP, POP. And you have TCP/IP (Transmission Control Protocol / Internet Protocol).

Protocols is like rules which determine how client — server will communicate together.

TCP/IP for example, unlike UDP, will send some information about lost packet to determine if we need to send back a packet or not. That secures the data integrity. But that costs more time.

Firewall

A firewall is a mechanism which allow to prevent or protect transactions in a network or in a computer.

For that, it will manage incoming and outgoing transactions with rules.

In managing a firewall, you can allow incoming transaction from an IP address (or a domain name), from a specific port, from a specific protocol, etc … to a specific IP/network, to a specific port, etc … The same about outgoing transaction.

Some browser have a kind of firewall integrated that can analyse for you if an url is malicious or not.

HTTPS/SSL

Did you already pay attention about the padlock in the address bar of your browser ?

What does that mean ?

In fact, that mean the request between your browser and the server is encrypted. That means password and data are encrypted and could be used only by the server you sent it. Nobody could listen your transactions and read it.

Load-balancer

A load-balancer is a service who manage traffic. It could transfer the traffic between some server you define. The traffic could be for your web traffic or your database traffic or other. You decide. But the goal is to make the traffic faster and more secure. Like that if a server is over (too many transaction or because is down), the traffic will automatically transfer in the next one.

Web server

A web server accepts and satisfies client requests for static content (that is, HTML pages, files, images, and videos) on a website. Web servers handle HTTP requests and responses only.

Application server

An application server exposes business logic to clients, which generates dynamic content. It is a software framework that transforms data to provide the specialized functionality offered by a business, service, or application. Application servers enhance interactive parts of a website that may appear differently depending on the context of the request.

Database

A database server is a program that provides database services to other programs or other computers, as defined by the client-server model. It can also refer to those computers (servers) dedicated to running those programs, providing the service.

So now you have basics, you can understand what does happen when you type https://www.holbertonschool.com in your browser.

  • the DNS records allow me to find the IP address of holbertonschool.com domain.
  • the TCP / IP protocols make data transfer possible in networks.
  • the ssl (https) protects the integrity and confidentiality of the data.
  • the firewall prevents unauthorized users from accessing our private networks connected to the internet.
  • the load-balancer ensures that web traffic is not concentrated in a single server so that it does not collapse.
  • the web server receives requests and sends responses.