You are on page 1of 16

Abstract :

One of the most common uses of a web server platform is to host and deploy distributed
applications over the web and to deliver information through the Internet or intranet.
There are many web servers available in market such as Apache web server , lighttpd ,
Jigsaw , Klone , and many more with Apache being the most widely used .

The Apache web server is robust, scalable, and extensible. It is by far one of the most
well-known, widely used and tested Open Source projects.

With the release came a powerful, enhanced module API that includes managing all stages
of an HTTP request, an API for programming multiprocessing modules (MPM), and new
infrastructure to support serving multiple protocols, not just HTTP.

Many popular scripting/interpreted languages such as Perl, Python, Ruby, and PHP have
been implemented as Apache modules with great success. Applications utilizing these
modules can be classified in two ways: those that serve dynamic content to web browsers,
and those that serve dynamic content to other applications, e.g. web services.

Apache is a very complex web server, mainly because of the vast number of features
provided. Fortunately, most of this functionality stays in clearly separated and independent
program modules, which facilitates program understanding and maintenance.

1. Introduction:

In this modern cyber world Internet has became most important and crucial part for
e-business, banking and for education purpose. Each and every organization want to
improve their own firm by competing with others so, they go for web sites and web
hosting for their product details. In order to store all these web pages we need a huge
space to store these static and dynamic web pages, so we use web server.

The most common and efficient web server is APACHE HTTP web server . Now let us see
how this situation came about and what made APACHE web server more power full and
efficient. We will also discuss about its features and also compare with other web server in
market. Before we move on to Apache web server in detail, we need to know about the
working of web server and terminologies used in this report.

1.1 WEB SERVER:


A software program or server computer equipped to offer World Wide Web access.
Web server is a server which contains the both static and dynamic web pages. Web
servers allow you to serve contents over the Internet using the Hyper Text
Markup Language (HTML) and data in raw formats through different protocols
namely Hyper Text Transfer Protocol (HTTP) and File Transfer Protocol (FTP).
The main function of web server is to reply the web client’s request by providing web
pages, here internet act as the backbone of this process. The Web server accepts
requests from b rowsers like Opera and Internet Explorer then returns the appropriate
HTML documents.

1.2 WEB CLIENT:


Web client is a piece of software which is in the client side which is commonly known
as web browser whether it may be on a cellphone , computer, portable internet device
etc. The user will request the web page to the server using this browser by typing the
web address of the web page.

1.3 WEB PROXY:


Proxy server lies in between the web server and client, when the client request for a
page it will go to the proxy server to fetch the web page from its cache memory in the
proxy, if it has the web page it will directly send to the client. When the web page is
not in its cache it will send a request to the web server and send it to the client from
the web server. The general purpose of applying a proxy server is to restrict the direct
access to the web server and implementing a level of security.
1.4 WEB SERVER AND BROWSER INTERACTION:
A Web Browser acts as an interface between the user and the Web server.The browser
carries out the following on behalf of the user
➔ Contacts a web server

➔ Sends a request for information

➔ Receives the information and

➔ Displays it on the user's computer

On the other side , a Web server carries out certain listed processes which are

➔ Accept network connections from browsers

➔ Retrieve content from disk

➔ Run local CGI programs

➔ Transmit data back to clients

➔ Be as fast as possible

➔ Support multi-threading and multi-processing


1.5 TYPES OF WEB SERVERS:
The different types of web server, few servers which used commonly are listed below,

➔ HTTP server.

➔ FTP server.

➔ GOPHER server.

➔ TELNET server.

➔ NEWS server

1.5.1 Hyper Text Transfer Protocol (HTTP) server:

“A computer program that is responsible for accepting HTTP requests from clients,
which are known as web browser, and serving them HTTP responses along with
optional data contents, which usually are web pages such as HTML documents and
linked objects (images, etc.).”
There are certain features of web server :
i) Authentication
ii) Handling of static content and dynamic content
iii) HTTPS support using Secure Socket Layer
iv) Content Compression
v) Virtual Hosting
vi) Large File Support
Vii) Bandwidth

1.5.2 File Transfer Protocol (FTP) server:


File Transfer Protocol (FTP) is a network protocol used to transfer data from one
computer to another through a network, such as over the Internet. FTP servers
listens the incoming connection on port 21 and it uses TRANSIMISSION CONTROL
PROTOCOL.
There are three modes of functioning of a FTP Server:
Active mode:
• Dynamic port is opened by FTP client in active mode.
• Port number is sent to FTP server and waits for the connection.
• When connection is established the data is sent to port 20.

Passive Mode:
•In passive mode, the FTP server opens a dynamic port as done in active mode.
•Sends the FTP client the server's IP address and the port number on which it is
listening to initiate the connection.
•The FTP client binds the source port of the connection to a dynamic port.

Extended passive mode:


•The working of extended passive mode in FTP server is same as the passive mode
in FTP server.
• FTP server sends the port number and the client is to assume that it connects to
the same IP address that was originally connected to.

APACHE FTP server:


•Apache FTP server is cross platform
•Apache FTP server is resumable and it is open source software.
•It is completely written in JAVA, and it supports multithreading

1.5.3 GOPHER server:

Gopher is a distributed document search and retrieval network protocol designed


for the Internet. Its goal is to function as an improved form of Anonymous FTP,
enhanced with hyper linking features similar to that of the World Wide Web.
The Gopher protocol offers some features not natively supported by the Web and
imposes a much stronger hierarchy on information stored on it. Its text menu
interface is well-suited to computing environments that rely heavily on remote
computer terminals, common in universities at the time of its creation.

APACHE GOPHER server:


•This server was created on November 16th 2000 and it was updated on April
2001.
• This web server is very fast to load.
• It supports text, audio and graphics.

1.5.4 TELNET server:


TELNET (TELecommunication NETwork) is a network protocol used on the Internet or
local area network (LAN) connections. It was developed in 1969 beginning with RFC 15
and standardized as IETF STD 8, one of the first Internet standards. The term telnet also
refers to software which implements the client part of the protocol.

• Most of the TELNET clients uses UNIX systems and also available for virtually
all platforms.
• Most network equipment and OSs with a TCP/IP stack support some kind of TELNET
service server for their remote configuration (including ones based on Windows NT).

• TELNET uses SSH for remote access for security purpose.


• To establish the connection "To telnet" is also used or use a TELNET or other
interactive TCP connection.

1.5.5 NEWS server:


A news server is a set of computer software used to handle Usenet articles. A reader server
provides an interface to read and post articles, generally with the assistance of a news
client. A transit server exchanges articles with other servers. Most servers can provide
both functions.

Apache James for NEWS server:

•Apache James stands for Java Apache Mail Enterprise Server


•Open source SMTP and POP3 mail transfer agent and NNTP news server
•Written entirely in Java.
•Apache Software Foundation maintains the James server
•The James project contains "matcher" and "mailet" APIs; own mail handling and
filter spam can be done using these features.
•A matcher is used to determine whether to process Mailet is in the server or not.
•Mailets are used to send auto reply and to update a database.
2. HISTORY OF APACHE :

In February of 1995, the most popular server software on the Web was the public
domain HTTP daemon developed by Rob McCool at the National Center for
Supercomputing Applications, University of Illinois, and Urbana-Champaign.
However, development of that HTTP had started after Rob left NCSA in mid-1994,
and many webmasters had developed their own extensions and bug fixes that were
in need of a common distribution. A small group of these webmasters, contacted via
private e-mail, gathered together for the purpose of coordinating their changes (in
the form of "patches"). Brian Behlendorf and Cliff Skolnick put together a mailing
list, shared information space, and logins for the core developers on a machine in
the California Bay Area, with bandwidth donated by Hotwired. By the end of
February, eight core contributors formed the foundation of the original Apache
Group.
First Apache HTTP sever project was started on April 1995. On May 1995 apache
0.7 was introduced with new feature called pre- forked child process which
usually the UNIX based operating system like Linux does. With more features like
pool based memory allocation, Adaptive pre-forking process and modular
structure& API for better extensibility APACHE 0.8.8 was introduced on July 1995.
On December 1st 1995 Apache 1 was released , which can run on Novell’s
Netware, Microsoft’s Windows platform and also on Linux with more features.

