http1.0和http1.1的区别
Posted zhangjin1120
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了http1.0和http1.1的区别相关的知识,希望对你有一定的参考价值。
http1.0和http1.1的区别是什么?
-
http1.1支持长连接
http1.0使用短连接,每次请求都需要建立新的TCP连接,连接不能复用。
HTTP1.1支持持久连接和请求的流水线处理,在一个TCP连接上可以传送多个HTTP请求和响应,减少建立和关闭TCP连接的消耗和延迟,提高效率。
HTTP1.1默认开启“Connection:Keep-Alive”,使用长连接,加入“Connection:close”才关闭。 -
增加头部参数:Host
在HTTP1.0中为每台服务器绑定一个唯一的IP地址,因此,请求消息中的URL并没有传递主机名(hostname)。但是随着虚拟主机技术的发展,在一台物理服务器上可以存在多个虚机主机,并且它们共享一个IP地址。
HTTP1.1的请求消息和响应消息都应支持Host头域,且请求消息中如果没有Host头域,会报400 Bad Request错误。
-
缓存处理
在HTTP1.0中主要使用header里的If-Modified-Since,Expires来做为缓存判断的标准。
HTTP1.1则引入了更多的缓存控制策略例如Entity tag,If-Unmodified-Since, If-Match, If-None-Match等更多可供选择的缓存头来控制缓存策略。
-
带宽优化及网络连接的使用
HTTP1.0中存在一些浪费带宽的现象,例如:(1)客户端只需要某个对象的一部分,而服务器却将整个对象发送过来;(2)下载大文件不支持断点续传功能,在发生断连后需要重新下载完整的包。
HTTP1.1则在请求头中引入range头域,它允许只请求资源的某个部分,即返回码是206(Partial Content),这样就方便了开发者自由的选择以便于充分利用带宽和连接。
-
新增一些错误通知状态码
HTTP1.1中新增了24个错误状态响应码,如409(Conflict)表示请求的资源与资源的当前状态发生冲突 。
以上是关于http1.0和http1.1的区别的主要内容,如果未能解决你的问题,请参考以下文章