If you've been lurking in various forums and newsgroups devoted to webmastering, you could hardly fail to notice heated debate going on at this time. No, it's not which is best browser. This debate is about web servers. More precisely, which one is better: Apache or Internet Information Server (IIS).
To tell you truth, I've used them both (and a few others as well) and simple plain truth of matter is these two web server platforms are really functionally equivalent.
Ease Of Use
IIS is much easier for novice as operators can maintain it from easy-to-use screens and forms. Windows 2000, on other hand, costs a lot more than other operating systems such as Linux, FreeBSD and Unix.
Straight Apache requires a huge learning curve to learn how to operate and administer. Everything is configured in extremely obscure text files, and these configurations are done by hand (although you can purchase add-on utilities to enable entry of much of this information from screens and forms.)
The security model of IIS is one of best ever designed, based as it is upon NTFS (the security model of Windows NT and Windows 2000). This model is far superior to anything provided with Apache for non-Windows systems. Of course, on Windows, Apache can use NTFS as well.
Of course, IIS has been plagued with a number of vulnerabilities lately, and these are a concern. It's common to patch IIS at least monthly, and to install a new service release (a collection of patches) twice a year. Most of bugs were worked out of Apache (prior to version 2) long ago. Of course, with release of version two of Apache you can expect a number of security and other flaws to surface - these are a normal part of a product's life cycle.
IIS does NOT have equivalent of HTACCESS. The HTACCESS file in Apache is used to individually configure virtual sites (web sites) without restarting web server. However, on IIS you have a very flexible method of configuration with ISAPI filters and other similar methods. Both methods (HTACCESS and ISAPI filters) are very obscure and for advanced webmasters.
According to several reports that I've come across lately IIS is more efficient than Apache. My own testing has led me to conclude performance of two is roughly same for static pages. PHP (the server side scripting platform common on Apache) tends to be more efficient than ASP (the server side scripting system for IIS) according to many sources, although I have tested neither for speed.
I have run both web server platforms on large and small boxes of many different configurations, and I've found they require much same hardware. This is not surprising, since two platforms basically do same thing.
When you configure Windows and IIS, it's a good idea to strip operating system of unneeded functions. This reduces size box you need (as well as increasing security).
I've run both platforms on 64mb of memory with a single 5600 RPM IDE drive and 200mhtrz processors with reasonable response time (all things considered). I've also run them on dual 2gigahertz systems with 15k RPM SCSI raid 10 drives with incredible performance. The two platforms are equivalent in hardware needs.
Large Server Farms
Microsoft has worked hard on load balancing, so there are more options available for IIS and Windows 2000 for this than other operating systems. In fact, Windows 2000 clustering (the ability to run several servers using same disks) is very advanced and makes disaster recovery a breeze.
IIS backup solutions (those which are provided with Windows 2000) are surprisingly weak. There is no way to back up metabase (all of IIS configuration parameters) from one machine and restore it to another (which makes disaster recovery difficult). On other hand, with Apache it's just a matter of saving all of configuration text files.