You are on page 1of 6

WEB SERVER

Definition: A web server is a computer that runs websites. It's a computer program that
distributes web pages as they are requisitioned. The basic objective of the web server is to
store, process and deliver web pages to the users. This intercommunication is done using
Hypertext Transfer Protocol (HTTP). These web pages are mostly static content that
includes HTML documents, images, style sheets, test etc. Apart from HTTP, a web server
also supports SMTP (Simple Mail transfer Protocol) and FTP (File Transfer Protocol)
protocol for emailing and for file transfer and storage.

Description: The main job of a web server is to display the website content. If a web server
is not exposed to the public and is used internally, then it is called Intranet Server. When
anyone requests for a website by adding the URL or web address on a web browser's (like
Chrome or Firefox) address bar (like www.economictimes.com), the browser sends a
request to the Internet for viewing the corresponding web page for that address. A Domain
Name Server (DNS) converts this URL to an IP Address (For example 192.168.216.345),
which in turn points to a Web Server.

The Web Server is requested to present the content website to the user's browser. All
websites on the Internet have a unique identifier in terms of an IP address. This Internet
Protocol address is used to communicate between different servers across the Internet.
These days, Apache server is the most common web server available in the market.
Apache is an open source software that handles almost 70 percent of all websites
available today. Most of the web-based applications use Apache as their default Web
Server environment. Another web server that is generally available is Internet Information
Service (IIS). IIS is owned by Microsoft.

Web Server Working


Web server respond to the client request in either of the following two ways:
• Sending the file to the client associated with the requested URL.

• Generating response by invoking a script and communicating with database


When client sends request for a web page, the web server search for the requested page
if requested page is found then it will send it to client with an HTTP response.
If the requested web page is not found, web server will the send an HTTP response:Error
404 Not found.
If client has requested for some other resources then the web server will contact to the
application server and data store to construct the HTTP response.

FEATURES

HTTP: every web server program operates by accepting HTTP requests from the client,
and providing an HTTP response to the client. The HTTP response usually consists of an
HTML document, but can also be a raw file, an image, or some other type of document
(defined by MIME-types); if some error is found in client request or while trying to serve the
request, a web server has to send an error response which may include some custom
HTML or text messages to better explain the problem to end users.

Logging: usually web servers have also the capability of logging some detailed
information, about client requests and server responses, to log files; this allows the
webmaster to collect statistics by running log analyzers on log files.

Authentication, optional authorization request (request of user name and password) before
allowing access to some or all kind of resources.

