You are on page 1of 27

CCM4320

Network Systems and Services
COURSE WORK
APACHE WEBSERVER

Seminar Group ID :3
Seminar Group Leader : Basith Ahamed M S
Student Name : Ganesh kumar.M
Student Number : M00193665
Campus : Hendon

School of Computing Science
Dr G E Mapp
Middlesex University

1
CCM4320
Network Systems and Services
COURSE WORK
APACHE WEBSERVER

Seminar Group ID :3
Seminar Group Leader : Basith Ahamed M S
Student Name : Basith Ahamed M S
Student Number : M00186158
Campus : Hendon

School of Computing Science
Dr G E Mapp
Middlesex University

2
CONTENT PAGE
Contents Page no
1) Abstract 1
2) Introduction 2
2.1 Web Server 3
2.2 Web Client 3
2.3 Web proxy Server 4
2.4 Types of Web Server 5
3 HISTORY
3.1 Apache 2 6
3.2 Features of Apache 2 6
3.3 Advantage of Apache 2 7-8
3.4 Disadvantage of Apache 2 8-9
3.5 Apache 2.2 9
3.6 Features of Apache 2.2 9
3.7 Advantage of Apache 2.2 10
4. APACHE IN CROSS PLATFORM
4.1 Apache with Unix 10-12
4.2 Apache with Netware 12-14
4.3 Apache with Microsoft Windows 14-16
5 HISTORY OF OTHER WEBSERVERS 16
5.1 Microsoft IIS 16-17
5.2 AOL’s & Sun Java System Web server 17-19
6 BEST OF WEBSERVERS
6.1 Comparison of Apache and IIS 19-21
6.2 Who rules the web world 21
6.3 Future King of Web Servers 22
7 Conclusion 23
8 Reference 24-25

3
LIST OF FIGURES AND TABLES

FIGURES:
Figure 1: Web client request and web server acknowledge with proxy server

Figure 2: Multi processing module in Apache web server

Figure 3-8: Apache installation in windows operating system.

Figure 9: Comparison of different web server

TABLES:
Table 1: list of MPM’s in different operating system.

Table 2: key features in Java system web server

Table 3: Apache vs. IIS

4
APACHE WEB SERVER DOMINATES THE WEB
WORLD
GANESH KUMAR, BASITH AHAMED
(GM489 @MDX.AC.UK, BM478 @MDX.AC.UK)
MIDDLESEX UNIVERSITY, LONDON, UK
22.4.2008

ABSTRACT:

In this technical paper we are going to see deeply about web server and
most widely used web server in web world. The common web servers
used are APACHE and IIS and we will see the key features of APACHE
and any operating system changes that were made to make it more
efficient and different changes made to apache, so that it can be ported to
other operating system. We will also see about other web servers which
couldn’t reach the user in this web world effectively, and we will also see
the future of each web server.

2. 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 there own firm by competing with other so, they go for web sites and web
hosting there 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 serve. The most common and
efficient web server is APACHE HTTP web server [18]. 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 paper.

5
2.1 WEB SERVER:
Web server is a server which contains the both static and dynamic web pages.
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.

2.2 WEB CLIENT:
Web client is a piece of software which is in the client side which is commonly known as
web browser. The user will request the web page to the server using this browser.

2.2WEB PROXY SERVER:
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.
2.3 TYPES OF WEB SERVER:
The different types of web server, few servers which used commonly are listed below,
• HTTP server.
• FTP server.
• GOPHER server.
• TELNET server.
• NEWS server.

6
Hyper Text Transfer Protocol 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.).”[13]
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

File Transfer Protocol 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. [14]
FTP servers listens the incoming connection on port 21 and it uses TRANSIMISSION
CONTROL PROTOOL.

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.

7
GOPHER server: [3]

“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”.[15]
“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.”[15]

