Table of contents Overview Features Virtual hosting Large file support Bandwidth throttling Server-side scripting Path translation Load limits Services Top web servers Apache web server Microsoft web server Protocols used My conclusion
Web server It is a computer program It delivers content such as web pages The primary function of a web server is to deliver web pages to clients.
Cont… <ul><li>A client, commonly a web browser initiates communication by making a request for a specific resource using HTTP
the server responds with the content of that resource
Otherwise display error message if unable to do so </li></ul>
Cont... <ul><li>It is not always used for serving WWW
an internal or external program name </li></ul>
Load limits <ul><li>it can handle only a limited number of concurrent client connections
usually between 2 and 80,000, by default between 500 and 1,000 per IP address </li></ul>
Kernel-mode vs User-mode web server <ul><li>will usually work faster
it can directly use all the hardware resources it needs, such as non-paged memory, CPU time-slices, network adapters, or buffers. </li></ul><ul><li>will usually work slowly compared to that
Ask permission to the system to use more memory or more CPU resource </li></ul>
Overload causes <ul><li>Too much Web traffic </li></ul><ul><li>Computer worms </li></ul>sometimes cause abnormal traffic because of millions of infected computers <ul><li>XSS viruses </li></ul>can cause high traffic because of millions of infected browsers and/or Web servers; <ul><li>Internet (network) slowdowns. </li></ul>that client requests are served more slowly and the number of connections increases so much that server limits are reached;
Overload symptoms <ul><li>requests are served with delays </li></ul>(from 1 second to a few hundred seconds); <ul><li>500, 502, 503, 504 ,404HTTP errors are returned to clients </li></ul><ul><li>TCP connections are refused or reset before any content is sent to clients </li></ul><ul><li>In very rare cases, only partial contents are sent </li></ul>
Anti-overload techniques Managing network traffic, by using : * Firewalls to block unwanted traffic coming from bad IP sources or having bad patterns. * HTTP traffic managers to drop, redirect or rewrite requests having bad HTTP patterns. * Bandwidth management and traffic shaping , in order to smooth down peaks in network usage.
Popular authentication modules include mod_access, mod_auth, mod_digest, and mod_auth_digest </li></ul>
Uses <ul><li>Apache is primarily used to serve both static content and dynamic Web pages on the World Wide Web
Apache is used for many other tasks where content needs to be made available in a secure and reliable way
Programmers developing web applications often use a locally installed version of Apache in order to preview and test code as it is being developed. </li></ul>
Performance <ul><li>Instead of implementing a single architecture, Apache provides a variety of MultiProcessing Modules (MPMs) which allow Apache to run in a process-based, hybrid or event-hybrid mode, to better match the demands of each particular infrastructure.
the design of Apache is to reduce latency and increase throughput
control through a variety of standard OS tools and utilities. </li></ul>
Apache... Execution Environment <ul><li>Available on a variety of platforms, including Windows.
The redesign enables it to support a wide array of platforms in more efficient ways that lead toUnix- and Windows-specific execution models that make the best use of the OS. </li></ul>
Feature IIS Apache Independent Request Handler Yes Yes (limited) Multiple Process Request Handlers Yes Yes Thread Support Yes Yes (on a suitable OS)
Http protocol <ul><li>The HTTP is used by web servers to communicate web pages to web browsers. </li></ul><ul><li>HTTP is used when your browser connects to a web server, requests a web page from the server, and downloads the page. </li></ul><ul><li>It is the common standard that enables any browser to connect to any server, anywhere in the world . </li></ul>
My conclusion <ul><li>I can run the Apache web server on Windows XP and also in linux environment. </li></ul><ul><li>If i am going to use PHP or Perl for web sites,then Apache web server is best one because It supports both the languages </li></ul>And also the performance is better than others