Zeus Server - An Introduction
What is the World Wide Web?
If you're reading this document you probably already know what the World Wide Web is in its most basic terms; a collection of documents all linked together as a huge interconnected whole.The World Wide Web (or the Web, WWW or W3) is a service which is available on the Internet. It isn't the only Internet service but it is the most visible and thought to be the most popular. The Web is a distributed hypermedia system spanning many computers, in many organisations, in many countries. It is a vast interconnected system which contains a wealth of information. No one regulates, controls or owns the web.
The Web's popularity is in part due to the pioneering work by Tim Berners-Lee while at CERN (the European Laboratory for Particle Physics) and to the development of the Mosaic browser, by a group at NCSA (National Center for Supercomputing Applications at the University of Illinois).
Distributed
The Web uses a client server system to achieve its distributed nature. Documents are stored on remote machines which act as servers. The servers deliver pages to clients, often referred to as Web browsers. The browser displays the information, and interacts with the user. The browser communicates with the server using the Hyper Text Transport Protocol (HTTP).Hypermedia
Hypermedia is an extension of Hypertext which encompasses text, pictures, video and sound. It provides a means of cross referencing information by embedding links to other documents in the information itself. This allows the person viewing the pages to choose their own path through the information. The key to this connectivity is Hyper Text Markup Language (HTML). HTML is a page description language which allows multimedia components to be combined with textual information and those all important hypertext links.What is a browser?
The web browser is an HTTP client which fetches pages from remote web servers, and will attempt to display the results. If the browser can not display the information received itself it may use external helper applications to do so.HTTP
Hyper Text Transport Protocol (HTTP) is the protocol used by the Browser and Server to transfer documents over the Internet. The protocol is ratified by the Internet Engineering Task Force, the none profit organisation who define Internet standards. The latest version of the HTTP protocol is 1.1, although most servers and browser implement a subset of the 1.1 standard and the earlier 1.0 and 0.9 standards. Under normal circumstances the user will not care about HTTP providing everything works but as a Webmaster or CGI programmer you will need at least some knowledge of HTTP.
HTML
Web pages can be any format which a browser can display, from simple text files to large images. However most web pages are composed in Hyper Text Markup Language or HTML. HTML files are regular ASCII text files which contain formatting tags, the tags are read by the browser which formats the page. HTML allows text and images to be combined on the same page. By using extension and helper applications sound, video and even full multimedia presentations can be displayed within the browser.Even with its multimedia aspirations HTML's most used feature is its hypertext links. Links can be placed in text, images, and multimedia objects. They can display more information, play sounds or movies, or take the user to another site in another country.
The original ideas behind HTML were simple. It shouldn't contain information which dictated how the document was displayed, this should be left up to the preferences of the user, and the capabilities of the browser. However HTML has developed from its simple roots into a sophisticated page formatting language. There are now HTML editors which can assist novices with page design and layout enabling anyone to publish on the web.
Clickable Imagemaps
The sensible use of images can make your pages more attractive and compelling to your visitors. They needn't however just be for decoration; links can be included within the graphics to help your visitors navigate your site. The links are hidden behind your graphics in imagemap files on the server. When the user clicks on an imagemap in the browser, the coordinates are returned to the server, which can respond with a new page. Many web browsers handle imagemaps internally, reducing the load placed on the server machine.Server Parsed HTML
The current Web buzzword is 'dynamic documents', pages which change each time you visit them. The dynamic aspect might simply be displaying the current local time, or it might involve a completely unique page customised for each visitor. Dynamic pages are achieved by building some intelligence into the server side of the equation, there are a number of ways this can be achieved, one of which is Server Parsed HTML.Server Parsed HTML or Server Side Includes (SSI) as they are commonly known, allow you to place simple server commands inside the HTML documents which the server will expand to the correct values when it sends the document to the client. Server Side Includes allow you to simply and easily put dynamic elements in your pages.
CGI - Common Gateway Interface
The traditional and most widely used method of including dynamic elements in your pages is through the Common Gateway Interface (CGI) programs. CGI programs are run by the server and their output passed back to the client. This allows entire pages to be generated "on the fly". CGI programs can be interpreted scripts or compiled programs. Any language which supports standard input for reading, standard output for writing and can read environment variables can be used to create CGI programs. The simplicity of the CGI interface allows programs to be built quickly and easily.Internet Server Application Programming Interface
The Internet Server Application Programming Interface (ISAPI) is a vendor independent way to extend the functionality of your web server. Developed by Microsoft and O'Reilly Associates it is quickly becoming the standard for web server addons. ISAPI applications can run in the same process as the web server, as such they are faster and potentially more powerful than CGI programs.
Forms
HTML Forms provide the basic elements required to accept input from a web browser. Forms consist of text boxes and buttons which allow simple user interfaces to be constructed. By using HTML forms in conjunction with CGI programs or ISAPI extensions the server can process information obtained from the user. The information can be logged and processed later, (as in the case of online ordering) or can be used to generate dynamic pages for the visitor immediately (as in the case of a database search).Virtual Servers
It is now a common requirement to run a number of different web sites from a single machine. You may want to run a different server for each product, service or department. This can help people navigate your site, and can help the site administration by delegating control of each servers content to different groups.Zeus can run multiple virtual servers in two different ways. A hardware virtual server needs to be mapped to a unique physical IP address. This usually requires IP Aliasing to be supported by the OS. Alternatively software virtual servers use the additional HOST header present in HTTP version 1.1 requests to identify the correct virtual server to use. Software virtual server are still relatively new, and are not yet supported by all browsers.
At least one virtual server must be configured for the webserver to respond to client's requests.
Multipurpose Internet Mail Extensions (MIME)
Given the vast number of different media types, and file formats in current use it is important that the browser and the server identify the information which they send to each other.When making a request, the browser should inform the server of all the media types it understands so the server can return the most applicable. When the server returns any information to the client it will set a HTTP header identifying what the media type, and file format are. This allows the browser to display the information in the correct way.
Both the browser and the server use Multipurpose Internet Mail Extensions (MIME) to identify the media type and file format. MIME types provide a standard, cross platform method of referring to the many different media formats currently in use.
For the server to send the correct MIME type to the browser it must be aware of the file types it is sending. To recognise the file type, the server will look at the filename extension of each file before sending it to the client. The filename extension is mapped to the correct MIME type by the server. If the filename extension is set to the wrong MIME type the browser may display the returned data incorrectly.
Administration Server
The Administration Server provides the main means of customising, configuring and controlling the Zeus web server. The Administration Server works in conjunction with your web browser, using HTML Forms, to manipulate the server settings. It is designed to perform all the frequent tasks which are required to manage your servers. The Administration Server provides a single point of management & configuration for a cluster of webserver machines in a server farm.