HTTP概述(续) 使用TCP作为传输层协议 HTTP是“无状态的” 口客户发起到服务器80端口服务器不保存有关客户 的TCP连接(客户端创建 请求的任何信息 个套接字) 口服务器接受来自客户的TCP aside 连接(服务器端创建一个套 Protocols that maintain 接字) state"are complex 口浏览器和服务器交换 Http D past history( state)must 报文(通过各自的套接字) be maintained 关闭TCP连接 o if server/client crashes their views of state"may be inconsistent must be reconcile d 2: Application Lo
2: Application Layer 22 HTTP 概述(续) 使用TCP作为传输层协议: 客户发起到服务器 80 端口 的 TCP 连接(客户端创建 一个套接字) 服务器接受来自客户的TCP 连接(服务器端创建一个套 接字) 浏览器和服务器交换HTTP 报文 (通过各自的套接字) 关闭TCP 连接 HTTP是“无状态的” 服务器不保存有关客户 请求的任何信息 Protocols that maintain “state” are complex! past history (state) must be maintained if server/client crashes, their views of “state” may be inconsistent, must be reconciled aside
2.2.2韭持久连接和持久连接 非持久HTTP 持久HTTP 口在一个TCP连接上最多可在一个TCP连接上可以 发送一个对象 发送多个对象。 口HTTP11.0使用非持久连口HTTP/11缺省使用持久 接 连接。 Application Lo
2: Application Layer 23 2.2.2 非持久连接和持久连接 非持久 HTTP 在一个TCP连接上最多 发送一个对象。 HTTP/1.0 使用非持久连 接。 持久 HTTP 在一个TCP连接上可以 发送多个对象。 HTTP/1.1 缺省使用持久 连接
非持久HTTP 假设用户输入以下URL: (包含文本及 10个Jpeg图像) http://www.someschool.edu/somedepartment/home.index 1a.HTTP客户发起到以下 HTTP服务器进程的连接 1b.www.someschooled上 w.some Schooled on 的HTTP服务器在端口80等 port80。 待TCP连接,接受连接,并 通知客户。 2.HTTP客户将一个HTP请求报 文(包含URL)写入它的套接 字,报文指示希望获取以下对3.HTP服务器接收请求报文, 象: 构造包含所请求对象的响应 someDepartment/home. index报文,将报文写入它的套接 字中。 time 2: Application Layer 24
2: Application Layer 24 非持久 HTTP 假设用户输入以下URL: http://www.someSchool.edu/someDepartment/home.index 1a. HTTP客户发起到以下 HTTP 服务器进程的连接 www.someSchool.edu on port 80。 2. HTTP客户将一个HTTP请求报 文(包含URL)写入它的套接 字,报文指示希望获取以下对 象: someDepartment/home.index 1b. www.someSchool.edu上 的HTTP服务器在端口80等 待TCP连接,接受连接,并 通知客户。 3. HTTP服务器接收请求报文, 构造包含所请求对象的响应 报文,将报文写入它的套接 字中。 time (包含文本及 10个Jpeg图像)
非持久HTTP(续) 4.HTTP服务器关闭TCP连接 5.HTTP客户接收包含HTML文 件的响应报文,显示HTML 文件,解析文件发现有10个 time 引用的jpeg对象 6.对于每个jpeg对象,重复 步骤1-5 Application Lo
2: Application Layer 25 非持久HTTP(续) 5. HTTP 客户接收包含HTML文 件的响应报文,显示HTML 文件,解析文件发现有10个 引用的jpeg对象。 6. 对于每个jpeg对象,重复 步骤 1-5。 4. HTTP 服务器关闭TCP连接 time
非持久HTTP的响应时间 RTT(Round-Trip Time) 个小分组从客户发送到服务 器再返回客户的时间。 Response time: initiate TCP T建立TCP连接用时一个 RTT connecTion RTT 口发送HTTP请求至收到响应 的前几个字节用时一个RTT request file 传输文件的时间 RTT time to transmit file 下载一个对象的时间=2RTT+ file 对象传输时间 eceived 下载完整网页的时间 time time 22RTT(11个对象) 2: Application Layer 26
2: Application Layer 26 非持久HTTP的响应时间 RTT (Round-Trip Time): 一 个小分组从客户发送到服务 器再返回客户的时间。 Response time: 建立TCP连接用时一个RTT 发送HTTP请求至收到响应 的前几个字节用时一个RTT 传输文件的时间 下载一个对象的时间 = 2RTT+ 对象传输时间 下载完整网页的时间 = 22RTT(11个对象) time to transmit file initiate TCP connection RTT request file RTT file received time time