在FRC的官方网站上输入网址:http://www.ietf.org/rfc/rfcXXXX.txt,就能察看相关的FRC文档,这里的XXXX表示文档编号。例如FTP协议的RFC文档的网址为:http://www.ietf.org/rfc/rfc959.txt。
RFC文档一旦正式发布,其编号和内容就不允许改变。如果需要更新RFC文档,则会对更新后的RFC文档赋予新的编号,再将它发布。例如HTTP1.0协议对应的RFC文档为RFC1945,它的升级版本HTTP1.1协议对应的RFC文档为RFC2068。
5.客户/服务器通信模式
TCP/UDP协议推动了客户/服务器通信模式的广泛运用。在通信的两个进程中,一个进程为客户进程,另一个进程为服务器进程。客户进程向服务器进程发出要求某种服务的请求,服务器进程响应该请求。如图16所示,通常,一个服务器进程会同时为多个客户进程服务,图16中服务器进程B1同时为客户进程A1、A2和B2提供服务。以下伪代码演示了服务器进程的大致工作流程:
while(true){
监听端口,等待客户请求;
响应客户请求;
}

图16 客户进程A1、A2和B2请求服务器进程B1的服务
服务器进程可以提供各种各样的服务,例如本文第一节提到的EchoServer提供的服务为:根据EchoClient发出的字符串XXX,返回字符串“echo: XXX”。除了像EchoServer这样的由用户自定义的服务外,网络上还有许多众所周知的通用服务,最典型的要算Http服务。网络应用层的协议规定了客户程序与这些通用服务器程序的通信细节,例如Http协议规定了Http客户程序发出的请求的格式,还规定了Http服务器程序发回的响应的格式。
|