This section compares and contrasts HTTP with telnet, FTP, SMTP, WAIS, and gopher.

Just about every Internet service relies on the client/server model of computing. One application sends a request to another application and the second application replies.

TELNET

Telnet is a protocol allowing you to log into another computer and interact with that computer as if your computer were physically attatched to it like a terminal. Essentially, telnet applications are terminal-like applications. Since most implementations of telnet allow you to specify the TCP/IP port for communications, the use of telnet is an excellent way to learn the fundamentals of other TCP/IP services. Telnet is a protocol that "retains state" with the remote computer. This means that your connection is always active with the remote computer as long as you are logged on and even when you are performing no actions. On the other hand, HTTP is a "stateless" protocol meaning connections between client and host are created, a dialog insues, and the connection is then broken.

FTP

An acronym for File Transfer Protocol, FTP has two functions. The first is to copy files from one computer to another. Second, and less commonly known, FTP allows clients to do rudimentary directory creation and deletion on remote computers. Like HTTP, the primary purpose of FTP is to send and retrieve data between computers. FTP does not support MIME, nor do FTP clients interpret any of the data they recieve. FTP uses two TCP/IP ports for its communications. One for the dialog and a second for the file transfer. HTTP relies on one port.

SMTP

SMTP is the email protocol (Simple Mail Transfer Protocol). This protocol is almost exclusively handled without human intervension. Messages are passed between client and server in a sometimes humorous fashion if transactions are done by hand. The headers of SMTP messages formed the basis of headers in HTTP requests and replies. Similarly, both protocols use a blank line to delimit the header from the content of the message. With the recent introduction of MIME into SMTP headers, some email clients are now doing rudimentary interpretation of incoming data, just like HTTP clients.

WAIS

WAIS (Wide Area Information Server) was originally designed to demonstrate the capabilities of Thinking Machine, Inc. computer hardware. It is loosely based on an old version of the Z39.50 protocol and allows clients to query remote WAIS databases, interpret returned results, and request specific items from these results. The various WAIS distributions also include software for creating WAIS databases. Early NCSA Mosaic browsers for Unix computers could perform WAIS queries without the need of proxy servers. HTTP has little in common with HTTP except both protocols are ultimately used for the purposes of sending files from server to client.

GOPHER

The gopher protocol, developed by the University of Minnesota Microcomputer, Workstation Networks Center, initially became more popular than HTTP because initially there were more implementations of clients and servers for different operating systems. It was originally designed to allow people to seamlessly tranfer ASCII files from one computer to another without understanding the necessesities of FTP. Thus, like FTP and HTTP, gopher's purpose was the transfer of files. Unlike FTP, gopher clients did attempt to interpret incoming data, but the data types were too limiting. Gopher worked. It did what it was designed to do. It is just that with the development of Mosiac, HTTP did it better.

One significant difference between the gopher protocol and HTTP is how files got transfered. In the gopher protocol, the server did all the work getting and transfering files. HTTP clients, on the other hand, are much more independent and do their own retrieveal. In short, HTTP distributes the processing load much more effectively than gopher.