17.1 什么是因特网客户端

在着手研究这些协议之前,我们要先问一个问题:“因特网客户端到底是什么?”要回答这个问题,我们把因特网简化成一个数据交换中心,数据交换的参与者是一个服务提供者和一个服务的使用者。有的人把它称为“生产者—消费者”(虽然这个词一般只用在讲解操作系统相关信息时)。服务器就是生产者,它提供服务,一般只有一个服务器(进程或主机等)和多个消费者,就像我们之前看的客户端/服务器模型那样。虽然现在我们不再使用低级别的套接字来创建因特网客户端,但模型是完全相同的。

这里,我们将详细了解三个网际协议——FTP、NNTP和POP3,并写出它们的客户端程序。通过这些程序,你将会发现这些协议的API是多么的相似——由于保持接口的一致性有很大的好处,所以,这些相似性在设计之初就考虑到了——更重要的是,你还能学会如何写出这些协议与其他协议实用的客户端程序来。虽然我们只着重说了这三个协议在看完这些协议后,你就能有足够的信心和能力写出任何网际协议的客户端程序了。