Although Web servers are extremely desirable in many situations, they aren't needed on all computers. Indeed, they aren't even needed or desirable on all networks. Understanding when to run a Web server will help you to avoid problems that can be caused by unnecessary Web servers, as well as minimize the effort and expense you put into running your network.
A Web server is a program that responds to requests that use the Hypertext Transfer Protocol (HTTP) to transfer files. For this reason, some people prefer the term HTTP server to Web server. Whatever the name , a Web server listens on a specified port (usually port 80) for incoming requests for data. The HTTP client (more commonly known as a Web browser ), such as Netscape Navigator or Internet Explorer, sends a request to the Web server for a particular document. The Web server retrieves that document from the hard disk or, in the case of CGI scripts, generates a document, and sends the file to the client. Under certain circumstances, the client can send information back to the Web server for processing.
The result is that the Web server provides users with a Web site ”a collection of documents accessible via one or more uniform resource locators (URLs), which are the Web addresses you type into a Web browser's location field. URLs most frequently begin with http:// , but some begin with another string, such as ftp:// . Web servers handle the http:// and https :// URLs; most others indicate that another protocol, such as FTP, is to be used.
Given this information, the question of when to run a Web server seems to boil down to one of when to put up a Web site. If you run a Web server, and place appropriate files on that Web server so that users can retrieve meaningful content, you have a Web site. This is indispensable for most businesses and even many individuals today. Web sites provide a way to communicate with customers, suppliers, and others who might seek information about your organization, products, or services.
Web sites, and hence Web servers, can also be useful for internal communication. You might want to create a Web site that's accessible only within your local network, on which you can place important information for internal communication, such as individual employees ' schedules, plans for meetings or seminars , and so on. This internal Web server might be physically distinct from one that hosts an external Web site, or you might be able to have one computer do double duty, as described in the upcoming section, "Handling Virtual Domains."
One important distinction to keep in mind is that between a Web site and a Web server. A Web site is the documents that make up your presence on the Web. These documents are associated with a particular set of URLs, which you probably want to tie to your organization's domain name. The Web server, on the other hand, is the software or hardware associated with the Web site. It's possible to have a Web site without running a Web server in your organization. You can accomplish this goal by using a Web hosting service. This is an ISP that runs a Web server that responds to requests directed at your URLs. This can work because, as described in "Handling Virtual Domains," a single Web server can respond differently to requests directed at different hostnames. You can configure your DNS server (described in Chapter 18, Administering a Domain via DNS) to point the hostname associated with a Web site to a hosting service's computer. For instance, if the hosting service runs its Web server at 10.102.201.1, and if you want the www address within your domain to be associated with your Web site, you can create a DNS entry like the following:
www IN A 10.102.201.1
The Web hosting service must then configure its system to respond appropriately to your Web address. You'll also need access to the Web hosting service's computers so you can upload your Web pages.
Using a Web hosting service has certain advantages compared to running your own Web server. For instance, you don't need to have the network bandwidth to handle the Web server. This may be important if your organization lacks a high-speed or reliable Internet connection. (Precisely what the terms high-speed and reliable mean is subjective ; a 200Kbps service with five hours of downtime a month may be acceptable to a home user , but would be unworkable for a large company like IBM.) Using a Web hosting service also relieves you of the need to configure and maintain your own Web server computer. On the downside, the Web hosting service will charge money ” anywhere from a few dollars a month for a small site to thousands of dollars or more for a very large and busy site. The Web hosting service may place restrictions on your site. For instance, very low-end Web hosting accounts may not support GCI scripts or SSL encryption.
A couple of other options for external use deserve mention. One is co-location, in which you own a computer but locate it off your own premises, usually at an ISP's office. Your Web server computer can then benefit from a high-speed and reliable connection, and you can configure it in whatever way you deem necessary. At the other end of the scale are the default Web pages offered with residential and many low-end business Internet access accounts. These typically include the ISP's name in the URL, such as http://www.abigisp.net/~yourname/ . They have the advantage of being an inexpensive way for individuals or small businesses to gain a presence on the Web, because they come standard with Internet access packages. They're usually very limited in the space permitted for Web pages, though, and most businesses want their own names in the URL, not their ISP's.
You should also examine the consequences and need for internal Web servers. If you have a legitimate need for a Web site for internal communications, by all means run one. You should take active steps to configure such a site, though; don't rely on the default out-of-box Web server configuration. Depending upon how you install them, some Linux distributions install Web servers by default. Such configurations have certain downsides. The Web servers consume disk space and perhaps memory that you might prefer to devote to other tasks . These unused Web servers are also potential security holes. On the other hand, some distributions use Web servers to provide help files to local users, so they can play a legitimate role even on workstations. As a general rule, though, Web server software should not be installed on workstations, only on computers on which you want to run a Web site.