Post on 17-May-2015
transcript
IT2032PA Content Management
System (CMS)Nitec in Social Media & Web Technology
List of Web Servers
In this chapter, you will learn:oWhat 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
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
Web Server
• Common Usage of a Web Servero Host websiteso Gamingo Data storage o Run enterprise
applicationso receiving content
from clients
Web Server
Hypertext Transfer Protocol (HTTP)o protocol that is being used by WWWo deliver web pages on the request to clientso means delivery of HTML documents
Web Server
Hypertext Transfer Protocol (HTTP)o protocol that is being used by WWWo deliver web pages on the request to clientso means delivery of HTML documents
Hyper Text Mark-up Language (HTML)o display content using a web (content) browser
Web Server
Support server-side scripting o Active Server Pages (ASP), o PHPo Phytono PERL/CGIo JAVA Applet
• Can also be found embedded in devices such as printers, routers, webcams and serving only a local network
History
• Do you know this guys?
History
• Tim Berners-Lee o 1989 – proposed a project with the goal of easing
the exchange of informationo 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.)
Web Server
• Common Featureso Virtual hosting o Large file support (>2GB on 32bit OS)o Bandwidth throttling o Server-side scripting
Web Server
Path TranslationA local file system resource (static requests)oURL 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
Web Server - Path Translation
Static requests or Dynamic requests1. 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
Web Server - Path Translation
Static requests or Dynamic requests3. 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
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 systemo it can directly use all the hardware resources
• non-paged memory• CPU time-slices• network adapters• buffers
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 resourceso it takes time to make the requesto request is not always satisfied
• system reserves resources for its own usage • responsibility to share hardware resources with all the
other running applications
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, ando the hardware and software limitations of the OS of
the computer on which the web server runs.
Web Server – Load Limits
• Limited number of concurrent client connections o usually between 2 and 80,000o by default between 500 and 1,000 per IP address
When a web server is near to or over its limits, it becomes unresponsive
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
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
Web Server
Anti-overload technique• managing network traffic by using:
o Firewallo 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
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
Web Server Market Shares
Product VendorWeb Sites
HostedPercent
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%
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 systemo available for a wide variety of operating systemso open-source software
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 siteso a search engineo support for writing Web-based applications that
access databaseso Integrated with Windows OS Servers
Web Servers
• NGINX provides a unique combination of web server, caching proxy and load balancing solutiono enabled more performance, scalability, reliability
and security to organizationso the 2nd most popular open source web server
Web Servers
• GWS (Google Web Server) Server typesdivided 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
Web Servers
• GWS (Google Web Server) Server typeso Document servers
• store documents.
o Ad servers • manage advertisements offered by services (AdSense)
o Spelling server• make suggestions about the spelling of queries
Web Servers
• ResinA 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