APACHE GOPHER server:
• This server was created on November 16th 2000 and it was updated on April
2001.
• In this web server it takes only several seconds to load.
• It supports text, audio and graphics.

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”.[16 ]
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.

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”17].
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.

8
• 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.

3. 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.” [1]

First Apache HTTP sever project was started on April 1995.[1 ] 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[1]. On December 1st 1995
Apache 1 was released [1], which can run on Novell’s Netware, Microsoft’s Windows
platform and also on Linux with more features.

3.1 APACHE 2.

Apache 2 was released to public on 6th April 2002[2] 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) [3].

9
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.

3.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 [4]

OPERATING SYSTEM MULTI PROCESS MODULE

BeOS
BeOS
mpm_netware
Netware
mpmt_os2
OS/2
prefork
Unix
mpm_winnt
Windows

Table 1: list of MPM in different operating system

10
• 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”[2].
• 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.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.

11
• 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 [6].

3.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.[5]

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.

3.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 [7].
• 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 [7].
• 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.[7]
• 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.

12
• Graceful shutdown: The MPMs like worker, event and prefork will allow hhtpd to
shutdown by using a signal called GracefulShoutdownTimeout [7].

3.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.

4. APACHE IN CROSS PLATFORM.

Apache works on various operating systems, which is one of the reasons to
make it popular. It includes operating system like UNIX, FreeBSD, Linux, Solaris,
Novell NetWare, Mac OS X, and Microsoft Windows. Few Operating systems and how
efficiently apache works on it is explained with its configuration and installation below.

4.1 APACHE WITH UNIX

1) REQUIREMENT:

DISK SPACE:
• It requires at least 50 MB of temporary free disk space.

• Occupies 10 MB after installation of the actual disk space.

• ANSI-C compiler and build system:

• Must have a C compiler installed. The compiler recommended is GCC from free
software foundation version 2.7.2.

ACCURATE TIME KEEPING:
The ntpdate or xntpd programs are used for synchronization in the system. These
programs are based on Network Time Protocol.

PERL 5:
If we need to run Perl program in UNIX we need to have Perl 5 interpreter is needed. If
we had installed multiple interpreters we need to use the –with –perl option in order to
use the exact interpreter.

2) STEPS TO IMPLEMENT APACHE IN UNIX.
Download:

The APACHE HTTP server can be downloaded from “httpd.apache.org/download.cgi”
[10].
13
After downloading verify that you have the unmodified version of the APACHE HTTP
server.

Compiling and Installing:

Installation of Apache 1.3 used a custom set of scripts.

Libtool and autoconf are the two option that allow installation in apache 2.0

Extract

“$ gzip -d httpd-2_0_NN.tar.gz
$ tar xvf httpd-2_0_NN.tar” [10]

Creates a new directory under the current directory, which contains the source code.

Configuring the source tree

In this step we can specify the feature we needed by enabling and disabling modules

The code below is generally used to configure the source tree

“$ CC="pgcc" CFLAGS="-O2" \
./configure --prefix=/sw/pkg/apache \
--enable-rewrite=shared \
--enable-spelling=shared “[10]

Build

To build the various features of apache the below command can be used

“$ make” []

Install:

To install, below command should be used

“$ make install” [10]

Customize:

Apache HTTP server can be customized under PREFIX/conf/. Command given below is
used

“$ vi PREFIX/conf/httpd.conf”[10]

14
Test:

The Command below does the immediate test run

“$ PREFIX/bin/apachectl start” [10]

Upgrading:

When changing between major releases (for example, from 1.3 to 2.0 or from 2.0 to 2.2),
Big time differences in the compile-time and run-time configuration manual adjustments
should be made

When changing between minor releases for example, (from 2.0.55 to 2.0.57) is
comparatively easy, the file config.nice does the changes.

Procedure to upgrade:

“$ ./config.nice
$ make
$ make install
$ PREFIX/bin/apachectl stop
$ PREFIX/bin/apachectl start “[10]

4.2 APACHE WITH NETWARE

