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