HTTP:超文本传输协议。
HTTP 是一个简单的 ASCⅡ码协议。客户端只要与服务器的 80 端口建立一个 TCP 连接,就能够通过几条 HTTP
命令进行直接会话。这些命令包括:
GET:请求 WEB 服务器发送一个页面。如:GET/hypertext/www/project.html
HEAD:请求服务器仅发送一个页面的头部信息(如修改时间、大小等)
PUT:向服务器写入一页。用于远程建立 www 网页。
POST:向网页中添加数据。
DELETE:删除网页。
LINK 和 UNLINK:在已存的页面之间建立或解除连接。
HTTP/1.1 协议使用持续连接。
万维网服务器在发送响应后仍然在一段时间内保持这条连接,使同一个客户(浏览器)和该服务器可以继续在这条连接上传送后续的 HTTP
请求报文和响应报文。这并不局限于传送同一个页面上链接的文档,而是只要这些文档都在同一个服务器上就行。目前一些流行的浏览器(例如,IE 6.0)的默认设置就是使用
HTTP/1.1。
持续连接的两种工作方式
非流水线方式:客户在收到前一个响应后才能发出下一个请求。这比非持续连接的两倍 RTT 的开销节省了建立 TCP 连接所需的一个 RTT
时间。但服务器在发送完一个对象后,其 TCP 连接就处于空闲状态,浪费了服务器资源。
流水线方式:客户在收到 HTTP
的响应报文之前就能够接着发送新的请求报文。一个接一个的请求报文到达服务器后,服务器就可连续发回响应报文。使用流水线方式时,客户访问所有的对象只需花费一个 RTT
时间,使 TCP 连接中的空闲时间减少,提高了下载文档效率。