Apache HTTP Server
Apache is open-source. Which means it’s totally free, and is supported and developed by the Apache Software Foundation. Apache was first developed in 1995. It has been credited with enabling the growth of the web. In 2009 it became the first web server software to surpass the 100 million website milestone. Apache was developed to be an alternative to the Netscape Communications Corporation web server (which is now known as Oracle iPlanet Web Server). Apache give’s other HTTP servers a run for their money. Developed by an open community of programmers, Apache can run on a variety of Operating Systems including Unix, FreeBSD, Linux, Novell Netware, Solaris, AmigaOS, Mac OS X, Microsoft Windows, OS/2, TPF and eComStation.
Apache is currently the most popular HTTP server in use today. Since being released in 1996, Apache has served over 59.13% of all websites and more than 66.62% of the busiest sites.
As with any type of software, Apache has its own set of features that are developed in order to keep websites running fast, stable, and efficient. Apache uses modules to increase its functionality. The modules can range from server side modules, meaning that they are enabled and configured through the Apache Server itself. To different authentication schemes. PHP, Perl and Python are common programming languages supported by Apache HTTP server. Other features include SLL and TLS support using the mod_ssl and mod_proxy modules provided by Apache.
Apache’s main website is http://httpd.apache.org/ and features a ton of information on the product. Such as enabling and disabling modules, How to use the features of the HTTP server, performance settings, developer info, downloads and more. Google is a big supporter of Apache, and also provides information on their site on how to increase your website speed. Google also considers website speed and loading times to be a factor of search engine optimization (SEO) and will rank your page on the search engine results page accordingly.
Microsoft II Server
Internet Information Services (IIS) – formerly called the Internet Information Server – is a web server application and set of modules which enhance functionality created by Microsoft to be used on the Microsoft Windows operating systems. It is the most popular used web server after Apache HTTP Server. As of January 2011, it has served 21% of all websites on the Internet and 16.22% of the busiest one million websites on the Internet. It supports pretty much the same protocols as Apache HTTP Server, including FTP, HTTP, HTTPS, FTPS, SMTP and NNTP. IIS is not turned on by default when installing Microsoft Windows operating systems.
Advantages / Disadvantages
IIS and Apache HTTP server operate and are maintained differently, which leaves room for advantages and disadvantages over one another. IIS is only available to run on the Windows environment, with IIS 6.0 only to run on the Windows Server 2003 platform. The process of accepting requests from the clients and then processing them has recently been split into separate components allowing a more efficient IIS server. By separating the processes like this, it allows the requests to be accepted even when IIS worker processes aren’t technically running, and enables finer control on the worker processes that handle requests. This means the admin can recycle requests to recover from an extension and application failures that would have previously required a shutdown/restart of the IIS service, or in some cases, rebooting the entire server.
Apache is listed as open source, and is also free. So that is the main advantage it has over IIS. With its ability to run on multiple operating system environments, Apache HTTP server, is more versatile, and can run on a paid OS like Windows, or a free, open source OS like Fedora, Centos, Ubuntu or other Linux distribution. Apache 2.0 is a major rewrite of its predecessor. The redesign enables it to support a wide array of platforms and run more efficiently.
Both HTTP servers feature Independent request handlers, multiple process request handlers, and thread support (ability to run on multiple CPU cores). Both HTTP servers have the ability to work with dynamic web content, supporting Java Server pages and JSP applications without the programmer having to make many changes. ASP can be supported on Apache via the ASP Module.
The only downfall to Apache is its inability to run .Net Integrated web applications. This is where you would need a IIS server.