Search ServerWatch
Search ServerWatch
Search ServerWatch




Install What You Need with Windows Server 2008
Windows Server 2008 is Microsoft's most full-featured server operating system yet, so it's ironic that one of its most exciting new features is an install option that cuts out most of the other features. Paul Rubens explores why a Server Core installation makes a great deal of sense in many instances. »

 
Identify Hardware and Software That Meet Microsoft Standards
The "Certified for Windows. Server 2008" logo identifies hardware and software solutions that meet Microsoft standards for compatibility and best practices with the Windows Server 2008 operating system. »

 
Windows Server Catalog: Certified Hardware Devices
Search the Windows Server 2008 catalog to find solutions to deploy with confidence. »

 
Windows Server Catalog: Certfied Servers
Search the Windows Server 2008 catalog to find servers you can deploy with confidence. »

 
Download the Windows Server 2008 Trial
With Windows Server 2008 you can develop, deliver, and manage rich user experiences and applications, provide a secure network infrastructure, and increase technological efficiency and value within your organization. »

Performing Configuration Testing Using HTTPD-Test's Perl Framework

Staying Out of Deep Water: Performance Testing Using HTTPD-Test's Flood

HP Data Protection Products-including tape drives, high-capacity tape libraries and disk-based systems-can grow with your company to protect all your critical data.

ServerWatch > Tutorials

January 10, 2008
IIS vs. Apache, Looking Beyond the Rhetoric
By Martin Brown

Discuss this article in the ServerWatch discussion forum

Unsure About an Acronym or Term?
Search the ServerWatch Glossary
 

For some time, Apache and Microsoft have commanded the lion's share of the Web server market. While Apache is the clear-cut winner in the Netcraft and Security Space monthly surveys, Internet Information Server dominates among Fortune 1000 enterprises.

Both are viable choices, and each carries its own set of pros and cons.

With Apache 2.0 in production release since mid-2002 and IIS 6.0 shipping since earlier this year, we've decided the time has come to run a feature-by-feature comparison of the two servers to help readers better determine which server suits their needs.

Basics

IIS has been an optional component of the Windows Server operating systems since Windows NT 4.0. Back then, this was a basic Web server in the form of IIS 3.0. An Option Pack, released shortly after Windows NT 4.0 was released, included IIS 4.0 and was the first "real" version of IIS to be used heavily as a Web server platform.

IIS 5.0 was included in Windows 2000 in both the server and desktop versions, and the updated version, IIS 5.1, is incorporated into Windows XP. The changes between IIS 4 and IIS 5 are fairly minor.

Windows Server 2003 includes the new IIS 6.0, which is an almost complete rewrite from the previous editions. It sports a new execution model, better management facilities, and significantly increased performance.

Apache, on the other hand, has an older heritage, having been originally based on the httpd code that some would argue started the entire Web revolution in the first place. Apache 1.3.x, which was the production version until 2002, was a largely Unix product that used a number of tricks to enable it to execute within other operating systems, including Windows.

The production release of Apache 2.0 hit the shelves in 2002. The new release incorporated a brand-new execution environment that separated the core functionality of the Apache system from the system that actually supported and processed requests. Apache 2.0 is now supported under a wide array of potential operating systems, including all versions of Windows, Linux, Unix, and Mac OS X, in addition to an array of nonmainstream OSs, like BeOS and VMS.

Execution Environment

IIS and Apache operate very differently and thus have a variety of advantages of disadvantages. IIS is obviously designed and available to work only within the Windows environment. With IIS 6.0, the only platform currently supported is Windows Server 2003. Although this limits the deployment platforms for IIS-based Web services, it also provides a number of benefits, including greater cooperation with the host operating system and easier management and control through a variety of standard OS tools and utilities.

In IIS 6.0, the cooperation between the operating system and the server is greater than ever. In a change to previous versions, the component that accepts requests from clients and processes them is now two separate components. The kernel mode listener, HTTP.sys, listens and accepts requests from clients, placing the requests into one or more request queues. IIS then processes the requests in these queues using at least one worker process to control the execution of the individual requests and applications.

This separate process allows requests to be accepted even when IIS worker processes aren't technically running, and also enables finer control on the worker processes that handle requests. Thus, the admin (or the server, automatically) can recycle requests to recover from extension and application failures that would have previously required a shutdown/restart of the IIS service or, in extreme cases, a reboot of the entire server.

Apache 2.0 was a major rewrite from the previous versions. Among the many changes, the Web server is now directly 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 to Unix- and Windows-specific execution models that make the best use of the OS.

