持久HTTP 非持久HTTP问题: 无流水线的持续: 口每个对象要求2RTT ▣仅当前面的响应已经收 口操作系统必须为每个TCP连接 到,客户机发出新的请 工作并分配逐级资源 求 口但浏览器经常打开并行TCP连 口对每个引用对象一个 接以获取引用的对象 RTT 持久HTTP 有流水线的持续: 口在发送响应后,服务器让连接 口在HTTP/1.1为默认 打开 口在相同的客户机/服务器之间的 口只要客户机遇到一个引 后继HTTP报文通过该连接发 用对象,它发送请求 送 口对于所有引用的对象花 费一个RTT时间 应用层 26
应用层 26 持久HTTP 非持久HTTP问题: 每个对象要求2 RTT 操作系统必须为每个TCP连接 工作并分配逐级资源 但浏览器经常打开并行TCP连 接以获取引用的对象 持久HTTP 在发送响应后,服务器让连接 打开 在相同的客户机/服务器之间的 后继HTTP报文通过该连接发 送 无流水线的持续: 仅当前面的响应已经收 到,客户机发出新的请 求 对每个引用对象一个 RTT 有流水线的持续: 在HTTP/1.1 为默认 只要客户机遇到一个引 用对象,它发送请求 对于所有引用的对象花 费一个RTT时间
HTTP请求报文 口两类HTTP报文:请求,响应 O HTTP请求报文: ASCII(人可读的格式) 请求行 (GET,POST, GET /somedir/page.html HTTP/1.1 HEAD命令) Host:www.someschool.edu User-agent:Mozilla/4.0 首部行 Connection:close Accept-language:fr 回车,换行指示 (另外的回车,换行) 报文的结束 应用层27
应用层 27 HTTP请求报文 两类HTTP报文:请求,响应 HTTP请求报文 : ASCII (人可读的格式) GET /somedir/page.html HTTP/1.1 Host: www.someschool.edu User-agent: Mozilla/4.0 Connection: close Accept-language:fr (另外的回车,换行) 请求行 (GET, POST, HEAD命令) 首部行 回车,换行指示 报文的结束
HTTP请求报文:通用格式 method sp URL sp version cr request line header field name value cr If ● ● header lines header field name value cr If cr If Entity Body 应用层 28
应用层 28 HTTP 请求报文: 通用格式
上载表单输入 Post方法: 口Web页经常包括表单输 入 URL方法: ▣在实体主体中的输入被 口使用GET方法 上载到服务器 口在请求行的URL字段中 的输入被上载: www.somesite.com/animalsearch?monkeys&banana 应用层 29
应用层 29 上载表单输入 Post方法: Web页经常包括表单输 入 在实体主体中的输入被 上载到服务器 URL方法: 使用 GET方法 在请求行的URL字段中 的输入被上载: www.somesite.com/animalsearch?monkeys&banana
方法类型 HTTP/1.0 HTTP/1.1 ▣GET ▣GET,POST,HEAD ▣POST OPUT ▣HEAD O向URL字段中定义的路 O请求服务器许可响应请求 径,上载在实体主体中文 的对象 件 O DELETE O删除在URL字段中定义的 文件 应用层 30
应用层 30 方法类型 HTTP/1.0 GET POST HEAD 请求服务器许可响应请求 的对象 HTTP/1.1 GET, POST, HEAD PUT 向URL字段中定义的路 径,上载在实体主体中文 件 DELETE 删除在URL字段中定义的 文件