You are on page 1of 16

School of Basic Sciences

Computer Department

Research paper in

Web Servers

NAMES: Abdulrhman Maziq


Moataz Saleh
Amjad Idrees

SUPERVISOR:
DR. MOHAMMED SAAD
Spring (2024)
Contents
1. Abstract …………………………………………………………………...……. 1
2. Introduction ……………………………………………………………….……. 2
3. History of web servers........................................................................................... 3
4. Characteristics of a web server…………………………………….………….… 4
5. Functioning of a web server…………………………………………………….. 5
5.1. HTTP Protocol …………………………………………………................. 5
5.2. Explanation of how web servers work ......................................................... 6
6. Types of web servers ……………………….…………...…………………........ 8
7. Features of Web Server Software………………………………………..……… 10
8. Web server & Application server…………………………………………..….... 11
8.1 Application server …………….…….………....…………………................11
8.2 Comparison between web server and application server….……….……......12
Conclusion ………………………………………………………………...…...…...13
References …………………………………………………………………...…......14

List of Figures
3.1.The world's first web server ………………………………….……...…….. 3
5.1. Browser/server protocol ………………………………………………....... 5
5.2. Webserver work............................................................................................. 6
6. Web servers types........................................................................................... 8
8.1 Web server and app server………………………………………………….11

List of Tables

8.2 Difference between web server and application server……………………..12


1. Abstract:
Web servers play a pivotal role in the modern-day digital ecosystem by facilitating
the reliable and efficient delivery of web content and services across the internet.
This abstract provides an overview of web servers, highlighting their fundamental
functions, architectural components.
Web servers are software applications or physical devices that receive, process, and
respond to client requests transmitted over the Hypertext Transfer Protocol (HTTP).
These requests typically involve fetching and delivering web pages, files, or other
resources to the requesting client, such as a web browser. Web servers act as
intermediaries between clients and the vast network of interconnected computers,
commonly known as the World Wide Web, ensuring the timely and accurate
delivery of requested content.
Web servers communicate with clients using the HTTP protocol, which follows a
request-response model. When a client initiates a request for a specific resource, the
web server receives and processes the request, fetching the corresponding resource
from storage, such as a file system or a database. The server then generates an
HTTP response containing the requested resource and sends it back to the client,
completing the transaction.
Web servers have a profound impact on the connected digital ecosystem. They
enable the hosting of websites, web applications, and other online services, making
them accessible to a global audience.

1
2. Introduction:
Web servers are the backbone of the modern internet, enabling the delivery
of web content and services to millions of users worldwide. They provide
the necessary infrastructure and functionality to ensure that websites, web
applications, and other online resources are accessible and responsive.
Understanding the concept and significance of web servers is essential for
anyone seeking to navigate the digital landscape effectively.
In simple terms, a web server is a software application or a physical device
that receives requests from clients, processes them, and delivers the
requested content over the internet. These clients can be web browsers,
mobile apps, or any other application that relies on web-based
communication. The web server acts as an intermediary, handling the
communication between clients and the vast network of interconnected
computers known as the World Wide Web.
The architecture of a web server typically consists of multiple layers and
components. At its core, it relies on an operating system to manage
hardware resources and provide a foundation for executing server software.
On top of the operating system, specialized server software, such as
Apache HTTP Server, Nginx, or Microsoft Internet Information Services
(IIS), is installed to handle the HTTP protocol efficiently. These server
software applications are equipped with various modules and
configurations to optimize performance, security, and scalability.
Web servers communicate with clients using the Hypertext Transfer
Protocol (HTTP), a protocol that defines how information is transmitted
and formatted on the web. When a client initiates a request by entering a
URL or clicking a link, the web server receives the request and processes
it. It retrieves the requested resource, such as a web page or a file, and
generates an HTTP response containing the requested content. This
response is then sent back to the client, completing the communication
cycle.

