(问题6-16:HTTP 1.1
协议
离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载
比起HTTP 1.0协议有哪些主要的变化?
答:HTTP 1.1的最主要的变化就是改变了HTTP 1.0的“无状态”这一特点。
我们知道,当用户访问某个网站时,假定该网页上有一个文本文件和15个图形文件,那么用户要和这个万维网服务器建立总共16次的TCP连接才能将这16个文件全部下载完。浏览器在和服务器建立好一个TCP连接后,就发送HTTP请求,然后得到服务器的HTTP响应,传送过来一个文件(文字的或图形的),然后就自动断开TCP连接了。当点击下一个链接时,又重复以上的步骤。
HTTP 1.1将HTTP 1.0的“无状态”这个特点改变了。HTTP 1.1采用持续连接(persistent connection)作为默认的工作方式。当浏览器和某一万维网服务器建立TCP连接后,就可以在同一个TCP连接上传送多次的HTTP请求和HTTP响应。当浏览器或服务器要关闭TCP连接时,就通知对方,然后再关闭连接。
持续连接最大的好处就是减小了开销。减小了建立TCP连接的次数就减小了服务器的负担,缩短了响应时间,同时也减小了下层网络的开销,减少了缓存所占用的存储空间,也减少了使用的CPU时间。使用持续连接的浏览器还可以进一步优化对网站的访问。这就是采用流水线式的请求,即可以连续地发送请求,而不需要在收到响应后才发送下一个请求。当需要在某个页面读取多个图像文件而下层互连网络的吞吐量和时延都很大时,采用流水线式的请求就格外显得优点突出。
使用持续连接是要付出代价的。在建立TCP连接后,不论是浏览器还是服务器都不知道这个特定的TCP连接将要持续多长时间。这对服务器来说是个很主要的问题,因为可能有几千个浏览器要和这个服务器建立连接。我们应当注意到,只有连接的双方都关闭连接,TCP连接才会完全关闭。服务器端应当设置一个超时计时器,以便当一定时间内没有收到请求就可关闭这个连接。客户端和服务器端都必须注意对方是否关闭了TCP连接。若发现对方关闭了连接,那么自己这一端也应当随即关闭这个TCP连接。