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

Roberth Rondon
11 min readMay 2, 2021

Ok to start answer this question, we have to look inside the Internet, to do that we must see what is the necessity of the information, in others words. There is a increasing need for communication between human beings, Doing a little of history. We could say communication is fundamental to humanity because as social beings, people need to communicate. Communication allows us to transmit information and exchange or share ideas.

Communication is a very important social instrument of change. It makes it possible to influence the ideas and feelings of others. Those who can communicate fluently find it much easier to get along in all areas of life.

In this order of ideas, the mail, the telegraph, the telephone, and more recently the Internet were born.

So, when we go to a web site on the internet, we are looking for information about that site or what is done on that site, etc. But for this exchange of information to take place there are a lot of technologies involved, which make life easier for both the information provider and the information seeker.

Let’s see the provider side, in this case is holbertonschool.com:

In first place, the person o company that want visualize his information on internet must have some requirements a domain name and a host, here we involve several technologies like a web server, dns, protocol tcp/ip and isp (internet service provider).

Let’s break it down, the ISP is the company in charge of providing the visibility of the site on the internet. Normally the communications are made through the telephone line, but we are not going to deepen here on this, rather we are going to deepen on the place where the web page is hosted, in this case the web server.

This Picture from unknown author is under license CC BY-SA

Here we can see an example of the provider, the place where are all servers connected to internet.

Now the communication protocol that makes possible the communication, it’s called tcp/ip. Protocols are the set of rules that computers must follow and respect in order to communicate, for example: if I speak Spanish and I try to talk to someone who speaks Chinese, we will not be able to communicate; in the same way, if computers do not respect the same protocols, they will not be able to communicate.

The TCP/IP model enables reliable data exchange within a network, defining the steps to be followed from the time data is sent (in packets) until it is received. To achieve this, it uses a system of layers with hierarchies (a layer is built after the previous one) that communicate only with its upper layer (to which it sends results) and its lower layer (to which it requests services).

TCP is the Transmission Control Protocol that allows a connection to be established and data to be exchanged between two hosts. This protocol provides reliable data transport.

IP, or Internet Protocol, uses four-octet serial addresses in decimal point format (such as 75.4.160.25). This protocol carries data to other machines on the network.

In short, there must be an ISP that provides visibility of the website and a language between computers, which we already know as tcp/ip.

DNS

Since between computers communicate through IP addresses, it is easier for us humans to learn a name, than a number in IP and since we humans do not speak in tcp/ip, we speak Spanish, Chinese, French, English, etc. This is where DNS or domain name service technology comes in.

Domain Name System or DNS is an Internet protocol whose function is the resolution of domain names, translating them into IPs.

Each domain has DNS (Nameservers) assigned to it, allowing the domain name to be translated into the corresponding IP.

Here we are closer to answer what happen when we write https://www.hol bertoschool.com, because we know what is the ISP, TCP/IP and DNS. But there are some more technologies involved, let’s take a look.

How I can see in the above picture there is a dispositive called server, that is could be physical(hardware) o logical(software). The web server is the dispositive where is hosted a web site.

So, we write in our navigator the name of the web site and press enter, we generate a dns request to DNS- server and it response with the ip address where is hosted the web site. Then we go to that ip address and request the page we are interest for. But stopping here to analize the arquitecture behind the web-server.

In a good web server architecture design, we are going to find elements such as firewall, page encryption for secure communications, with SSL certificates, load balancing or load distribution, the web server, application servers and databases.

Let’s see every in detail:

FIREWALLS: A firewall is a network security device that monitors network traffic — incoming and outgoing — and decides whether to allow or block specific traffic based on a defined set of security rules.

Firewalls have been a first line of defense in network security for more than 25 years. They establish a barrier between protected and controlled internal networks that can be trusted and untrusted external networks, such as the Internet.

A firewall can be hardware, software or both.

So, when we type https://www.holbertonschool.com there are several process, that occurred in simultaneously way, first the DNS, an now the firewall and the certificate ssl , this certificate, SSL (Secure Socket Layer) technology is used to secure data transmission on the Internet: it encrypts and protects data transmitted using the HTTPS protocol. SSL guarantees your website users that their data will not be intercepted fraudulently.

All data that circulates becomes unintelligible, except between the user who establishes the connection and the server on which the website is hosted.

Encryption is the basis of data integrity and confidentiality.

The authentication of a certificate generates the creation of a numeric key pair:

The private key:

It is installed on the server. It is this key that creates the certification seal of your website.

The public key:

This is the other part of the SSL certificate, also installed on your website. It allows your site users to encrypt their data, which is very useful if they need to communicate sensitive information (credit card number, account number…). The data is encrypted before being sent. The private key is the mirror key, the only one that will be able to decrypt the data.

LOAD BALANCER:

Load balancing refers to the distribution of incoming network traffic across a group of backend servers, also known as a server farm or server pool.

Modern high-traffic websites must handle hundreds of thousands (some even millions) of concurrent user or customer requests and return the corresponding text, images, video or application data quickly and reliably. To achieve this cost-effectively and meet these high volumes, modern IT best practice generally requires adding more servers.

A load balancer acts as the “Officer of Transit” 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 single server is overloaded, as 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 server group, the load balancer starts integrating it and automatically sends requests to it.

In this way, a load balancer performs the following functions:

Distributes client requests or network load efficiently across multiple servers.

