There are only a few things in life we use daily but understand as
little as the air we breathe. The internet is one of them. What happens when
you type www.google.com in
your browser and hit enter? We’ll take a step-by-step look on all of the
processes the computer goes through to retrieve the requested data.
1. DNS REQUEST
What is a URL? Is it the same thing as a domain name?
The answer is no. URL stands for Uniform Resource Locator.
It is a combination different elements including the domain name. For the
purposes of understanding how the internet works, we’ll focus mainly on two of
these elements: the protocol and the DNS.
Have you ever noticed the letters http
at the beginning of the URL? It stands for hyper
text transfer protocol and simply put, it is a method through which the
computers transmit data between other computers and servers.
Domain name on the other hand in this URL example: https://holbertonschool.com
is just the
holbertonschool.com. Domain names are associated with a specific IP address.
Computers request and receive with servers using IP addresses. It’s the job of
the Domain Names System to link the requesting computer to the correct IP
address so you the client can access the correct page.
https://royal.pingdom.com/2009/06/08/a-visual-explanation-of-how-dns-lookups-work/
Above is a good visual representation of how the DNS requests are
made from the client.
1. The
operating system on your computer checks your cache to see if it has a record
of the IP address to the website you’re trying to reach. If not, the following
steps occur in sequence.
2. It
makes a request to the recursive name server which tries the root server.
3. It
then makes a request to the TLD name servers.
4. Finally,
the authoritative name servers returns you the IP address of the website you’re
trying to reach.
2. TCP/IP
TCP/IP protocol is basically a suite of communication protocols
used to connect devices in a network or the internet. It manages how data is
transmitted over the internet. In simple terms, TCP breaks down data into
smaller packets and sends them over to the end user with instructions on how to
reassemble them back together.
3. Firewall
The firewall is a network security monitoring software(or hardware)
that tracks traffic coming in and out of the network. Its primary job is to
filter and block certain traffic based on predetermined rules. It is really a
metaphorical wall between you and the internet.
4. HTTPS/SSL
As mentioned above HTTP is the protocol through which data is
transferred from the server to the user. The ‘S’ attached at the end stands for
‘Secure’. When devices transfer data using just the HTTP, the data is more
vulnerable to nefarious acts. One way of protecting the data during its
transmission process is to encrypt it so that malicious agencies have a harder
time making sense of the stolen data. SSL is the service that provides the S
certificate to your http website. Once you set up your http to be secure via
the SSL certification process, your protocol will change from http to https
letting users know that your site is secure. The downside here is that the
encryption process will make transferring of data, slower.
5. Load-Balancer
Let’s say you have a large user-base and need a more efficient way
of managing the traffic coming in and out of your servers. Using a
load-balancer is your answer. It can distribute the traffic flow to your web
servers based on the algorithm you set. The simplest load-balancer algorithm is
the round robin- it distributes client requests to each server in turn in a
circular order.
Similar to a firewall, the load-balancer can be a software and a
hardware.
6. Web Server
The server is a physical piece of hardware that stores files
containing to a website. The web server is a software on a physical server that
takes in requests from users, locates the files(i.e. html), then sends them
back. This is what we call a static web server. The static server gives back to
the user everything “as-is”. None of the contents are changed before sending
them back to the user.
7. Application Server, Database
The application server is an extra software used in conjunction
with the static web server. It updates the hosted files before it sends them
back to the user. So for example, let’s say that you have a set of user
information stored in your database(a structured set of data stored in memory
or computer) and you’re requesting that information to be displayed in the way
specified by the html page. What the application server does is- it queries the
user information from the database, updates the contents with the queried
information, then delivers the web packet to the user.
0 Comments