The Internet is a globally connected computer using the Internet protocol. It connects billions of computers worldwide with each other or to the world wide web. According to Wikipedia, “Internet is the global system of interconnected computer networks that uses the Internet protocol suite (TCP/IP) to communicate between networks and devices.”
It uses the Transmission Control Protocol/Internet Protocol (TCP/IP) as a set of rules defined to connect internet users. This internet protocol is used to connect billions of computer users worldwide.
You can set it up using wireless or cable technologies such as fiber optic and other networking technologies. The Internet remains the fastest means of sending and exchanging information and data between computers worldwide.
Nevertheless, you can learn everything you need about the Internet as a backend engineer from the Internet for backend engineers.
However, now that you know how the internet works, how computers are connected, and how computers shares and exchange information, where does backend engineering come in?
The answer to that question lies with TCP/IP, as it is the exchange format that the internet uses to exchange information over the internet. So next, let’s explore a little about TCP/IP.
What is TCP/IP
The Transmission Control Protocol/Internet Protocol (TCP/IP) is a protocol suite consisting of rules that govern how data is exchanged over the Internet. It facilitates end-to-end communications, defining how data should be divided into packets, addressed, transmitted, routed, and ultimately received at its intended destination.
Most importantly, TCP/IP combines two important concepts with the sole aim of transferring network packets.
The Transmission Control Protocol (TCP) governs the creation of communication channels between applications across a network. It orchestrates the division of messages into smaller packets, ensuring their proper transmission over the internet and later reassembling them in the correct order at the destination address.
The Internet Protocol(IP) defines how to address and route each network packet to ensure it reaches the right destination. Exploring how it does what it does is out of the scope of this article, but you can study network management if you want to go deeper.
Moving on, these network packets are data units grouped and transferred over a computer network(internet) using different protocols based on the type of data to be transferred.
For simplicity, we will look at two important protocols that TCP/IP uses to transfer data based on the type of network packet to be transferred.
[An image showing two protocols of TCP/IP and what they do]
File Transfer Protocol (FTP)
Hypertext Transfer Protocol (HTTP)
Now, let's explore these protocols and learn what type of network packet they transfer.
File Transfer Protocol (FTP)
The FTP is a simple protocol that handles the transmission of files over the internet. It is a network protocol that facilitates file transmission between computers through Transmission Control Protocol/Internet Protocol (TCP/IP) connections. With FTP, you can use FTP software like FileZilla to transfer files from your computer (Local Host) to a remote host, usually a server.
In addition, the server must be set up to run FTP services, and your local host (client) must have the FTP software installed to access these services.
The File Transfer Protocol (FTP) article is a great start if you want to learn more about FTP.
In the next section, I will explore the HyperText Transfer Protocol (HTTP) and understand how it relates to web development.
Hypertext Transfer Protocol (HTTP)
HTTP manages the interaction between a web server and a web browser. It establishes a communication standard that governs the exchange of requests and responses between the end user's browser and the web server.
The questions in your mind are:
What is a web server?
What is a web browser?
What’s the communication between them like?
Nevertheless, you might have yet to have any of these or all questions. These will depend on your experience.
The concept of HTTP is very broad and requires a separate HTTP content hub. However, I will explore a little about Web Servers and Web Browsers, which relates to this article on backend engineering.
A web browser is a software used to access the web or browse different websites for information.
According to Wikipedia: “When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's screen.”
When this request comes to the web server, the server checks the request and returns the requested data.
This Request and Response cycle between a web browser and a web server through HTTP gave rise to web development or web engineering, where information is designed and stored in a web server for users to access through the request-response cycle.
Of course, you could argue that a lot goes on behind the hood for HTTP and the request-response cycle, including:
How does the webserver understand the request?
What’s a request?
What’s a response?
What is the content of a request and that of a response?
I will take you through this journey separately in the HTTP: The ultimate guide article.
Nevertheless, since we now understand that the request-response cycle gave birth to web development, let’s explore the fundamentals of web development.