2.1 应用层协议原理
2.1.1 网络应用程序体系结构
1.应用程序体系结构(application architecture)由应用程序研发者设计,规定了如何在各种端系统上组织该应用程序。如C/S P2P B/S等
2.客户-服务器体系结构(client-server architecture):分为客户服务器端两套程序
3.P2P体系结构(P2P architecture):对等通信
2.1.2 进程通信
在两个不同端系统上的进程,通过跨越计算机网络交换报文而相互通信。
1.客户和服务器进程
2.进程与计算机网络之间的接口
套接字是同一台主机内应用程序之间的接口。由于该套接字是建立网络应用程序的可编程接口,因此套接字也称为应用程序和网络之间的应用程序编程接口。
3.进程寻址:通过主机、端口号完成
2.1.3 可供应用程序使用的运输服务
1.可靠数据传输
2.吞吐量
3.定时
4.安全性
2.1.4 因特网提供的运输服务
1.TCP服务:提供两种服务:面向连接的服务、可靠数据传送服务。还具有拥塞控制机制,这种服务不一定能为通信进程带来好处,但能为因特网带来整体好处。(->SSL)
2.UDP服务:提供一种不可靠数据传送服务,报文可能是乱序。没有包括拥塞控制机制,UDP的发送端可以用它选定的任何速率向其下层注入数据。
3.因特网运输协议所不提供的服务:今天的因特网通常能够为时间敏感应用提供满意的服务,但它不能提供任何定时或宽带保证。
2.1.5 应用层协议:定义了运行在不同端系统上的应用程序进程如何相互传递报文
2.2 Web和HTTP
2.2.1 HTTP概况
1.Web的应用层协议是超文本传输协议(HyperText Transfer Protocol, HTTP),它是web的核心。HTTP由两个程序实现,一个客户程序,一个服务器程序。客户程序和
服务器程序运行在不同的端系统中,通过交换HTTP报文进行回话。HTTP定义了这些报文的结构以及客户和服务器进行报文交换的方式。
2.HTTP定义了web客户向web服务器请求web页面的方式,以及服务器向客户传送web页面的方式。
3.HTTP使用TCP作为支撑运输协议,HTTP客户端首先发起TCP连接,该浏览器通过服务器进程就可以通过套接字接口访问TCP。
4.HTTP是一个无状态协议,不会存储客户的状态信息
2.2.2 非持续连接和持续连接
1.采用非持续连接的HTTP
RTT:Round-Trip Time 往返时间