THE INTERNET AND ITS TECHNICALITIES: A BEGINNER GUIDE 101
Tags: webdev, beginners, tutorial, learning
Published: 2024-04-04 12:53:03

**INTRODUCTION**
By the end of this article, you will have a clear understanding of:
1. The history of the internet
2. Network Packet
3. Internet Protocol (IP)
4. What Domain Name Service(DNS) is all about
5. FTP
6. HTTP
7. HTTPS
 
**HISTORY OF THE INTERNET**
In 1960’s, the United State Government researchers were looking for means to send information to one another without having to travel long distance because as at then connecting one computer to another was static as one has to bring two computers together in the same place to be able to connect them. These computers  where very large and largely immovable as a computer was as big as a standard room size hence moving them were practically impossible.
With the advent of the cold war the government needed a way to communicate quickly with each other without having to travel long distance or using the normal postal medium. The proposed solution by Government researchers was Packet Switching where data or information can be shared in bit or smaller segment as against Circuit Switching where all the information was sent in chunk leading to delay in information sharing and when interrupted all the data will be lost, But Packet Switching allowing information to be sent in bit made data sharing to be sent quickly and even when interrupted the data or information is not lost whereby some have already be sent and the data sharing continues from where it stopped. This lead to the formation of Advanced Research Projects Agency Network (ARPANET) which is the foundation of the internet where information sharing is done over a network.
In 1969, the first computers communicated over ARPANET from UCLA to SRI in California and it was a success. Although this was majorly available to Government Agencies and Universities but its evolution lead to the internet we enjoy today as other networks were created over the years. In January 1st 1983 the internet was born where ARPANET and the Defense Data Network officially changed to the TCP/IP standard allowing networks to be connected by a universal language.
 
**Network Packet**
A network packet is a smallest unit of data that's grouped together and transferred over a computer network typically a packet-switched network, such as the internet. Each packet or chunk of data forms part of a complete message and carries pertinent address information that helps identify the sending computer and intended recipient of the message. Network packet works by choosing the best route available to its destination. Most networks today operate on the TCP/IP stack, which makes it possible for devices connected to the internet to communicate with one another across different networks.
Parts of Network Packet
Network Packet consist of three main parts namely:
1. Header
2. Payload
3. Trailer

**Importance of Network Packet**
1. Packets are used for efficient and reliable transmission of data.
2. Packets enable multiple computers to share the same connection.
3. Packets use the best route available for delivery
4. To ensure secure delivery, packets can be encrypted
5. If an error occurs, the packets can be stored and retransmitted later.

**Internet Protocol(IP)**
Protocols govern the methods and rules for data transmission in a network.
They are a set of rules or procedures for transmitting data between electronic devices, such as computers. Protocols are responsible for data integrity, security, and error checking during transmission. IP ensure that the data sent and received from the source device to the destination device are the same. 

Protocols also manage the size and speed of data transmission. They break down large data files into smaller packets for easier transmission and reassemble them at the destination. They also control the data transmission rate to prevent data overflow at the receiving device.

Protocols help determine the route that the data packets should take from source device to destination device. This is particularly important in large networks where there are multiple possible paths. Protocols like Internet Protocol (IP) are used to route the data packets to their destination.
IP is a unique identifier for a specific path that leads to a host on a network. We have two major IP address:
-IPv4
-IPv6
 
**Domain Names System (DNS)**
Domain Name gives a user-friendly way to point to non-local resources. This could be a website, a mail system, print server, or any other server that is available on the Internet. A domain name can be more than just a website! A domain name is much easier to remember and enter into a terminal or Internet browser, than an IP address.
The Domain Name System (DNS) maps human-readable domain names (in URLs or in email address) to IP addresses. For example, DNS translates and maps the domain Google.com to the IP address IPv4: 8.8.8.8 and/or 8.8.4.4 . For IPv6: 2001:4860:4860::8888 and/or 2001:4860:4860::8844.

A URL is the complete web address of a resource, while the domain name is the name of a website and is a sub-component of every URL.

**Hypertext Transfer Protocol (HTTP)**

The Hypertext Transfer Protocol is the foundation of the World Wide Web, and is used to load webpages using hypertext links. HTTP is an application layer protocol designed to transfer information between networked devices and runs on top of other layers of the network protocol stack. A typical flow over HTTP involves a client machine making a request to a server, which then sends a response message.

**HTTP Request**: HTTP request is how web browsers ask for the information they need to load a website. Each HTTP request made across the Internet carries with it a series of encoded data that carries different types of information. A typical HTTP request contains:
1. HTTP version type
2. URL
3. HTTP method
4. HTTP request headers
5. Optional HTTP body.
 
**HTTP response:** HTTP response is what web clients (often browsers) receive from an Internet server in answer to an HTTP request. These responses communicate valuable information based on what was asked for in the HTTP request. A typical HTTP response contains:
1. HTTP status code
2. HTTP response headers
3. optional HTTP body
 
**

- Hypertext transfer protocol secure (HTTPS)
**
Hypertext transfer protocol secure is HTTP with security, HTTP which is the primary protocol used to send data between a web browser and a website. HTTPS is encrypted in order to increase security of data transfer. This is particularly important when users transmit sensitive data, such as by logging into a bank account, email service, or health insurance provider.
Any website, especially those that require login credentials, should use HTTPS. In modern web browsers such as Chrome, websites that do not use HTTPS are marked differently than those that are. Look for a padlock in the URL bar to signify the webpage is secure.
HTTPS prevents websites from having their information broadcast in a way that’s easily viewed by anyone snooping on the network. When information is sent over regular HTTP, the information is broken into packets of data that can be easily “sniffed” using free software. This makes communication over the unsecure medium, such as public Wi-Fi, highly vulnerable to interception. With HTTPS, traffic is encrypted such that even if the packets are sniffed or otherwise intercepted, they will come across as nonsensical characters.
File Transfer Protocol (FTP)
 File Transfer Protocol is a standard network protocol used for the transfer of files from one host to another over a TCP-based network, such as the Internet.
FTP works by opening two connections that link the computers trying to communicate with each other. One connection is designated for the commands and replies that get sent between the two clients, and the other channel handles the transfer of data. During an FTP transmission, there are four commands used by the computers, servers, or proxy servers that are communicating. These are “send,” “get,” “change directory,” and “transfer.”
While transferring files, FTP uses three different modes: block, stream, and compressed. The stream mode enables FTP to manage information in a string of data without any boundaries between them. The block mode separates the data into blocks, and in the compress mode, FTP uses an algorithm called the Lempel-Ziv to compress the data