REQUIREMENT:

Apache runs on NetWare 5.x and above and is installed by default on all NetWare 6
servers.

• NetWare 5.0 , Service Pack 5 should be installed
• NetWare 5.1 , Service Pack 1 should be installed

Download:

The APACHE HTTP server can be downloaded from “http://www.apache.org”

Steps to install:

“Follow these steps to install Apache on NetWare from the binary download (assuming
you will install to sys:/apache):

• Unzip the binary download file to the root of the SYS: volume (may be installed
to any volume)
• Edit the httpd.conf file setting Server Root and Server Name to reflect your
correct server settings

15
• Add SYS:/APACHE to the search path. EXAMPLE: SEARCH ADD
SYS:\APACHE

Follow these steps to install Apache on NetWare manually from your own build source
(assuming you will install to sys:/apache):

• Create a directory called Apache on a NetWare volume
• Copy Apache.nlm, Apachec.nlm, htdigest.nlm, htpasswd.nlm, xmlparse.nlm, and
xmltok.nlm to sys:/apache
• Create a directory under SYS:/APACHE called CONF
• Copy all the *.CONF-DIST-NW files to the SYS:/APACHE/CONF directory and
rename them all as *.CONF files
• Copy the MIME.TYPES and magic files to SYS:/APACHE/CONF directory
• Copy all files and subdirectories in \apache-1.3\icons to SYS:/APACHE/ICONS
• Create the directory SYS:/APACHE/LOGS on the server
• Create the directory SYS:/APACHE/CGI-BIN on the server
• Create the directory SYS:/APACHE/MODULES and copy all nlm modules built
into the modules directory
• Edit the HTTPD.CONF file setting ServerRoot and ServerName to reflect your
correct server settings
• Add SYS:/APACHE to the search path. EXAMPLE: SEARCH ADD
SYS:\APACHE”[11]

Running Apache for NetWare:

Type apache at the console it will start the server.

To load Apache in a protected environment

“Load address space = apache apache” [11]

To unload if not in the protected space

“Unload apache” [11]

To unload from a protected environment

“Unload address space = apache apache” [11]

Build:

“Set the following environment variables:

• set METROWERKS=<Base location of the MW
CodeWarrior tools>
• set NWSDKDIR=c:\Novell\NDK\nwsdk - Location of the
NetWare CLib SDK
16
• set LDAPSDK=c:\Novell\NDK\cldapsdk - Location of the
NetWare LDAP SDK
• set AP_WORK=<Base location of the apache-1.3
source files>
• set GNUTOOLS=<Location of the AWK, SED and
GMAKE utilities>” [11]

4.3 APACHE WITH MICROSOFT’S WINDOWS:

Step-by-Step Installation of Apache

1) Download the binary for Windows32, and exact the file name apache_1_3_#-win32-
src.msi.

Figure 3
2) License:
Select I Agree, after reading the licensing agreement

Figure 4

17
3) Then Comes the Read me file which has lot information about Apache

Figure 5
4) Complete the asked details

Figure6

5) choose the type of Installation .There are two options namely

i) Custom & Typical

18
Figure7
6) That’s it! Done.

Figure8

5. HISTORIES OF OTHER SERVERS

“During the time of 1990’s Mr. Beners-Lee wrote two programs to transfer information
over Internet by using the following, world wide web which is a browser and a server
running in NeXT computer or black box”[8]. He did this in order to transfer the
information from CERN physicists at the lab. “The first web server created by him was
“Info.cern.ch”. the major draw back of this web server was it can run only in the NeXT
computer with its own operating system called NEXSTEP which is from the family of
UNIX. The first web page was “http://info.cern.ch/hypertext/WWW/TheProject.html”this
web page gave the detail about the same project. Later this there where many web server
which can out with more facility and for different operating system. Some web server
which still in market are APACHE as we have seen more about its features, Microsoft’s
Internet Information Service (IIS)[10], AOL & SUN’s web server called Java system
web server[11], NETSCAPE’s i Planet[12].