Handling of not only static content (file content recorded in server's filesystem(s)) but of
dynamic content too by supporting one or more related interfaces (SSI, CGI, SCGI,
FastCGI, JSP, PHP, ASP, ASP .NET, Server API such as NSAPI, ISAPI, etc.).

HTTPS support (by SSL or TLS) to allow secure (encrypted) connections to the server on
the standard port 443 instead of usual port 80.

Content compression (i.e. by gzip encoding) to reduce the size of the responses (to lower
bandwidth usage, etc.).

Virtual hosting to serve many web sites using one IP address.

Large file support to be able to serve files whose size is greater than 2 GB on 32 bit OS.

Bandwidth throttling to limit the speed of responses in order to not saturate the network
and to be able to serve more clients.

APACHE WEB SERVER

INTRODUCTION

Apache Web Server is an open-source web server creation, deployment and management
software. Initially developed by a group of software programmers, it is now maintained by
the Apache Software Foundation.
Apache Web Server is designed to create web servers that have the ability to host one or
more HTTP-based websites. Notable features include the ability to support multiple
programming languages, server-side scripting, an authentication mechanism and
database support. Apache Web Server can be enhanced by manipulating the code base or
adding multiple extensions/add-ons.
It is also widely used by web hosting companies for the purpose of providing shared/virtual
hosting, as by default, Apache Web Server supports and distinguishes between different
hosts that reside on the same machine.
ARCHITECTURE

WORKING
Apache's main role is all about communication over networks, and it uses the TCP/IP
protocol (Transmission Control Protocol/Internet Protocol which allows devices with IP
addresses within the same network to communicate with one another).
The TCP/IP protocol is a set of rules that define how clients make requests and how
servers respond, and determine how data is transmitted, delivered, received, and
acknowledged.

The Apache server is set up to run through configuration files, in which directives are
added to control its behavior. In its idle state, Apache listens to the IP addresses identified
in its config file (HTTPd.conf). Whenever it receives a request, it analyzes the headers,
applies the rules specified for it in the Config file, and takes action.
But one server can host many websites, not just one - though, to the outside world, they
seem separate from one another. To achieve this, every one of those websites has to be
assigned a different name, even if those all map eventually to the same machine. This is
accomplished by using what is known as virtual hosts.
Since IP addresses are difficult to remember, we, as visitors to specific sites, usually type
in their respective domain names into the URL address box on our browsers. The browser
then connects to a DNS server, which translates the domain names to their IP addresses.
The browser then takes the returned IP address and connects to it. The browser also
sends a Host header with the request so that, if the server is hosting multiple sites, it will
know which one to serve back.

Apache HTTP Server provides the following features:


• The event Multi-Processing Module (MPM) and integrated proxy module support for the
FastCGI protocol allow the server to serve more concurrent requests.
• Improvements to asynchronous read and write handling.

• Embedded Lua scripting.

IIS
INTRODUCTION
An IIS web server accepts requests from remote client computers and returns the
appropriate response. This basic functionality allows web servers to share and deliver
information across local area networks, such as corporate intranets, and wide area networks,
such as the internet.

A web server can deliver information to users in several forms, such as static webpages
coded in HTML; through file exchanges as downloads and uploads; and text documents,
image files and more.

How IIS works


IIS works through a variety of standard languages and protocols. HTML is used to create
elements such as text, buttons, image placements, direct interactions/behaviors and
hyperlinks. The Hypertext Transfer Protocol (HTTP) is the basic communication protocol used
to exchange information between web servers and users. HTTPS -- HTTP over Secure
Sockets Layer (SSL) -- uses Transport Layer Security or SSL to encrypt the communication
for added data security. The File Transfer Protocol, or its secure variant, FTPS, can transfer
files.
FEATURES
IIS 10 adds support for the HTTP/2 protocol, to offer more efficient resource use and lower
latency compared to HTTP 1.1. IIS 10 works on the minimal server deployment model
Nano Server under Windows Server 2016, and can run ASP.NET Core, Apache Tomcat and
PHP workloads on IIS on the Nano Server.
IIS 10 works in a container and virtual machine, so developers and administrators have
more flexibility in deployment choices, as well as the density to accommodate a broad
range of web applications.

ARCHITECTURE

DIFFERENCE BETWEEN APACHE AND IIS

Apache IIS
Apache is free. IIS is packaged with Windows.
Apache can run on almost any OS
including UNIX, Apple’s OS X, and on IIS only runs on Windows.
most Linux Distributions.
Apache comes from the community IIS has a dedicated staff to answer most problems while
itself. support.
Apache optimized for the most of the OS IIS is optimized for Windows because they are from the
including UNIX, Apple's OS X, Linux. same company.
Since Windows NT 4.0 launched, Microsoft IIS has been
The original Apache web server is based available as an optional feature on Windows Server
upon HTTP code largely credited for operating systems. At the time, IIS 3.0, was a basic
revolutionizing the entire World Wide application and didn’t really get its push as a true
Web. As an open-source software platform until IIS 4.0. The Microsoft server took off with
product, the earlier days saw it being the release of Windows Server 2003 and IIS 6.0, which
used to mainly work with Unix and was far more superior to previous editions. With the
Unix-like platforms, even though it recent release of Windows Server 2008, IIS 7.0 was
could be tweaked to work within the introduced, unleashing power and performance that
Windows environment. would make it one of the most effective web servers on
the market.

You might also like