The core of the system is the Apache Portable Runtime (APR), which enables the Apache core to run on more or less any system with a C compiler. A number of multi-processing modules (MPMs) then provide the support for actually accepting and processing requests. Under Unix, this can be the traditional "forked" model or a newer threaded model making use of the threading built into most modern kernels. Under Windows, this also uses a threaded model, which in some respects is similar to the threaded model used by the worker processes within IIS 6.0.

FeatureIISApache
Independent Request HandlerYesYes (limited)
Multiple Process Request HandlersYesYes
Thread SupportYesYes (on a suitable OS)

Dynamic Components

The primary dynamic environment for development within IIS is Active Server Pages. This is a generic term for a solution that allows code to be embedded into HTML pages. These ASP pages are parsed by the server before being supplied to the client as HTML. The ASP system allows developers to work in a number of different languages, including Visual Basic, VBScript, JavaScript, Java, and C/C++, along with other open source alternatives, such as Perl and Python. In addition, IIS continues to support traditional CGI methods along with its own suite of filtering and execution systems in the form of ISAPI filters.

Apache is also designed to work with a wide range of languages, either via the CGI model, or through the use of dynamic modules by directly incorporating the language interpreter into the Apache environment. This significantly speeds up the execution of dynamic components for languages like PHP, Perl, and Python.

Both systems support the Java Server Pages model, and it's possible to migrate most JSP applications between the two platforms with few changes. Other languages can achieve this with varying results. Even ASP can be supported under Unix through the ChilliSoft ASP component (www.chillisoft.com), through the Apache::ASP module, or the Apache modmono module (http://apacheworld.org/modmono/).

One element that currently cannot be emulated under Unix is the Microsoft.NET environment. IIS 6.0 and Windows Server 2003 make heavy use and provide excellent levels of integration with the .NET Framework.

FeatureIISApache
ASPYesWith Chilisoft, Apache::ASP, or modmono
CGIYesYes
PerlYesYes
PythonYesYes
PHPYesYes
JSPYesYes
.NET IntegratedYesNo

Original date of publication, 09/09/2003.

Go to page 1  2  


Discuss this article
Tools:
Add serverwatch.com to your favorites
Add serverwatch.com to your browser search box
IE 7 | Firefox 2.0 | Firefox 1.5.x

Tutorials Archives




JupiterOnlineMedia

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info


Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers

Solutions
Whitepapers and eBooks
Microsoft Article: HyperV-The Killer Feature in WinServer ‘08
Avaya Article: How to Feed Data into the Avaya Event Processor
Microsoft Article: Install What You Need with Win Server ‘08
HP eBook: Putting the Green into IT
Whitepaper: HP Integrated Citrix XenServer for HP ProLiant Servers
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 1
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 2--The Future of Concurrency
Avaya Article: Setting Up a SIP A/S Development Environment
IBM Article: How Cool Is Your Data Center?
Microsoft Article: Managing Virtual Machines with Microsoft System Center
HP eBook: Storage Networking , Part 1
Microsoft Article: Solving Data Center Complexity with Microsoft System Center Configuration Manager 2007
MORE WHITEPAPERS, EBOOKS, AND ARTICLES
Webcasts
Intel Video: Are Multi-core Processors Here to Stay?
On-Demand Webcast: Five Virtualization Trends to Watch
HP Video: Page Cost Calculator
Intel Video: APIs for Parallel Programming
HP Webcast: Storage Is Changing Fast - Be Ready or Be Left Behind
Microsoft Silverlight Video: Creating Fading Controls with Expression Design and Expression Blend 2
MORE WEBCASTS, PODCASTS, AND VIDEOS
Downloads and eKits
Sun Download: Solaris 8 Migration Assistant
Sybase Download: SQL Anywhere Developer Edition
Red Gate Download: SQL Backup Pro and free DBA Best Practices eBook
Red Gate Download: SQL Compare Pro 6
Iron Speed Designer Application Generator
MORE DOWNLOADS, EKITS, AND FREE TRIALS
Tutorials and Demos
How-to-Article: Preparing for Hyper-Threading Technology and Dual Core Technology
eTouch PDF: Conquering the Tyranny of E-Mail and Word Processors
IBM Article: Collaborating in the High-Performance Workplace
HP Demo: StorageWorks EVA4400
Intel Featured Algorhythm: Intel Threading Building Blocks--The Pipeline Class
Microsoft How-to Article: Get Going with Silverlight and Windows Live
MORE TUTORIALS, DEMOS AND STEP-BY-STEP GUIDES