Web servers are the front ends that serve up web pages to web browsing clients (browsers, as we know them). The communication back and forth is based on the HTTP or the hypertext transfer protocol. Depending on the request, the web server serves up a file from your web site structure of files. The browser then renders the file on your screen to show you the page you requested. So, the web server is a crucial platform that ensures all requests from visitors are serviced properly and in a timely fashion. The time window is just few seconds. If you take any more time to serve up the page, the visitor would simply click away to another interesting site, rather than staying with you. Choosing this platform well is a key design decision when setting up a web site.
Types of Web Servers
Web servers work within the environment of an operating system. Windows, Unix and Linux are the most predominant OS packages that are in use today in hosting web servers and, hence, web sites. The functionality that you get from a web server is the functionality of the combined package of the OS and the HTTP server. We take a comparative look at the web servers that work with these OS flavors; namely Windows, UNIX and Linux.
We take a look at the market numbers of these three types. Market indicators are always a good guide to what people are using. We will also look at an IDC report about server shipments during the last quarter of 2008, released by IDC recently. Recession has taken its toll. The overall market picture is as follows.
The Windows server market size last quarter was $4.8 billion, and the UNIX servers size was $4.9 billion while Linux servers did a business of $1.8 billion. We are just looking at the server software based on the respective OS only.
Since we do not have the corresponding numbers related to how many web sites are supported by each of these servers, it is hard to conclude which has an edge in popularity. Linux numbers look comparatively lean because individual licenses typically sell for lower prices. UNIX sells for a higher unit price in comparison to Windows. There is a further twist. Data centers may be running your web site with more than one other web server virtually. These may have different operating systems running them. The only thing we can possibly conclude is that Windows and UNIX + Linux have a more or less similar share with UNIX/Linux combined having an edge.
Web Hosting Services
For an individual freelancer, a SOHO office or even an SMB operation, the most hassle free decision one can make about locating your web front is to use a web hosting service. There are many such providers who will guarantee a service level in terms of availability and the necessary bandwidth to your site. Due to about equal popularity, most such providers arrange for Windows or Unix/Linux environments. Service providers provide Linux based, rather than Unix based, support. They also provide a set of services that make setting up and maintaining a web site quite easy. The following is a table of such services available with providers.
- HTML & Java Support: Both Windows & UNIX/Linux provide this.
- Frontpage extensions :Both Windows & UNIX/Linux provide this.
- CHI+Perl support : Windows services has a little less, UNIX/Linux provides full support.
- ColdFusion : Both Windows & UNIX/Linux provide this.
- ASP support : UNIX/Linux may not support completely, Windows does, of course.
- SQL Server/Access : UNIX/Linux does not support
Windows: Apache, Zeus, iPlanet, MS Windows Server 2003, Sambar
Linux : Apache, Zeus, iPlanet, Roxen, AOL Server
Among these, Zeus is considered to be the most secure server followed by Apache while Sun Java System Server 6.1 is the 3rd most secure server. As we all know, this is a prime design consideration for web servers.
Basic Windows vs. UNIX/ Linux
There are some inherent advantages/disadvantages that can be attached to these base environments. Often it comes down to the familiarity of the team with the related technology that becomes the deciding factor differences being not very significant. One big argument in favor of Linux servers is that they cost very little. Even if you include support from companies like Red Hat, it still costs very little. However, you should be aware of the implications of open source licensing issues.
There’s one noticeable set of differences between the three operating systems. Comparatively Windows has gone through haphazard development and vulnerabilities keep coming out. UNIX has had a much more disciplined development. Linux has a horde of willing developers who work constantly on patching and updating the basic OS as well as the derived software.
Top of the chart consideration should be given to security. We talked about secure servers in the earlier section, but, generally speaking, Windows is a more vulnerable system security wise than Linux environment.
Access to the websites is typically via FTP only in case of Windows while the UNIX and Linux based systems allow telnet and SSH access too. These allow the files on the server to be manipulated directly. That is more flexible.
MySQL database has become standard in Linux environment while SQL Server fills that need in Windows. Access to some extent is in use in the Windows set up. Depending on your database requirements you may want to use one or the other.