Ensures high availability and reliability by sending requests only to servers that are online

Provides the flexibility to add or subtract servers according to demand

WEB SERVER:

A web server is a software that is part of the server and its main mission is to return information (pages) when it receives requests from users.

In other words, it is the software that allows users who want to view a web page in their browser to do so.

Functioning of a web server

For the correct functioning of a web server we need a web client that makes an http or https request through a browser such as Chrome, Firefox or Safari and a server where the information is stored.

The process would be as follows:

1) After the first query by the user to a website, a connection is established between the DNS server and the computer making the query or request. This DNS server responds with the correct IP address of the web server where the requested content is hosted.

2) The next step would be to request the content from the web server using the HTTP/HTTPS protocol.

3) Once the web server has received the request for the content requested by the web client, it should process the request until it finds the requested content within the corresponding domain.

4) It sends the requested content to the web client that requested it.

You have to keep in mind that there are differences between a web server and a web hosting.

APLICATION SERVER:

In computing, an application server is a server in a computer network that runs certain applications.

It is usually a software device that provides application services to client computers. An application server generally handles most (or all) of the application’s trading logic and data access functions. The main benefits of applying application server technology are centralization and reduced complexity in application development.

Common features

Application servers typically also include middleware (or connectivity software) that enables them to intercommunicate with various services for reliability, security, non-repudiation, etc. Application servers also provide developers with an Application Programming Interface (API), so that they do not have to worry about the operating system or the large number of interfaces required in a modern web application.

Application servers also support a wide variety of standards, such as HTML, XML, IIOP, JDBC, SSL, etc., which allow them to operate in web environments (such as the Internet) and connect to a wide variety of data sources, systems and devices.

Uses

A common example of the use of application servers (and their components) are Internet portals, which allow companies to manage and disseminate their information and provide a single point of entry for internal and external users. Based on an application server, such portals allow access to information and services (such as Web services) in a secure and transparent way, from any device.

DATABASE:

A database is an organized collection of structured information, or data, typically stored electronically in a computer system. A database is usually controlled by a database management system (DBMS). Together, the data and the DBMS, along with the applications that are associated with it, are known as a database system, which is often shortened to just database.

The data within the most common types of databases in operation today is typically modeled in rows and columns in a series of tables for efficient data processing and querying. The data can then be easily accessed, managed, modified, updated, monitored and organized. Most databases use structured query language (SQL) to write and query data.

Types of databases

There are many different types of databases. The best database for a specific organization depends on how the organization intends to use the data.

Relational databases. Relational databases became popular in the 1980s. The elements of a relational database are organized as a set of tables with columns and rows. Relational database technology provides the most efficient and flexible way to access structured information.

Object-oriented databases. Information in an object-oriented database is represented in the form of objects, as in object-oriented programming.

Distributed databases. A distributed database consists of two or more files located at different sites. The database may be stored on multiple computers, located in the same physical location or dispersed over different networks.

Data warehouses. A data warehouse is a type of database designed specifically for fast queries and analysis, and functions as a central data repository.

NoSQL databases. A NoSQL, or non-relational database, allows unstructured and semi-structured data to be stored and manipulated, unlike a relational database, which defines how all data inserted into the database should be composed. NoSQL databases became popular as web applications became more common and more complex.

Network-oriented databases. A network-oriented database stores data in terms of entities and the relationships between entities.

OLTP databases. An OLTP database is a fast, analytical database designed for a large number of transactions performed by multiple users.

These are just a few of the several dozen types of databases in use today. Other less common databases are suited to scientific, financial or other very specific functions. In addition to the different types of databases, changes in technology development approaches and major advances, such as the cloud and automation, are taking databases in entirely new directions. Some of the most recent databases include.

Open source databases. An open source database system is one whose source code is open source; such databases could be SQL or NoSQL databases.

Cloud databases. A cloud database is a collection of data, either structured or unstructured, that resides on a private, public, or hybrid cloud computing platform. There are two types of cloud database models: traditional and database as a service (DBaaS). With DBaaS, administrative tasks and maintenance are performed by a service provider.

Multi-model database. Multi-model databases combine different types of database models into a single integrated back-end. This means that they can accommodate several types of data.

Document/JSON databases. Designed to store, retrieve and manage document-oriented information, document databases are a modern way of storing data in JSON format instead of rows and columns.

Stand-alone databases. Standalone databases, the newest and most innovative type of database (also known as standalone databases), are cloud-based and use machine learning to automate tuning, security, backups, updates and other routine database administration tasks traditionally performed by database administrators.

CONCLUSION:

As a conclusion we can say that every time a website name is entered in the browser, several processes occur involving all the technologies mentioned above and that the speed of communications has grown exponentially thanks to all these technologies. The way in which the human being communicates has also changed significantly and this is also changing the way of doing business, which is also reflected in the increase of searches for professionals capable of handling all these technologies, which together form the so-called FULL STACK.

Sources:

¿Qué es Load Balance o balance de carga? — Quanti Solutions

¿Qué es un servidor web y para qué sirve? — Webempresa

Servidor de aplicaciones — Wikipedia, la enciclopedia libre

¿Qué es una base de datos? | Oracle México

Balance de carga — Wikipedia, la enciclopedia libre

--

--

Roberth Rondon
0 Followers

Software Developer with experience in Telecommunications. He likes educate young people in technologies and others topics.s