5. The Internet and the World-Wide Web

COMPUTERS CAN BE CONNECTED together on networks. A computer on a network can communicate with other computers on the same network by exchanging data and files or by sending and receiving messages. Computers on a network can even work together on a large computation.

Today, millions of computers throughout the world are connected to a single huge network called the Internet. The Internet is technically a network of networks.

There are elaborate protocols for communication over the Internet. A protocol is simply a detailed specification of how communication is to proceed. For two computers to communicate at all, they must both be using the same protocols. The most basic protocols on the Internet are the Internet Protocol (IP), which specifies how data is to be physically transmitted from one computer to another, and the Transmission Control Protocol (TCP), which ensures that data sent using IP is received in its entirety and without error. These two protocols, which are referred to collectively as TCP/IP, provide a foundation for communication. Other protocols use TCP/IP to send specific types of information such as files and electronic mail.

All communication over the Internet is in the form of packets. A packet consists of some data being sent from one computer to another, along with addressing information that indicates where on the Internet that data is supposed to go. Think of a packet as an envelope with an address on the outside and a message on the inside. (The message is the data.)

Every computer on the Internet has an IP address, a number that identifies it uniquely among all the computers on the net. The IP address is used for addressing packets. A computer can only send data to another computer on the Internet if it knows that computer's IP address. Since people prefer to use names rather than numbers, many computers are also identified by names, called domain names. For example, the main computer at Hobart and William Smith Colleges has the domain name hws3.hws.edu. Domain names are just for convenience; your computer still needs to know IP addresses before it can communicate. There are computers on the Internet whose job it is to translate domain names to IP addresses. When you use a domain name, your computer sends a message to a domain name server to find out the corresponding IP address. Then, your computer uses the IP address, rather than the domain name, to communicate with the other computer.

The Internet provides a number of services to the computers connected to it (and, of course, to the users of those computers). These services use TCP/IP to send various types of data over the net. Among the most popular services are electronic mail, FTP, and the World-Wide Web.

FTP (File Transport Protocol) is designed to copy files from one computer to another. An FTP user needs a user name and password to get access to a computer with the desired files. However, many computers have been set up with special accounts that can be accessed through FTP with the user name "anonymous" and any password. This so-called anonymous FTP can be used to make files on one computer publically available to anyone with Internet access.

The World-Wide Web is based on pages which can contain information of many different kinds as well as links to other pages. These pages are viewed with a Web browser program such as Firefox or Internet Explorer. Many people seem to think that the World-Wide Web is the Internet, but it's really just a graphical user interface to the Internet. The pages that you view with a Web browser are just files that are stored on computers connected to the Internet. When you tell your Web browser to load a page, it contacts the computer on which the page is stored and transfers it to your computer using a protocol known as HTTP (HyperText Transfer Protocol). Any computer on the Internet can publish pages on the World-Wide Web. When you use a Web browser, you have access to a huge sea of interlinked information that can be navigated with no special computer expertise.

I should note that a typical Web browser can use other protocols besides HTTP. For example, it can also use FTP to transfer files. The traditional user interface for FTP was a command-line interface, so among all the other things it does, a Web browser provides a modern graphical user interface for FTP. This allows people to use FTP without even knowing that there is such a thing! (This fact should help you understand the difference between a program and a protocol. FTP is not a program. It is a protocol, that is, a set of standards for a certain type of communication between computers. To use FTP, you need a program that implements those standards. Different FTP programs can present you with very different user interfaces. Similarly, different Web browser programs can present very different interfaces to the user, but they must all use HTTP to get information from the Web.)