网络应用(三)
Web应用是Internet热点应用之一。Web应用的应用层协议是HTTP。HTTP使用传输层TCP,服务器端默认端口为80。
HTTP客户首先请求与HTTP服务器(80端口)建立TCP连接,然后HTTP客户向HTTp服务器发送HTTP请求报文,HTTP服务器向客户发送HTTP响应报文。
HTTP根据使用TCP连接的策略或方式的不同,分为非持久的HTTTP和持久的HTTP。
非持久的HTTP每传输一个对象都新建一个TCP连接,对象传输结束则断开连接;
持久的HTTP则可以通过已建立的TCP连接传输对象。
持久的HTTP进一步又区分为非流水方式的持久HTTP和流水方式的持久HTTP。
HTTP1.0默认情况下是非持久的HTTP,HTTP1.1默认情况下是流水方式的持久HTTP。
HTTP是无状态协议。
Cookie是克服HTTP无状态特性,实现服务器对客户状态的跟踪的典型技术。
电子邮件是Internet中另一个被广泛应用的网络应用之一。
电子邮件包括邮件服务器、用户代理、简单邮件传输协议SMTP和邮件读取协议。
邮件服务器为每个注册用户创建一个邮箱,存放该用户接收到的邮件,管理一个外出邮件队列,并从队列中取出邮件进行发送。邮件服务器之间发送邮件时使用的应用层协议是SMTP。
SMTP使用传输层TCP,在SMTP客户与服务器(默认25端口)之间建立TCP连接后,经历握手阶段、邮件发送阶段和关闭阶段,完成邮件传送。
SMTP只能传输7位ASCII文本,如果传输非7位ASCII码内容,需要根据MIME将非7位ASCII码内容编码转换为7位ASCII文本,然后再通过SMTP进行传输。
SMTP是“推动”协议,发送邮件的服务器(或用户代理)主动请求与接收邮件的邮件服务器建立连接,然后将邮件发送(“推送”)过去。
邮件读取协议是用户主动访问自己的邮箱,读取邮箱中邮件时使用的应用层协议,包括POP3,、IMAP和HTTP,其中HTTP是Web邮件系统的邮件读取协议。
FTP是Internet中实现文件传输的典型应用。
FTP使用传输层TCP。FTP客户与服务器(21号端口)建立一条TCP连接,称为控制连接,用于传输命令。控制连接是持久的。
在传输文件等数据时,客户与服务器的20号端口之间建立一条临时的TCP连接,用于传输数据,数据传输结束便断开连接,该连接称为数据连接。
FTP这种使用两条TCP连接分别传输控制命令与数据的方式,称为带外控制协议。另外,FTP是有状态协议。
P2P应用中没有中心服务器,通信在对等方之间直接进行。
以文件分发应用为例,
C/S体系结构实现分级分发时,最快分发时间随用户数量的增加而线性增加;
P2P体系结构实现文件分发时,最快分发时间几乎不随用户数量的增加而增加。