5.1 MICROSOFT’s IIS:

Acronym of IIS is Internet information service this is the web server created by the
Microsoft on 1996 the first version was IIS1.0 which is add on for Windows NT 3.51.
Later in same year IIs 2.0 was released with Windows NT 4.0 RTM which can support

19
both HTTP and FTP pages, and then IIS 3.0 was released with Windows NT 4.0 SP3
which can also support GOPHER. IIS 4.0 was released with Windows NT internet option
pack on 1997 which can support SMTP and NNTP only in server side.

Microsoft then released IIS 5.0 for also Windows 2000 operating system with same
features in IIS 5.0 for Windows NT Internet option pack, by 2002 Microsoft felt it want
to give a strong come back in order to race with its only major competitor Apache HTTP
web server, so they released IIS 5.1 with Windows XP professional with the capability of
supporting SMTP in both server and client side. On 2003 IIS 6.0 was released with
Windows server 2003 which has the capability to support NNTP in client side also and it
also supports for IPv6. The major blow by Microsoft was on IIS 7.0 there is no
difficulties till now but any way IIS stands only at 2nd position in global market.

FEATURES IN RESENT VERSION OF IIS 7.0

Reliability features: IIS 7.0 can be configured in such a way it can run any process in an
isolated environment. It can also use multiple application pools which means, the user
can create multiple application and can have its own configuration. Because of this the
process can receive their request directly from the kernel, so this will save time for
processing. If the worker process in kernel fails to work there will be a system to keep
another worker in queue to work the same process using Kernel-mode Queuing.

Security features: IIS 7.0 provides good security by providing digest authentication, SSL
and TLS in order to provide secure way to exchange information between the user and
client. It also provides a 128 bit encryption key called server gated cryptography which is
an extended security of SSL. We can allow or deny access to the individual user or entire
domain by using its IP address.

Performance features: IIS 7 provides a good performance feature like HHTP.sys.
HTTP.sys will provide connection management, takes care about bandwidth throttling,
and text-based logging. A Universal Resource Identifier (URI) response cache, called
flexible caching is been implemented by HHTP.sys, which enables HTTP applications to
cache static data to implement a URI namespace mapping mechanism called application
pools.[18]

5.2 NETSCAP, AOL & SUN’s Java System Web server:

Before we talk about java system web server we need to know how it has formed
initially. A web server called iplanet was created by Netscape initially and then Sun’s had
collaboration with the Netscape and renamed the iplanet web server as called Java
system web server. Later few years AOL had merged with Netscape and SUN. On 2002
all the three company broke up, AOL and SUN Microsystems had the equal share and
they run the java system web server still. The latest version was launched on 2007
January.

20
Java system web server is designed in such a way it can run any kind of application. It is
able to work on all operating system and it can support JSP and JAVA servlet
technologies. [Wiki] It also offers built-in HTTP reverse-proxy capabilities to provide a
highly scalable HTTP front-end to application servers or other HTTP origin servers. This
server will also allow running other scripting technologies like PHP, Perl, Python and
many more by using FastCGI interface.

KEY FEATURES:

Server Administration The administration interface allows control
over virtual servers, quick access to tasks,
and integrated cluster management from a
browser or a command-line. The command-
line interface is comprehensive, secure,
scriptable and remotely operated. Most
administration tasks can be applied without
requiring processes to restart.
Versatile Pattern Matching Full regular expression support provides
versatile processing of requests based on
patterns, numerous environment variables,
masking of complex application URIs, and
simple mass hosting.
Java Container and Session Failover A high-performance, in-process Java
container provides a Java EE 5 compliant
implementation of Java Servlets 2.5, JSP 2.1
and more. The Java container offers
lightweight session replication and failover
via in-memory, secure persistence within a
cluster.
WebDAV File Management WebDAV support allows easy management
and publishing of content using industry
standard tools.
HTTP Compression Compressing data before it is sent to User-
Agents enables administrators to conserve
bandwidth and improve web site
performance. Responses can be compressed
based on MIME type, path, User-Agent, and
more. Frequently accessed stated content can

