One of the first decisions a new web developer faces is choosing a platform to work with. While there are many platforms to work with, usually developers tend to choose between the two major ones - Microsoft's Windows web servers or Linux, from the Unix Family. This article will focus on the pros and cons of both operating systems while trying to remain subjective as possible without including my personal preferences.
While the Windows operating system is a commercial product created by Microsoft, Linux is an open source software release. This fact alone usually makes Linux hosting solutions a bit cheaper than similar windows hosting solutions. In addition, Linux Comes with many free plugins, there are some free plugins for windows servers but most of them cost money. Prices depends on the provider you choose, If you choose a shared web hosting service, prices are usually very low ($5-$10), so please don't be cheap on your host and choose a platform because of that criteria alone. Check prices for shared linux hosting plans and windows shared hosting plans on hostpedia's directory.
Since most people have Windows and aren't familiar with Linux, many believe that it is better for them to choose a windows web server. It's simply not true. If you build a website on a remote server most of your work will be done through an FTP Program (to upload your scripts) and maybe a Control Panel of some sort (to perform all your server administration work). The only important link between your home computer operating system and the remote server applies if you have a local copy of your work on your home computer - localhost. This is highly recommended since you don't want to test your work locally before you upload it on your site, people don't like to surf a website filled with bugs. On most cases you can have a localhost on a windows machine and still run your site on a remote linux web server, on other cases you can use virtualization software that can emulate a Linux web server like vmware (but this is a bit more advanced).
Your choice of server platforms should be dictated by the use to which you intend to put it. Most features like PHP, Python and mySQL can run on both systems. Using FrontPage, ASP, ASP.NET environment, Access, ODBC, MSSQL, Windows Streaming Media or any of the other Microsoft technology requires the use of a Windows web server. Some of these, like FrontPage Extensions and ASP (Chilisoft ASP), are supported by Linux, but they can be expensive and are usually lacking in some features.
In terms of performance, Linux is considered a bit faster then Windows based servers. Windows try to offer an "all in one" package unlike the extendable Linux implementation.
The stability and reliability of Linux and Windows platforms have been the topic of many never ending arguments. The reasons that Linux is considered more secure than Windows are the fact that Linux is an open source code project with many advocated users that help debugging the system, Linux focuses on security and stability while Microsoft focuses more on a user friendly interface.
I don't see the point in discussing this topic to death, since most hacks are done while exploiting loopholes left by webmasters (using SQL injection techniques for example) or by the server's administers and NOT by exploiting loopholes within the actual server operating system. Be sure that the hosting company you are about to use for your site is reputable and it's administers are highly skilled - Much more important then the type of server they are using.
Well, If you are confused and not sure which type of web server is best suited for you, try posting a question on the HostPedia Web Hosting Forum.