When it comes to web servers, you can generally pick from two operating systems: Windows and Linux. Years ago, choosing one over the other would give you a vastly different feature set. Not any more. A server running Windows can now do pretty much everything that a server running Linux can, and vice versa. It all comes down to software. So when you go to make your decision about the best web hosting to choose, the operating system should usually be the last decision you make. However, there are a few exceptions I will note below.
Despite the two Windows and Linux web servers being functionally equivalent, they do differ in how they do things.
A Windows server, for example, lets you take advantage of Microsoft’s Visual Studio Integrated Development Environment, or IDE, to create websites.
Visual Studio relies on something called the .NET framework. The .NET framework includes dozens of different computer languages, all of which are turned into bytecode which the computer then reads. The idea is that you can program in whatever language you are comfortable with while the server only needs to understand one.
So you could use something the ASP.NET language which makes it extremely easy to build complex websites by including complex prebuilt elements. Want a calander? Just drag it onto the page. A dropdown? Same thing. Despite a lack of good documentation and what I feel is an arbitrary, illogical design, ASP.NET lets even new programmers make complex sites quickly.
And if you aren’t feeling ASP.NET or the other .NET languages, you can still use PHP.
A Linux server is not quite so user friendly. There is no IDE equivalent to Visual Studio for a Linux server, and running a .NET website on a Linux server will result in you pulling your hair out in frustration. Most Linux servers run PHP, which, while conceptually easy to grasp and logically constructed, doesn’t provide you with drag and drop page elements like .NET does.
But once you are past the initial conceptual hurdles, a LAMP (Linux, Apache, MySQL and PHP) server will provide you far greater reliability and uptime, unless your host interferes. While Microsoft has made major strides in security and performance, Linux still easily trumps Microsoft’s best. And Apache remains far more flexible than Windows Server will ever be. Major modifications can be made to the platform that Microsoft’s offering could only dream of, though that level of development only matters to larger companies.
Also worth noting is that, once past basic page design, making complex server-side scripts is easier in PHP than ASP.Net, though that is subjective and could be unique to my own experience.
So Which Is Better?
The answer is subjective. Some people prefer Windows servers, some prefer Linux servers. Programming basic dynamic pages will be easier on a Windows server, if it has .NET support. Programming complex pages will be roughly the same on both platforms. So if you need a quick website and don’t care too much how it works, then a Windows server is for you.
Just be aware your .NET code might be rendered useless in the future. The .NET platform has already gone under one major revision, and the code from the previous version is not compatible with the newer one. Also, Microsoft tends to arbitrarily change things with each new release of its software. So you never quite know what each element will do, or how to interact with it.
A LAMP server, on the other hand, will be extraordinarily reliable. PHP has been around since 2005, and PHP4 was officially developed for 8 years, despite PHP5 coming out halfway through that time. And if you do have legacy PHP code, you can still run it on your Apache server, though newer software packages may not work with it.
But in most cases the server you run doesn’t matter. Both platforms are exponentially better than those that existed in years past, and it is a bit like choosing between a Snickers and a Butterfinger; they both fill a need, but each is scrumptious in its own way. Just keep in mind, that when looking for web hosting, you will find that Linux servers tend to be more common than Windows ones.