Introduction to Apache Web Server (2.X.XX)
Apache is a public-domain (i.e. open source) Web Server developed by a loosely-knit group of programmers. The first version of Apache, based on the NCSA httpd Web server, was developed in 1995.
When Rob McCool, who had developed NCSA HTTPd, left NCSA in 1994, the project fizzled out. Since the source code was publicly available, many people using it had developed their own bug fixes and additional features that they needed for their own sites. The patches were shared via Usenet, as there was no centralized place for collecting and distributing these patches.
Brian Behlendorf and Cliff Skolnick had put up a mailing list and Brain set up a CVS (Concurrent Versioning System) tree, now anyone who wanted to could contribute new features and bug fixes. This led to a place where a group of developers could collect and distribute patches and bug fixes. Thus came into existence – Apache.
Since it was a patchy Web server, the name APACHE evolved from APACHy sErver. The Apache version 0.6.2 was released in April 1995 and the version 1.0 was released on December 1, 1995. Currently there are two versions of Apache available the first is 1.3.X.XX-X the most popular and tried and tested and completely stable. Apache.org, the Apache website indicates that there will be no enhancements made to 1.3.X.XX-X only bug fixes will be done.
Apache is developed and maintained by an open community of developers under the auspices of the Apache Software Foundation. Apache is characterized as free software and open source software.
Apache is a web server notable for playing a key role in the initial growth of the World Wide Web and in 2009 became the first web server to surpass the 100 million web site milestone.
Apache was the first viable alternative to the Netscape Communications Corporation web server (currently known as Sun Java System Web Server), and has since evolved to rival other Unix- based web servers in terms of functionality and performance.
The second is 2.0.X.XX, which is the latest version of Apache, which is being constantly being bug fixed and enhanced (when creating this material). Either version can be used as a full-fledged production grade Web Server when required.
Apache is a freely available Web server. It can be downloaded from http://httpd.apache.org/download.cgi for free.
Apache software has the highest market share in the web server market (this includes parked web sites without any real content) and is Microsoft Internet Information Server’s (IIS) web server main competitor.
The Internet’s Request / Response Way Of Working
Here’s how the Internet’s, Browser -> Webserver, Request / Response paradigm works.
Whenever a Browser makes an http request such as: http://www.opensourcevarsity.com/index.html the following happens:
|http||This is the protocol used for communication between the Browser and the Web server.Â Since the Browser initiated the communication it has the privilege of setting up the communication protocol.|
|://||This is a separator that separates the protocol from the URL.|
|www.opensourcevarsity.com||This will be translated into a name:value pair i.e. an ip:URL by the Domain Name Servers (i.e. DNS servers).
The DNS will translate the http call to an ip:websitename 188.8.131.52:www.opensourcevarsity.com
Hence only the web server physically located on the computer identified by the ip 184.108.40.206 will reply to the requesting Browser and a communication link will be established.
As soon as the web server (apache http server) receives a request for the file index.html, the web server will search within URL’s folder on its hard disk for the existence of index.html.
If the file is found it is streamed back to the requesting Browser, where it’s content is processed appropriately and the web page is displayed in the Browser window.
If the file requested is not found an appropriate error message is streamed back to the requesting Browser which is displayed in the Browser window.
All of the above is described in a diagram 1.
Hence, to sum up, a Browser requests for a file, the web server searches for this file and responds by delivering it to the Browser. Then the web server breaks all connections with the Browser. The web server does not remember the Browser in any way at all, hence this mode of communication is termed as Request / Response.