Chapter 4. Understanding the Internet's Software Structure
The Internet works on the client/server model of information delivery. In a client/server model, the client computer connects to a server computer on which information resides; the client depends on the server to deliver information. In effect, the client requests the services of the server computer. These services can involve searching for information and sending it back to the client, such as when a database on the Web is queried. Other examples of these services are delivering web pages and handling incoming and outgoing email. Whenever you use the Internet, you're connected to a server computer and requesting the use of that server's resources.
Typically, the client is a local personal computer or the software that runs on it, and the server (also known as the host) is usually a more powerful computer that houses the data and/or server software. Hosts and clients can be of many makes and manufacturers and run a wide variety of operating systems.
The connection to the server is made in many waysvia a LAN (local area network), via a phone line, via a cable modem or DSL modem, wirelessly, or any one of other countless ways. A primary reason to set up a client/server network is to allow many clients to access the same applications and files that are stored on a server. These clients can be any one of many types of computers accessing the Internet in many ways.
In the case of the Internet's World Wide Web, the client is actually the browser on your PC and the server is a host computer located somewhere on the Internet. Typically, the browser sends the server a request for a specific web page. The server processes that request and sends an answer back to the browser (again, most often in the form of a web page).
The connection between the client and server is maintained only during the actual exchange of information. Thus, after a web page is transferred from the host (or server) computer, the HTTP connection between that computer and the client is broken. (HTTP stands for Hypertext Transfer Protocol; it's the protocol used by the World Wide Web.) Even though the HTTP connection is closed, the ISP maintains the TCP/IP connection to the Internet.
The client/server model enables the desktop PC to run the browser software to search the Web, yet still access host servers around the Internet to execute search and retrieval functions. Many of these functions are accomplished through technology called the Common Gateway Interface (CGI). For more information about how CGI works, see Chapter 35, "How CGI Scripting Works." In essence, this architecture enables the Web to be conceived of as a limitless file storage medium and database, distributed among thousands of host computers, all accessible by any individual device with Internet access.
The following illustration shows how the Web runs on client/server architecture. Keep in mind that all other resources on the Internet run on the client/server model as well. For example, in email transactions the client would be the email software on your computer, whereas the server would be the email server to which you connect.