2. List of Web Servers
In this chapter, you will learn:
o What is a web server?
o Identify the common features of a web server
o Identify the difference between a Kernel-mode
and user-mode web servers
o Identify the top web servers (software) used in
the Internet
3. Web Server
Web Server can refer to either the hardware
(the computer) or the software (the computer
application) that helps to deliver Web content
that can be accessed through the Internet
4. Web Server
• Common Usage of
a Web Server
o Host websites
o Gaming
o Data storage
o Run enterprise
applications
o receiving content
from clients
5. Web Server
Hypertext Transfer Protocol (HTTP)
o protocol that is being used by WWW
o deliver web pages on the request to clients
o means delivery of HTML documents
6. Web Server
Hypertext Transfer Protocol (HTTP)
o protocol that is being used by WWW
o deliver web pages on the request to clients
o means delivery of HTML documents
Hyper Text Mark-up Language (HTML)
o display content using a web (content) browser
7. Web Server
Support server-side scripting
o Active Server Pages (ASP),
o PHP
o Phyton
o PERL/CGI
o JAVA Applet
• Can also be found embedded in devices such
as printers, routers, webcams and serving
only a local network
9. History
• Tim Berners-Lee
o 1989 – proposed a project with the goal of easing
the exchange of information
o 1990 – wrote 2 programs
• A browser called WorldWideWeb
• CERN httpd (ran on NeXTSTEP)
o 1991 – 1994 –
• simplicity and effectiveness of early technologies help
to port them to diff OS
o 1994 – World Wide Web Consortium (W3C)
• to regulate the further development of the many
technologies involved (HTTP, HTML, XML, etc.)
10. Web Server
• Common Features
o Virtual hosting
o Large file support (>2GB on 32bit OS)
o Bandwidth throttling
o Server-side scripting
11. Web Server
Path Translation
A local file system resource (static requests)
o URL as it would be requested by a client:
http://www.example.com/path/file.html
o Browser would translate it as:
GET /path/file.html HTTP/1.1 (location of the files) from
HOST: www.example.com
On Apache Server: /home/www – location of the file
On UNIX System: /var/www
Result is: /home/www/path/file.html
12. Web Server - Path Translation
Static requests or Dynamic requests
1. URL as it would be requested by a client:
http://www.example.com/path/file.html
2. Browser would translate it as:
GET /path/file.html HTTP/1.1 (location of the files) from
HOST: www.example.com
On Apache Server: /home/www – location of the file
On UNIX System: /var/www
Result is: /home/www/path/file.html
13. Web Server - Path Translation
Static requests or Dynamic requests
3. Web server then reads the file
4. Sends a response to the client's Web browser
5. Response is:
• Describe the content of the file (HTML page)
• Error message
14. Web Server – Kernel Mode
A web server can be either implemented into the
OS kernel, or in user space
In-kernel web server (Linux or Microsoft IIS)
o Work faster – part of the system
o it can directly use all the hardware resources
• non-paged memory
• CPU time-slices
• network adapters
• buffers
15. Web Server – User Mode
A web server can be either implemented into the
OS kernel, or in user space
User Mode web server
o ask the system the permission to use more
memory or more CPU resources
o it takes time to make the request
o request is not always satisfied
• system reserves resources for its own usage
• responsibility to share hardware resources with all the
other running applications
16. Web Server – Load Limits
• Can serve only a certain maximum number of
requests per second depending on:
o its own settings,
o the HTTP request type,
o whether the content is static or dynamic,
o whether the content is cached, and
o the hardware and software limitations of the OS of
the computer on which the web server runs.
17. Web Server – Load Limits
• Limited number of concurrent client
connections
o usually between 2 and 80,000
o by default between 500 and 1,000 per IP address
When a web server is near to or over its limits,
it becomes unresponsive
18. Web Server
Causes of Overloads
• Too much legitimate web traffic.
• DoS or DDoS attack
• Computer worms
• XSS viruses
• Internet bots
• Internet (network) slowdowns
• Web servers (computers) partial unavailability
19. Web Server
Symptoms of overload
• Requests are served with long delays
• HTTP error code (ie 404 error)
• Refuses or resets (interrupts) TCP
connections before it returns any content.
• Returns only a part of the requested content
20. Web Server
Anti-overload technique
• managing network traffic by using:
o Firewall
o HTTP traffic managers
o Bandwidth management and traffic shaping
• deploying Web cache techniques
• using different domain names to serve
different content
• using different domain names and/or
computers
21. Web Server
Anti-overload technique
• using many web servers (program) / computer
• using many web servers (computers)
• adding more hardware resources
• tuning OS parameters for hardware
capabilities and usage
• using more efficient computer programs for
web servers
• using other workarounds, especially if dynamic
content is involved
22. Web Server Market Shares
Web Sites
Product Vendor Percent
Hosted
Apache Apache 397,867,089 64.91%
IIS Microsoft 88,210,995 14.39%
nginx Igor Sysoev 60,627,200 9.89%
GWS Google 19,394,196 3.16%
Resin Caucho Technology 4,700,000 0.77%
23. Web Servers
• Apache HTTP Server
is web server software notable for playing a key
role in the initial growth of the World Wide Web.
o developed and maintained by an open community
of developers - Apache Software Foundation
o run on a Unix-like operating system
o available for a wide variety of operating systems
o open-source software
24. Web Servers
• IIS (Internet Information Server)
A group of Internet servers (Web, HTTP FTP) with
additional capabilities for Windows OS Server
o includes a set of programs for building and
administering Web sites
o a search engine
o support for writing Web-based applications that
access databases
o Integrated with Windows OS Servers
25. Web Servers
• NGINX
provides a unique combination of web server,
caching proxy and load balancing solution
o enabled more performance, scalability, reliability
and security to organizations
o the 2nd most popular open source web server
26. Web Servers
• GWS (Google Web Server) Server types
divided in several types, each assigned to a different
purpose:
o Google Web Server
• coordinate the execution of queries sent by users, then
format the result into an HTML page
o Data-gathering servers
• spidering the Web (GoogleBot)
o Index server
• They return a list of document IDs ("docid") – query word
27. Web Servers
• GWS (Google Web Server) Server types
o Document servers
• store documents.
o Ad servers
• manage advertisements offered by services (AdSense)
o Spelling server
• make suggestions about the spelling of queries
28. Web Servers
• Resin
A web server and Java application server from
Caucho Technology.
o supports the Java EE standard as well as a
mod_php/PHP
o Resin Professional
o Resin Open Source
• feature limited open source version of the open core
Resin Professional version
• designed for hobbyists, developers, and low traffic web
sites