2.1 APACHE 2.
Apache 2 was released to public on 6th April 2002 with more enhanced features
which works perfect on cross platform with security and more option for the user.
This version has fixed all the bugs present in previous version of Apache. It has
been divided into many modules like core module, optional module, user define
module. “Core module accepts all HTTP requests and then it will sends it to the
appropriate module” (optional or user define module).
License : Apache HTTP Server's license is different and issued by the open source
software community and for distribution to open and closed source derivations of
the source code. General Public License (GPL version 2) was not issued to the
Apache version 2 as it does not meet certain requirements. However, version 3 of
the GPL includes a provision (Section 7e) which allows it to be compatible with
licenses.
2.2 FEATURES OF APACHE 2.

Key features made in Apache 2 to continue as a leading web server in web world
are follows,

•Multi Processing Module (MPM) : In order Apache 2.0 to work in different


platform they need different features, so this allows choosing which module to be
ran during executing period or during compiling period in server.
The list of MPMs for various platform are as follows:

• Apache Portable Runtime (APR) : It is a supporting library for Apache web server.
Its main feature is to provide an API to the user in which they may code according
to the platform they use.

• Filtering : Apache modules can be written as filters which act as stream of content
as it is delivered to or from the server.

• Multi protocol support : Apache 2.0 is now able to serve multi protocol type.

•IPv6 support : It also support IPv6 by using APR library. It has listening sockets for
IPv6 by default.

•Unicode Support : Apache 2.0 in windows provide Unicode file system which
provides Multilanguage support for windows based installation.

2.3 ADVANTAGE OF APACHE 2.0:

•It provides SSL authentication to have a secure connection between server and the
client.
•It also provide support to PHP, which has inbuilt mod_php module in it.
•It is bug free cross platform open sources application.
•User has the ability to create their own module according to their need.
•It also supports My SQL and Perl and many more.
•Apache 2.0 HTTP web server will also act as forward and reverse proxy server.
Mod_proxy is the module used in Apache 2.0 .

2.4 DISADVANTAGE OF APACHE 2:

• Not advisable to use same name based virtual hosting to identify different SSL
based virtual host because if we need to use same host name we need to use same IP
address and same port number if we do this then there will be problem in SSL, this
will give room to the hackers to sniff the packets.

3.5 APACHE 2.2 :


Apache 2.2 was released on 19th January 2008 by fixing the entire reported bug in
older version and introduced some core features in order to remain as best web
server in web world.

2.6 FEATURES OF APACHE 2.2:


• Authentication & Authorization: The core features added in Apache 2.2 are
authentication and authorization modules. They have introduced a new module
known as mod authn alias .
• Caching: Cache module has undergone with some changes and now it’s
considered as production quality. Mod_disk_cache setup is cleaned up by using
htcacheclean .
• Proxy: In this version the mod_proxy has been provided with load balancer
module called mod_proxy_balancer and also mod_proxy_ajp module gives support
to Apache Jserv Protocol version1.3.
• Database support: In this version of Apache it supports SQL database by providing
mod_dbd and apr_dbd framework. It also provides pooling in threaded MPMs
which is not supported in Apache 2.0.
• Filtering: An enhanced support has been provided in filtering. Apache 2.2
introduces mod_filter with dynamic configuration to the output filter chain.
•Graceful shutdown: The MPMs like worker, event and prefork will allow hhtpd to
shutdown by using a signal called GracefulShoutdownTimeout .

2.7 ADVANTAGES OF APACHE 2.2:

•Large file support for handling file with more than 2 GB on 32 bit UNIX system.
•User can create own Apache server module using custom module.
•APACHE 2.2 can support in all operating system with out any hardware changes.

3. APACHE AND OTHER WEB SERVERS (a study) :

3.1. COMPARISION OF APACHE AND IIS

IIS pros and cons :

PROS
• easy to get started
• little or no tuning required
• Active Server Pages are easy to use
• integrated ODBC support
• integrated FrontPage support
• GUI and command-line administration interfaces
• large installed base
• availability of development tools

