Web Server Project
Web Server Project
Computer Department
Research paper in
Web Servers
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
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.
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
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:
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.
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.
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:
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.
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.
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.
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.
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.
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:
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
14