The pillars of Internet groupware are email, news, and the Web. Each comprises a server application, a client application, a protocol spoken between the two, and finally a data store. The Internet owes much of its dramatic success to the simplicity of these elements. Protocols are expressed as human-readable ASCII text. So are data stores. Simple rules define the protocols and data stores. Those rules guarantee predictable and regular structure. That makes server and client applications relatively easy to build and maintain.
To make this concrete, look at the protocol that a newsreader uses to post a message to a news server as shown in Example 5.1.
Example 5-1. Posting a Message to an NNTP Server
$ telnet localhost 119 200 localhost Netscape-Collabra/3.51 11202 NNTP ready mode reader 200 localhost Netscape-Collabra/3.51 11202 NNRP ready (posting ok). post 340 Ok Newsgroups: test Subject: test From: email@example.com This is the body of a sample message. . 240 Article posted
I’ve illustrated this protocol using telnet, a command-line application that opens a TCP/IP socket to a server, sends lines of ASCII text to it, and receives lines of ASCII text in return. Internet veterans know that many socket-based Internet servers can be “driven by hand” in this way, just as a news server can. And they know that Internet client applications, behind their pretty graphical faces, send and receive the same kinds of ASCII texts. If I connect my newsreader ...