非持久HTTP(续) 4.HTTP服务器关闭TCP连接 5.HTTP客户接收包含HTML文 件的响应报文,显示HTML 文件,解析文件发现有10个 time 引用的jpeg对象 6.对于每个jpeg对象,重复 步骤1-5 Application Lo
2: Application Layer 22 非持久HTTP(续) 5. HTTP 客户接收包含HTML文 件的响应报文,显示HTML 文件,解析文件发现有10个 引用的jpeg对象。 6. 对于每个jpeg对象,重复 步骤 1-5。 4. HTTP 服务器关闭TCP连接 time
非持久HTTP的响应时间 RTT(Round-Trip Time): 个小分组从客户发送到服务 器,再返回客户的时间。 Response time: initiate TCP connection 口建立TCP连接用时一个RTT RTT 口发送HTTP请求至收到响应 request 的前几个字节用时一个RTT file RTT time to transmit 传输文件的时间 file file 下载一个对象的时间=2RTT eceived (忽略对象传输时间) time time 下载完整网页的时间=22RTT 2: Application Lo
2: Application Layer 23 非持久HTTP的响应时间 RTT (Round-Trip Time): 一 个小分组从客户发送到服务 器,再返回客户的时间。 Response time: 建立TCP连接用时一个RTT 发送HTTP请求至收到响应 的前几个字节用时一个RTT 传输文件的时间 下载一个对象的时间 = 2RTT (忽略对象传输时间) 下载完整网页的时间 = 22RTT time to transmit file initiate TCP connection RTT request file RTT file received time time
持久HTTP 非持久HTTP的问题: 无流水线方式: 口获取每个对象需要2个RTT 口客户仅当收到前一个响应 口每个TCP连接需要消耗操作系 后再发送新的请求 统资源 口请求每个对象用时1个RTT 口浏览器通常打开多个TCP连接请求一个网页用时12RT 获取引用对象,消耗资源 流水线方式: 持久HTTP 口HTTP/1.1缺省使用该方式 口服务器在发送响应后保持连接 口客户每解析到一个引用对 象就可以发送请求 口同一对客户-服务器之间的后 续HTTP报文可以在该连接上 可在一个RTT时间内请求 传输 所有引用对象 口请求一个网页用时约3RTT 2: Application layer 24
2: Application Layer 24 持久 HTTP 非持久HTTP 的问题: 获取每个对象需要2个RTT 每个TCP连接需要消耗操作系 统资源 浏览器通常打开多个TCP连接 获取引用对象,消耗资源 持久 HTTP 服务器在发送响应后保持连接 同一对客户-服务器之间的后 续HTTP报文可以在该连接上 传输 无流水线方式: 客户仅当收到前一个响应 后再发送新的请求 请求每个对象用时1个RTT 请求一个网页用时12RTT 流水线方式: HTTP/1.1缺省使用该方式 客户每解析到一个引用对 象就可以发送请求 可在一个RTT时间内请求 所有引用对象 请求一个网页用时约3RTT
2.2.3HTTP报文格式 口两类HTTP报文:请求报文,响应报文 口HTTP报文由ASCII文本构成 口HTTP请求报文: method sp URL sp version cr If request header field name value crIf header lines header field name value cr Application Lo
2: Application Layer 25 2.2.3 HTTP 报文格式 两类HTTP报文: 请求报文,响应报文 HTTP报文由ASCII文本构成 HTTP请求报文:
HTTP请求报文 口报头包括: 请求行 Get/SomedIr/page.html Http/1.1 Hostwww.someschool.edu User-agent: Mozilla/4.0 首部行 Connection:ci。se Accept-language: fr (extra carriage return, line feed) 个额外的回车换 行表示报头结束 Application Layer 26
2: Application Layer 26 HTTP请求报文 报头包括: GET /somedir/page.html HTTP/1.1 Host: www.someschool.edu User-agent: Mozilla/4.0 Connection: close Accept-language:fr (extra carriage return, line feed) 请求行 首部行 一个额外的回车换 行表示报头结束