Most of you must have heard about something called webserver. To most of the people it more of a mystery. Actually a webserver is nothing magical piece of software, but its really marvelous. There are many webservers available, many of them are frequently heard- Apache-the leading webserver which serves 70% of the website, Microsoft IIS-a competitor to Apache, lighttpd- a very light-weight webserver used in routers. The list goes on, but all of them have something in common. Let’s discuss on it.
A webserver is a piece of software which acts as a service and keeps listening on port 80 for any incoming connections. Whenever we try to open a website, our web browser tried to make a connection on port 80 on the server. This connection is accepted by the webserver and its now its duty to serve the client as per the needs. This is a classic example of client-server model.
The work of a webserver is not just accepting and serving data. It has also the task of executing the scripts, it acts as platform for all dynamic web page creation. If you are learning PHP or ASP/ASP.NET you might have used any webserver to run your scripts.
The quality of a webserver depends on how many connections it can handle at any time. Some sites like google and yahoo have millions of people accessing it at a specific instant. If the webserver cannot cope with so many connections and crashes, this situation is more commonly called as “Server Down”. A webserver should be robust so that it can take up all heavy traffic loads, it should even have minimum downtime or in other words- If you restart the server following some changes to its configurations, it should restart immediately otherwise many users may find their page time out after waiting for long.
Let us now have a look at the world’s most famous and reliable webserver- Apache. It is an Open Source and Free software. It is a flagship product of Apache Software Foundation (ASF). At the beginning Apache was started as a small web server, as it grew up it began taking more Open Source Projects. Since now the load has became so much Apache Serve Foundation was formed to coordinate the activities. Other famous softwares under ASF are Apache Tomcat (for running Java Servelets), Apache Ant (tool for automating software build) and Lenya (Content Management System). We shall now restrict ourself to Apache HTTP Server which is more commonly called Apache Webserver.
Apache’s latest version is 2.2.6 . At present 2.2.4 version is more widespread but installing the latest stable version is always recommended. If you want to test Apache you can get a development or Beta version, but for development work always use a stable version. You can get Apache from http://httpd.apache.org/ Installation on windows is a Next>Next> process. Installing on Linux is far easier, use you package manager to get the package. The package name is usually apache2 on most of the linux distros.
One more point! Bare installation of Apache wont open more than static HTML pages. If you want to use it properly, you need a proper dynamic programming language like PHP, Python, Ruby etc. These languages can be integrated with Apache closely. Speaking frankly, PHP delivers best performance on Apache.
There are many rivals of Apache like Microsoft’s IIS which is giving it a tough competition. Even under this scenario Apache does not hide its weakness if any. Bugs found if any are put up on the public bug tracker which everyone can check. This methodology instills a sense of confidence in people who use Apache for commercial and production purposes. Apache is a community project, its not only the core developers but even the volunteers who find bugs and fix them due to public bug tracker. Summing all, it is a great example of how people can cooperate to create the best technology and software.
If you liked my post, feel free to subscribe to my rss feeds

























BlogoSquare
17 Comments so far (Add 1 more)