Apache currently dominates the overall web server market share. Examination of a sample of the top Internet sites reveals very different popularity figures. It's a dead heat between Apache, IIS and Netscape. CGI programming is used by approximately 70% of these sites, with ASP (11%), PHP (5%) and mod_perl (5%) the dominant scripting solutions.
The many different techniques for measuring the traffic and visitors to web sites have been discussed widely. I decided to use the MediaMetrix results simply because they are one of the main players and their Top 50 listing was easy to find.
The result was a sample of 130 web sites.
telnet dev.synop.com 80 Trying 127.0.0.1... Connected to ws01.synop.com. Escape character is '^]'. HEAD / HTTP/1.0 HTTP/1.1 200 OK Date: Thu, 03 Jun 1999 06:10:11 GMT Server: Apache/1.3.6 (Unix) PHP/3.0.7 Last-Modified: Thu, 29 Apr 1999 03:24:28 GMT ETag: "32006-82b-3727d0ec" Accept-Ranges: bytes Content-Length: 2091 Connection: close Content-Type: text/html Connection closed by foreign host.
Be sure to type two line returns after the HEAD / HTTP/1.0 line.
We can see that the Server line reports that I am running Apache with PHP on my development machine. Most web servers are set up to report this Server information.
Some web servers do not respond to the HEAD HTTP command. In these cases I used:
GET / HTTP/1.0
To collect this information from 130 sites I wrote a little PHP script (link removed). This script simply sent a HEAD request to each server and checked for the existance of the Server line. Using manual GET requests I was able to determine the server for many of the Unknown results. It then placed each server into one of these categories:
The detailed results are available here.
Netscape does extremely well in the top end market by comparison with its results in the overall web server space. IIS from Microsoft is also considerably more popular at this level.
Microsoft IIS/3.0 Microsoft IIS/4.0
I decided to assume that changes in the first fractional part of Apache constitutes a change of version. For example, the following were treated as different versions:
Program revisions have the same main number and different fractional numbers. Two revisions of Apache are:
An examination of the sites that are running old versions of the web servers reveals interesting statistics. An old version is a site that is running a version of the web server which is earlier than the current one. Sites running an earlier revision of the current version were treated as up to date.
The unusually high figure for Netscape servers deserves some attention. It should be noted that I couldn't determine the latest versions of the Netscape-Commerce and Netscape-Communications servers. I treated these servers as up to date since there were no differences in the version numbers for those encountered. Perhaps these should have been classed as old since it appears that they have been superseded by new products.
I was surprized by the relatively small number of old web server versions being used. Large sites and mission critical applications will tend to stay with solutions that work. The best example of this is the huge reliance in business on legacy Cobol applications.
The low number of sites using old versions of IIS is probably a reflection on the relative quality of 4.0 over 3.0. A large improvement in quality provides a bigger incentive to upgrade. Here are Microsoft's reasons for upgrading.
Similarly, the large number of old Netscape versions in use indicates that either Netscape got it right a long time ago, or they are not making significant advances with their products.
High figures for the Netscape servers may also be an indication of their past popularity. Many of the sites in the top listing are quite old by Internet standards. At the time of deployment Netscape may have been a stronger force in the web server market.
Determining the number of sites incorporating Active Server Pages (ASP) is almost impossible without manually searching. Every IIS server a potential ASP site. I decided to use a conservative estimate of the number of sites utilizing ASP. Even with this conservative approach ASP is twice as popular as the nearest rivals, PHP and mod_perl.
The number of sites using ASP was estimated as follows:
ASP sites = ( (mod_perl sites + PHP sites) / Apache sites ) * IIS sitesBasically, I estimated the proportion of IIS servers using ASP to be the same as the proportion of Apache servers using mod_perl or PHP.
It is reasonable to expect ASP to be far more popular than PHP or mod_perl. Apache was purposely designed for modularity. One of its great features is the range of modules and scripting solutions that it supports. In contrast, IIS and AOLserver have been built with a single scripting language at their core, ASP and TCL respectively. Since IIS and Apache attract similar market share and ASP is dominant on IIS while Apache supports a range of languages, one would expect ASP to be the most popular scripting solution.
The most interesting observation here is that CGI is by far the most popular form of web site programming. It is fair to assume that all of the sites in this sample use dynamic pages, even if it only for rotating banners. The result is that an astounding 70% of the top web sites are using CGI programs.
June 11th, 1999: The results in this article were changed slightly due to a data error. I discovered that digitalcity.com is actually using AOLserver rather than Apache/PHP. The problem was that my web host (where I ran the script) has digitalcity.com defined in their DNS as being parked on their servers. Unfortunately this changed the results a little, making Apache equal with IIS and Netscape, and making PHP equal with mod_perl.