What happens when you type holbertonschool.com in your browser and press Enter
Going to a website goes through several steps, starting from typing the URL. When you hit enter after typing in “holbertonschool.com”, your browser looks up the domain’s IP with its domain name via the DNS (Domain Name System). Once your browser finds the domain name and it’s IP, it sends a HTTP request to the server via TCP/IP. Your browser then should get a HTTP response back from the server, and if it comes back as 200 (if the page loads), then all the data from that webpage you requested should be displayed onto your browser.
The TCP/IP model has 4 layers:
- Application Layer: This is a standardized data exchange layer. The protocols include HTTP, FTP, POP3, SMTP, and SNMP. It is just a way to exchange data in a uniform way on the internet.
- Transport Layer: This layer is for maintaining end-to-end communications across the network. It handles the communication between client and servers.
- Network Layer: This layer connects networks and deals with transporting packets. The protocols used here are the IP and ICMP (used for error reporting).
- Physical Layer: This layer operates only on a link that connects the host to the network. Protocols used here include Ethernet for local networks and address resolution protocol (ARP).
A firewall is the first thing network traffic encounter if you have one implemented. Firewalls allows your network to identify traffic that should or shouldn’t be allowed in or out. They can restrict certain IP addresses, or certain types of traffic by blocking the TCP/IP ports they use. A firewall does this by filtering the packets being moved in and out of the network.
HTTPS and SSL work together to encrypt the data that you send over the web. When you access and send data on a website via forms or textboxes, without HTTPS, your data will not be secure. Meaning anyone on the network can see what you send and look at (most known commonly your ISP). With HTTPS, your data gets encrypted so that no one from outside can see what the real data is. Along side with SSL, this makes sure that the information becomes unreadable for everyone except for the link you created with the server you are sending and receiving the information to and from.
Load-balancer is what it sounds like, it balances the traffic across your servers. Having a load balancer distributes client requests efficiently across multiple servers so that one server won’t randomly crash due to network overload.
A web server is where your http server is, which is where your files are location. Clients are able to view your website because when they send a http request to your domain, your web server will grab the file they requested and give a http response back to the client. This is an oversimplified explanation, but it gives the general idea on the flow of a http request to a web server. There are two types of web servers: static and dynamic. A static web server consists the hardware (computer server) and the software(http server), it’s static because it sends “as-is” data. A dynamic web server consists of the static web server, plus extra software. It’s called dynamic because the files that are hosted on there are updated before sending to clients.
A database is where all the non-temporary data are stored, this means data for your website such as products, employees, or financial records. These kind of data need to remain there and be updated on occasions, which is where the database comes in to hold all of that data. They are typically organized in tables and fields so that the server and look up the data easily.
How does all of this connect? A very simple explanation would be that when you type in “holbertonschool.com” in your browser: your browser first looks up the domain via TCP/IP then DNS, then sends a HTTP request to that domain’s webserver. The webserver then looks up the requested URL and if is there, it grab the file and send it back as a HTTP response. This response then goes back to your network and onto your browser to display it’s content.