0% found this document useful (0 votes)
4 views

Web Essentials

The document provides an overview of web essentials, including the roles of client devices and servers in web communication, and the protocols that facilitate this interaction, such as TCP/IP and HTTP. It discusses the history of the internet, the structure of HTTP requests and responses, and the functions of web clients and servers. Additionally, it covers server configuration, logging, access control, and security measures necessary for web servers.

Uploaded by

bis22-pjimu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Web Essentials

The document provides an overview of web essentials, including the roles of client devices and servers in web communication, and the protocols that facilitate this interaction, such as TCP/IP and HTTP. It discusses the history of the internet, the structure of HTTP requests and responses, and the functions of web clients and servers. Additionally, it covers server configuration, logging, access control, and security measures necessary for web servers.

Uploaded by

bis22-pjimu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

MALAWI UNIVERSITY OF BUSINESS AND APPLIED SCIENCE

Department of Computer Science and Information Systems


BIS 3
SUBMITTED TO:
M. Nkonjo

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.

2.0 Web Clients


A web client is a software used to send an HTTP request to a web server. The most common
and relevant type of a web client is a web browser. A user runs a web browser on their local
machine to access a certain resource on a web server. This is achieved by typing in the URL
of the resource in the location bar of the web browser. Examples of web browsers include,
Microsoft’s Internet Explorer and Mozilla. Most web browsers have very similar features and
user interface which usually consists of a navigation bar that contains the location bar used to
enter the URL, back and forward buttons for moving through recently viewed pages
respectively and a few other features. A browser also has a title bar that displays the title of
the page and a menu bar that contains drop down menus. Most importantly, browsers have
the client area that displays the content of the response body from the generated request.
When a user enters a URL, the browser breaks it down to the URI part and the host part
which are used to form the start line and host header field of the request respectively. Upon
receipt of the response, the browser reads the body section and displays on the client area.
3.0 Web Servers
As mentioned before, a web server is a software on a special computer that receives HTTP
requests and send responses to the request initializer. To achieve this function, the server
listens to its TCP ports for requests. When a requested is created to a port, an instance of the
server software called a “subtask” creates the TCP connection and calls a virtual host
associated to the called port to execute the request. A virtual host is a service on the server
with its own qualified domain name. The Host header field of the HTTP request determines
which virtual host is to receive the request. If there is no particular virtual host for a request,
it is sent to the “localhost” virtual host which is the default host of the server.
The first server was developed by the NCSA (National Center for supercomputing
Applications) and it was called the httpd server. It was later discontinued after a few years
and that led to the development of the Apache server (named due to being updated in patches
“a patchy”). After a few more years, Microsoft developed their Internet Information Server
(IIS). Apache ran PHP programs and IIS ran programs written VBScript.
To run Java apps, a separate software called the servlet container was installed and it run a
Java Virtual Machine (JVM) on both types of servers. Later Tomcat 5.0 was released and it
could be used a JVM source or as a stand-alone server software.

3.1 Server Configuration and Tuning


To setup a server software, a few settings need to be configured for it to be up and
running. Settings like, the IP address of the server, TCP ports to receive requests from,
number requests it can process or put on a waiting queue. The process of setting up the
server is called Server Configuration. Tuning is the process of changing the settings of
the server to optimize performance. Allowing the server to run as many subtasks as
possible without straining its hardware.

3.2 Server Logging


Logging simply means keeping records of activity within the server. The server keeps
access logs and message logs. Access logs are records of all HTTP requests processed
by the server. Message logs are records of any debugging activity within the server
when running web apps. Any errors or output displayed in output streams such as
system.out in java is written here.
3.3 Access Control
The server administrator can choose who can access certain resources on the server.
This can be done by creating a roles table with usernames and passwords associated
to roles. These roles such as “admin” can have associated resources. Anyone with the
credentials therefore can access these resources. A roles list can be added to a service
in the services settings on the browser of the web server.
3.4 Security
Another important feature of a web server is security. Communications between
clients and servers needs to be encrypted to avoid interception and access through a
“man-in-the-middle attack”. This can be achieved by using protocols such as TLS and
SSL. Before sending a request, a client device can first perform a TLS handshake
with a server to share information on parameters of encryption and decryption.

You might also like