21
be automatically pre-compressed to ease
system load.
Virtual Server Support Thousands of domains can be served from a
single Java System Web Server. Each virtual
server can have its own IP address, port,
document root, log files, and more.
Extensive virtualization allows efficient
mass hosting of many domains with
extensive customization of each domain.
Protection from Common Threats Built-in sed filters allows developers and
administrators to use familiar syntax to
modify requests and responses. This
provides protection from common attacks
including Cross Site Scripting (XSS) and
Database Injection. Java System Web Server
7.0 also provides protection from distributed
attacks by providing request mapping for
both URIs and IP.
Data Encryption and Security Resources can be secured with advanced
Access Control Lists (ACLs), built-in LDAP
with flexible schema support, SSL v2 & v3,
TLS 1.0 and Elliptic Curve Cryptography
(ECC). SSL key sizes up to 4k can be used,
and self-signed certificates can be easily
generated. Integration with Solaris 10
Cryptographic Framework allows use of
capabilities such as the Niagara
Cryptographic Framework (NCP). Dynamic
updating of CRLs allows PKI management
to be combined with high service availability
requirements.
Integrated Reverse Proxy Fully integrated HTTP User-Agent allows
Java System Web Server 7.0 to act as the
HTTP endpoint between any User-Agent
and HTTP origin server.
FastCGI Support Support for the FastCGI protocol provides
an efficient way to use third-party
technologies in an out-of-process
configuration. FastCGI is commonly used to
execute third-party code without incurring a
significant performance penalty or
sacrificing server stability.
Built-in search engine The built-in search engine allows the easy
indexing and searching of locally stored
common document types.
64-bit support Native support for 64-bit operating

22
environments allows Java System Web
Server to take full advantage of the
resources available from modern server
environments including a 64-bit Java
container, an in-process file cache that can
take advantage of all the RAM available,and
SSL optimizations

Table 2: key features in JAVA SYSTEM WEB SERVER

6.1. COMPARISION OF APACHE AND IIS

IIS pro 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

23
• 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 <.ul>

Major classifications:

APACHE INTERNET INFORMATION SERVICE

Cross platform Only in windows operating system

MPM is implemented No multi threading

Forking is used No concept of forking

Free software Not a free software

The user has the capability to alter the IIS doesn’t allow user to modify or create
module according to the requirement. new module.
The module used is mod_rewrite

New version of apache can be IIS can’t be enhanced in higher version
enhanced in any operating system operating system of windows

Very high security Vulnerable

Integrating DOT NET is not possible DOT NET is integrated

24
Bug can be fixed by just adding the To fix bugs an administrator is needed and
free patches. also more expense.

6.2 WHO RULES THE WEB WORLD?

According to the recent survey by Net craft [18] “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 9: 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.

6.3 FUTURE KING OF WEBSERVER:

25
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.

7 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, I highly recommend upgrading to Apache 3.0 once the release version is available

8 REFERENCES:
[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)

26
[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)

Figure 1: Andrew S. Tanenbaum & Maarten Van Steen (DISTRIBUTED SYSTEMS
PRINCIPLE AND PARADIGMS) ISBN: 0-13-121786-0.
Figure 2: Andrew S. Tanenbaum & Maarten Van Steen (DISTRIBUTED SYSTEMS
PRINCIPLE AND PARADIGMS) ISBN: 0-13-121786-0.
Figure 3-8: APACHE WEBSITE (http://httpd.apache.org/docs/2.0/install.html)
Figure 9: Net craft website (http://news.netcraft.com/archives/web_server_survey.html)

Table 1: Apache official web site

Table 2: Available online
(http://www.sun.com/software/products/web_srvr/features.xml).

27