Web Essentials
Web Essentials
NAME:
Prince Jimu BIS/22/SS/009
COURSE
Web Technologies (WEB-301)
DUE DATE
31 Jan 2025
WEB ESSENTIALS
This summary provides a brief description of the essentials the web and web development.
Websites are a form of communication that allows users to request for documents from special
computers. The devices used to request for resources or documents are called client devices
while devices that respond with the requested resource are called servers. These devices are most
likely to not be in the same location or local network and must communicate over the internet.
1.0 The Internet
As mentioned earlier, this is the mode of communication between client and server devices.
The internet, is a collection of different computer networks that are interconnected (inter-
network). These networks can be connected via cables or wirelessly using radio waves. In the
early 1960s, a department of defense in the US experimented with connecting their
computers from multiple research branches. This project was called the ARPANET. Soon
other small networks such as SURAnet and CSNET rose from ARPANET’s inspiration.
This trend developed and brought the introduction of most protocols used today such as
SMTP and FTP and most importantly the TCP/IP communication protocol stack. TCP
(Transmission Control Protocol) and IP(Internet Protocol) facilitated the ability of computers
from other networks such as CSNET to communicate with computers in the ARPANET
which then evolved into the ARPA Internet. The introduction of NSFNET in the 1980s
created a backbone for other computer networks to interconnect. This became the backbone
of the “internet” and caused project ARPA net to be decommissioned.
1.1 TCP/IP
These two protocols together provide rules for creating a connection between two
communicating devices as well as identifying which device is the source and which is the
destination of a particular message.
The IP (Internet Protocol) Identifies a source and a destination device using an IP
address. This is a 32-bit number assigned to a device mainly for internet communication.
IP adds addressing information to the message being sent along with more information
such as a checksum field used for error checking in a header. The message is now called
a packet. The packet travels from computer to computer finding the best route to its
destination using a routing protocol such as BGP (Border Gateway Protocol).
TCP on the other hand is responsible for creating a connection between communicating
devices before any traffic is sent. The originator of the packet sends a request for a
connection to the intended receiver. The receiver accepts the request and sends a reverse
request to form what is called a full duplex connection where both devices can send data
to each other at the same time. The opposite of TCP is UDP in the sense that it allows
devices to communicate without creating a connection.
Another protocol that is part of the TCP/IP stack is the Domain Naming Service (DNS).
This protocol determines how domain names such as www.example.com are converted to
corresponding IP addresses of the devices (servers) that contain the resource being
requested by the client software. When a domain name is searched, the request is first
sent to a DNS server to convert it to an IP address that is then requested for the resource.
1.2 HTTP
HTTP stands for Hypertext Transfer Protocol and is one example of a high-level
protocol. These high-level protocols are the ones that communicate directly with
application software, collecting message requests and passing them down to TCP and IP
to be sent to the intended destination. HTTP is a protocol used by web browsers (Client
software) to send requests and receive responses from web servers.
The structure of an HTTP request includes a start line, header fields and the request body.
The start line contains the request method (can be to GET a resource or POST one, to
PUT on at a specific location or to DELETE it). The second part of the start line is the
URI (Uniform Resource Identifier) of the resource and the third part is the HTTP version.
The header fields specify configurations such as identifying the host device (server),
allowed and preferred content types such as JPEG for images and settings on whether to
keep the TCP connection open or not.
For a response message, the structure is slightly similar to the request. There is a start
line, header fields and the response body. The start line here contains the HTTP version
first, a status code such as 200 and a reason phrase such as “OK”. The status codes can be
of different values to mean different things such as 404 to mean the requested resource
was not found.
The header fields of a response include a date field to specify the date of receiving the
response, a location field that gives the new location of a resource if it was redirected and
an E-tag that is used for cache control.