2
3. History of web servers:
In 1989 Tim Berners-Lee proposed to his employer CERN (European
Organization for Nuclear Research) a new project, which had the goal of
easing the exchange of
information between scientists by using a hypertext system. As a result of the
implementation of this project, in 1990 Berners-Lee wrote two programs:
 a browser called Worldwide Web.
 the world's first web server, later known as CERN httpd, which ran on the
NeXTSTEP operating system.

Figure 3.1 :The world's first web server

Between 1991 and 1994 the simplicity and effectiveness of early technologies
used to surf and exchange data through the World Wide Web helped to port
them to many different operating systems and spread their use among lots of
different social groups of people, first in scientific organizations, then in
universities and finally in industry.
In 1994 Tim Berners-Lee decided to constitute the World Wide Web Consortium
(W3C) to regulate the further development of the many technologies involved
(HTTP, HTML, etc.) through a standardization process.

3
4. Characteristics of a Web Server:
some key characteristics of a web server:
1. HTTP Protocol: A web server primarily uses the Hypertext Transfer
Protocol (HTTP) to communicate with clients. It receives HTTP requests from
clients (web browsers) and sends back HTTP responses containing the
requested web content.
2. Hosting Web Pages: A web server stores and serves web pages,
documents, multimedia files, and other web resources. It handles client
requests for these resources and delivers them to the requesting client.
3. Network Communication: A web server operates on the internet or an
intranet and communicates with clients using the Transmission Control
Protocol (TCP)/IP protocol suite. It listens for client requests on a specific port
(usually port 80 for HTTP) and responds accordingly.
4. Concurrent Connections: Web servers are designed to handle multiple
simultaneous connections from clients. They can serve multiple clients
concurrently, managing and responding to their requests efficiently.
5. Static and Dynamic Content: A web server can serve both static and
dynamic content. Static content includes files that are stored on the server and
served as-is to clients. Dynamic content is generated in real-time by server-side
scripting languages (such as PHP, Python, or Node.js) based on client requests
and data from databases or other sources.
6. Security: Web servers incorporate security measures to protect against
unauthorized access and ensure data integrity. This includes implementing
secure communication protocols (such as HTTPS), access control mechanisms,
authentication, and encryption of sensitive data.
7. Logging and Monitoring: Web servers often have logging and
monitoring capabilities to record and analyze server activity. They generate log

4
files containing information about client requests, server errors, and other
relevant events.

8. Scalability: Web servers need to handle varying levels of traffic. They are
designed to scale horizontally (adding more server instances) or vertically
(upgrading hardware resources) to accommodate increasing demands.
9. Configurability: Web servers provide configuration options that allow
administrators to customize server settings, such as file directories, caching
mechanisms, security policies, and performance optimizations.
10. Extensibility: Web servers can be extended with modules or plugins to
add additional functionality or support specific features, such as server-side
scripting languages, database connectivity, or content caching.

5. Functioning of a Web Server:


5.1 HTTP Protocol:
A page on internet can be viewed, when the browser requests it from the web
server and the web server responds with that page. A simple diagrammatic
representation of this is as given below in the figure:

Figure 5.1 : Browser/server protocol

5
5.2 Explanation of how web servers work:
Web servers work by receiving, processing, and responding to client requests
for web content and services, the figure below shows how the webserver
work:

Figure 5.2 : webserver work

- Here is a step-by-step explanation of how web servers function:


1. Client Sends a Request: The process begins when a client, such as a web
browser, sends a request to a web server. This request is typically initiated when a
user enters a URL or clicks on a link.

2. Request Routing: The web server receives the client's request and
determines the appropriate action to take based on the requested resource. It
identifies the specific file or web page being requested and locates it within the
server's file system or database.
6
3. Request Processing: Once the requested resource is identified, the web
server begins processing the request. This may involve executing server-side scripts
or interacting with databases to retrieve dynamic content.

4. Resource Retrieval: The web server retrieves the requested resource


from its storage, such as a file system or a database. Static resources like HTML
files, images, or CSS stylesheets are typically served directly from the file system,
while dynamic resources may require additional processing or querying of
databases.

5. Generating an HTTP Response: After the requested resource is