CONS
• crash may require complete system rebuild and restore from backups
•most additional functionality requires software purchase (e.g. FrontPage)
•a poorly written COM object or looping script can kill the web server

Apache pros and cons :

PROS
• open source project under active development
• large installed base
•support readily available from worldwide developer and user communities
• flexible and powerful URL rewriting
• integrated Perl engine provides direct access to the API
•ODBC interface is available (not aware of any UW use) without cost
•rich feature set
•extensible (can link new modules into the core server)

CONS
• initial configuration and tuning may be required
• integrated Perl engine significantly increases memory use
• long learning curve for effective use
3.2 WHO RULES THE WEB WORLD?
According to the recent survey by Net craft “Apache falls by 0.27% and Microsoft
by 0.14%. In absolute terms, this still means that Apache has gained slightly more
sites than Google's 1.07 million, while Microsoft gains 847 thousand sites.”
Let us see the graphical presentation of the survey taken by NETCRAFT till April 18,
2008. From the time Apache web server started in 1995, the growth was steady
increase till 2006, which had almost 75% of the web pages in it but after the
release of IIS 6 in 2006 the growth started to reduce gradually and now it reached
to 50.69% which is almost 83,554,638 web pages

FIGURE : Comparison of different web server


In same way we can see from the graph that IIS has started to increase its market
share. On April 2008 Microsoft’s IIS has the market share of 35.47 which stands at
the second position with other web servers. In recent past Google’s GWS has shown
a tremendous increase in the market. By comparing all the above we can say that
APACHE still rules the web world.
3.3 WHAT THE BUSIEST 1Mn. WEB SITES USE:
3.4 FUTURE KING OF WEBSERVER:
If we see the present statistics there will be a tough competition between APACHE
web server and Microsoft’s IIS. The main and foremost reason why Apache is
leading is, it is free and open source software and it is cross platform, so it still
depends on the next version of the both web server.

4. CONCLUSIONS :
The Apache project will continue to be an open-source project that keeps up with
advances in the HTTP protocol and web developments in general. The people
behind the project are open to suggestions for fixes and improvements, and they
respond to needs of large volume providers as well as occasional users. Part of
Apache's original success was due to the numerous tests conducted by both
developers and users. The Apache Group maintains rigorous standards before
releasing any new version of the server, and when bugs are reported, the
developers release patches and new versions as soon as they are available. If you are
an IT manager or a system administrator currently using Apache 2 or 2.8, it is
highly recommend upgrading to Apache 3.0 once the release version is available.

5. REFRENCES :

[1]. Apache web site (httpd.apache.org/ABOUT_APACHE.html).


[2]. Available online (www.apacheweek.com/features/ap2).
[3]. Andrew S. Tanenbaum & Maarten Van Steen (DISTRIBUTED SYSTEMS
PRINCIPLE AND PARADIGMS) ISBN: 0-13-121786-0.
[4] Available online (httpd.apache.org/docs/2.0/mpm.html)
[5] Available online (www.stombi.net/blog/tag/Apache2)
[6] Available online (httpd.apache.org/docs/2.0/mod/mod_proxy.html)
[7] Available online (httpd.apache.org/docs/2.2/new_features_2_2.html)
[8] Available online (http://info.cern.ch/)
[9] Available online (www.nextcomputers.com)
[10] Available online (http://httpd.apache.org/docs/2.0/install.html)
[11] Available online (http://httpd.apache.org/docs/1.3/netware.html)
[12] Available online
(http://webdesign.about.com/library/weekly/bl_installapache.htm)
[13] Available online (http://en.wikipedia.org/wiki/Web_server)
[14] Available online (http://en.wikipedia.org/wiki/File_Transfer_Protocol)
[15] Available online (http://en.wikipedia.org/wiki/Gopher_ (protocol)
[16] Available online (http://en.wikipedia.org/wiki/TELNET)
[17] Available online (http://en.wikipedia.org/wiki/Apache_James)
[18] Net craft survey (http://news.netcraft.com/archives/web_server_survey.html)
(http://news.netcraft.com/archives/web_server_survey.html)

You might also like