WebServer
WebServer Overview
The primary function of a web server is to deliver web pages (HTML documents) and associated content (e.g. images, style sheets, JavaScript's) to clients. A client, commonly a web browser or web crawler, makes a request for a specific resource using HTTP and, if all goes well, the server responds with the content of that resource. The resource is typically a real file on the server's secondary memory, but this is not necessarily the case and depends on how the web server is implemented.
While the primary function is to serve content, a full implementation of HTTP also includes a way of receiving content from clients. This feature is used for submitting web forms, including uploading of files.
Many generic WebServer also support server-side scripting (e.g. Apache HTTP Server). This means that the behavior of the web server can be scripted in separate files, while the actual server software remains unchanged. Usually, this functionality is used to create HTML documents on-the-fly as opposed to return fixed documents. This is referred to as dynamic and static content respectively.
History of WebServers
In 1989 Tim Berners-Lee proposed to his employer CERN (European Organization for Nuclear Research) a new project, which had the goal of easing the exchange of information between scientists by using a hypertext system. As a result of the implementation of this project, in 1990 Berners-Lee wrote two programs:
a browser called Worldwide Web;
the world's first web server, later known as CERN httpd, which ran on NeXTSTEP.
Between 1991 and 1994 the simplicity and effectiveness of early technologies used to surf and exchange data through the World Wide Web helped to port them to many different operating systems and spread their use among lots of different social groups of people, first in scientific organizations, then in universities and finally in industry.
In 1994 Tim Berners-Lee decided to constitute the World Wide Web Consortium to regulate the further development of the many technologies involved (HTTP, HTML, etc.) through a standardization process.
Virtual hosting to serve many web sites using one IP address.
Large file support to be able to serve files whose size is greater than 2 GB on 32 bit OS.
Bandwidth throttling to limit the speed of responses in order to not saturate the network and to be able to serve more clients.
Difference between WebServer and Application server
WebServer serves pages for viewing in web browser, application server provides exposes business logic for client applications through various protocols
WebServer exclusively handles http requests. Application server serves business logic to application programs through any number of protocols.
WebServer delegation model is fairly simple, when the request comes into the WebServer, it simply passes the request to the program best able to handle it(Server side program). It may not support transactions and database connection pooling.
Application server is more capable of dynamic behavior than WebServer. We can also configure application server to work as a WebServer. Simply application server is a superset of WebServer.
WebServer serves static HTML pages or gifs, jpegs, etc., and can also run code written in CGI, JSP etc. A Web server handles the HTTP protocol. Eg of some WebServer are iPlanet, OHS, IHS, IIS or apache HTTP server.
An Application Server is used to run business logic or dynamically generated presentation code. It can either be .NET based or J2EE based (Oracle WebLogic Server, IBM WebSphere, JBoss).
A J2EE application server runs servlets and JSPs (infact a part of the app server called web container is responsible for running servlets and JSPs) that are used to create HTML pages dynamically. In addition, J2EE application server can run EJBs - which are used to execute business logic.
An Application server has a 'built-in' WebServer; in addition to that it supports other modules or features like e-business integration, independent management and security module, portlets etc. WebLogic or WebSphere Web-tier could be integrated with WebSever (HTTP) plug-ins. WebLogic supports various WebServer proxying plugins as per the platform you choose. Basically WebLogic support following list of plug-ins:
Apache WebServer (HTTP server)
Sun One WebServer
IIS WebServer
In most of e-commerce sites the business prefer to have HA, Loadbalancing for customer(web client). This is possible when you configure WebServer proxy plug-in between Web-tier clusters and web-client.
Amazon.com WidgetsWhy we need WebServer Proxy Plugins?
WebLogic Cluster configured for Web application then, to access the application we need a URL each managed server can server the web application. If you configure WebServer proxy then there will be request will be routed from this proxy to any available Web-tier managed server.
Apache Installation
You can download the Apache binaries from the www.apache.org site which is free open source. Chose always stable version from the site, which will be risk free for you.
Here I am chosen Apache 2.0.63 as stable version for Unix versions. This can be installed on Sun Solaris 8, 10 or on RedHat Linux also. Only the commands to compile and build the sever will be varies.
Before installation you need to check the following things:
C, C++ compiler existing on the machine
Diskspace, free space
Network capabilities
File Descriptors
type gcc
df -k .
ping -s <connectingservers> 24 10
Configuration
Installation configuration Apache Installation Configuaration
Plug-ins WebServer Plugins
Restricting Access from Httpd.conf http://wlatricksntips.blogspot.com/2010/06/restricting-access-from-apache-http.html