obtained, the web server generates an HTTP response. This response includes the
requested content and relevant metadata, such as the HTTP status code, headers,
and cookies.

6. Response Transmission: The web server sends the HTTP response


back to the client over the network. The response is transmitted using the HTTP
protocol, ensuring proper formatting and adherence to the protocol standards.

7. Client Receives the Response: The client, usually a web browser,


receives the HTTP response from the web server. The response contains the
requested content, which may include HTML markup, images, JavaScript code, or
any other resources necessary to render the web page.

8. Rendering the Web Page: Upon receiving the response, the client's
web browser processes the received content. It interprets the HTML markup,
applies CSS styles, executes JavaScript code, and renders the final web page for the
user to interact with.

9. Client-Server Interaction: The client and server may continue to


interact, exchanging additional requests and responses, depending on the nature of
the web application or the user's actions. This interaction allows for dynamic and
interactive web experiences.

7
6. Types of web servers:
There are several types of web servers available, each with its own characteristics,
features, and suitability for specific use cases. Here are some commonly used types
of web servers:

Figure 6 : Web Servers Types

1. Apache HTTP Server: Apache is one of the most widely used web
servers globally. It is an open-source server software known for its flexibility,
stability, and robustness. It offers a rich set of features, modules, and
configurations, making it highly customizable and suitable for hosting static and
dynamic websites.

2. Microsoft Internet Information Services (IIS): IIS is a web server


developed by Microsoft and is primarily used in Windows-based environments. IIS
supports various web protocols, including HTTP, HTTPS, FTP, SMTP, and more. It
provides features such as dynamic content generation, security enhancements, and
extensive management capabilities.

8
3. Nginx: is a lightweight, high-performance web server and reverse proxy
server.Nginx is known for its speed, scalability, and ability to handle static content
exceptionally well.

4. LiteSpeed: A high-performance Apache drop-in replacement, LiteSpeed


(LSWS) is the 4th popular web server on the internet and is a commercial web
server.
LSWS replaces all the Apache functions which other front-end proxy solutions
can’t do to simplify the use and make the transition from Apache smooth and easy.

5. Apache Tomcat : is an open-source web server and servlet container


developed by the Apache Software Foundation. It is designed to execute Java web
applications and provide a platform for running Java Servlets, JavaServer Pages
(JSP), and other Java-based web technologies.

6. Node.js: While not a traditional web server, Node.js deserves mention as it


allows JavaScript to be executed on the server-side. It uses an event-driven, non-
blocking I/O model, making it highly efficient and well-suited for handling real-
time applications and streaming data.

7. Lighttpd: is a lightweight, open-source web server designed with a focus on


speed, efficiency, and low resource usage. It is particularly suitable for serving
static content and handling high traffic loads. Lighttpd is known for its small
memory footprint and efficient handling of concurrent connections. It is often used
in scenarios that require fast and efficient delivery of static files.

8. Google Web Server (GWS): GWS is a proprietary web server


developed by Google. It powers many of Google's web services, including Search,
Gmail, and YouTube. GWS is optimized for high performance, scalability, and
reliability.

9. Jigsaw: Jigsaw Server is developed by World Wide Web Consortium


(W3C). It runs about 0.1 percent of the world’s websites. It’s a completely free and
open-source platform

9
10. Sun Java System Web Server: It’s currently opted by 0.1% of all
websites. This web server is highly scalable, reliable and is ideal for running your
medium and large websites. It runs on Linux, Windows and Unix platforms.
However, the platform is not open-source.

7. Features of Web Server Software:


Various features of web server software are explained below:
● Client Request Processing: A Web server processes client requests that are
sent using HTTP protocol, both for static and dynamic pages
● IP-Sharing or Virtual Server: A Web server can work as many virtual
Web servers, serving many businesses with individual domain names but all
domains directing to the same IP address of the computer.
● Logical File: A Web server can have a logical file name corresponding to a
physical file. The physical file may be in the same computer or in another
computer, and also the logical name and the physical name do not have to be
the same. The Web server translates a logical URL into a physical fil address.
● Security: Web servers are located publicly on the Internet or privately in an
organizational intranet, usually behind the firewalls. The public documents are
configured to be viewed by anonymous users. For extranet users, the files and
folders are configured for validation of username and password. Access
controls provide or deny access to files based on the username or by extranet
company URL. Web servers allow processing digital certificates and
private/public key pairs and also support Secure Socket Layer (SSL)
● Site Management: Web server provides tools to manage multiple Web
sites, file security, virtual file, and log file analysis Administration of a Web
server can be performed from a remote computer in the network.
Administrators can grant or deny Web access to individual computers, groups
of computers, or entire domains. Administrators can stop and restart all Web
services without stopping and restarting the computer Site management also
include authoring tools such as Microsoft Front page 2000.

10
● Application Development: Application development includes Web editors
and extensions to produce Web pages – either static or dynamic These include
HTML editors such as FrontPage for static Web pages for dynamic Web
pages, there are protocols such as Common Gateway Interface (CGI),
Application programming Interface (API), and Active Server Pages (ASP)
that are used by programs such as Java, C++, and VBScript to develop
dynamic Web pages.
8.Web Server & Application Server:
Despite the contrast implied by “application server vs. web server,” on the
Internet the two types of server are usually deployed together for a common
purpose: fulfilling user requests for content from a website. There are no
standard documents that define the properties of web servers and application
servers, but let’s look at how the terms are commonly understood.
A web server‘s fundamental job is to accept and fulfill requests from clients
for static content from a website (HTML pages, files, images, video, and so
on). The client is almost always a browser or mobile application and the
request takes the form of a Hypertext Transfer Protocol (HTTP) message, as
does the web server’s response.

Figure 8.1 : Web Server and App server

8.1 Application server:


An application server’s fundamental job is to provide its clients with
access to what is commonly called business logic, which generates

11
dynamic content; that is, it’s code that transforms data to provide the
specialized functionality offered by a business, service, or application.
An application server’s clients are often applications themselves, and can
include web servers and other application servers. Communication
between the application server and its clients might take the form of
HTTP messages, but that is not required as it is for communication
between web servers and their clients. Many other protocols are popular,
including the variants of CGI.

8.2 Comparison between Web server and Application server:

Table 8.2: Difference between Web server and Application server

12
Conclusion:
In this research we have tried to explain what exactly web server is, why it is used
and contribution of some researchers in this reference. Web server can refer to
hardware or software, or both of them working together. On the hardware side, a
web server is a computer that stores web server software and a website's component
files. On the software side, a web server includes several parts that control how web
user’s access hosted files. All three of these elements must work together to provide
sufficient capacity in a given situation. We discussed all these terms in our previous
study we also talked about different types of web server.
The research findings have highlighted the interconnectedness of web servers and
application servers, emphasizing that they are often deployed together to fulfill user
requests for website content. While there are no universally accepted definition
distinguishing web servers from application servers, it is evident that their
combined efforts are crucial in delivering an optimal user experience.
Moreover, this research paper has shed light on the expanding role of web servers
website hosting, encompassing functions such as data storage, running enterprise
applications, also we obtain characteristics of web servers and it is features.

13
References:

Arlitt, M. F. (1996). A performance study of internet web servers. Master's thesis,


Computer Sci. Dept., University of Saskatchewan, Saskatoon, Saskatchewan
Kumar.

Lammle, T. (2012). CompTIA Network+ Study Guide Authorized Courseware:


Exam N10-005. John Wiley & Sons.

Hassan, A. E., & Holt, R. C. (2000, November). A reference architecture for web
servers. In Proceedings Seventh Working Conference on Reverse Engineering (pp.
150-159). IEEE.

Yang, L. (2018). The advantages of web servers. Journal of Web Hosting, 10(2),
45-57

Tran, T. (2022, June 28). Introduction to web servers. DigitalOcean.


https://www.digitalocean.com/community/conceptual-articles/introduction-to-web-
servers

14

You might also like