HTTP1.1与HTTP1.0的比较
2017-05-27 12:03 核桃不是桃 阅读(140) 评论(0) 收藏 举报一个web站点每天可能要接受上百万的用户请求,为了提高系统效率,HTTP1.0规定游览器和服务器只保持短暂的连接,游览器的每次请求都需要与服务器建立一个tcp连接,服务器请求处理后立刻断开TCP连接,服务器不跟踪每个客户也不记录过去的请求。但是这也造成了一些性能缺陷,例如,一个包含有许多图像的网页文件中并没有包含真正的图像数据内容,而只是指明了这些图像的URL地址,当web游览器访问这个网页文件时,游览器首先要发出针对该网页文件的请求,当游览器解析web服务器返回该网页文档中的HTML内容时,发现其中的<img>图像标签后,浏览器将根据<img>标签中的src属性所指定的URL地址再次向服务器发出下载图像数据的请求,如下图所示:

显然,当访问一个包含有许多图像的网页文件的整个过程包含了多次请求和响应,每次都需要建立一个单独的连接。为了克服HTTP1.0的这个缺陷,HTTP1.1支持持久连接,在一个TCP连接上可以传递多个HTTp请求和响应,减少了建立和关闭连接的消耗和延迟。同时,HTTP1.1还允许客户端不用等待上一次请求结果返回,就可以发出下一次请求,但服务器端必须按照接收到客户端请求的先后顺序依次回送响应结果,以保证客户端能够区分出每次请求的响应内容,这样也显著地减少了整个下载过程所需要的时间。如下图所示:

HTTP1.0不支持Host请求头字段,web游览器无法使用主机头名来明确表示要访问服务器上的哪个web站点。
HTTP1.1中增加Host请求头字段后,web游览器可以使用主机头名来明确表示要访问服务器上的哪个web站点,这才实现了在一台web服务区上可以同一个ip地址和端口上使用不同的主机名来创建多个虚拟web站点。
HTTP1.1还提供了与身份认证、状态管理和Cache缓存等机制相关的请求头和响应头。
浙公网安备 33010602011771号