20相比10有哪些重大改进?
在HTTP1.0之后还有HTTP1.1了,先简单说下HTTP1.1和1.0的区别,再说与2.0的区别。
HTTP1.0和HTTP1.1主要区别主要体现在:
1、长连接
HTTP 1.1支持长连接,在一个TCP连接上可以传送多个HTTP请求和响应,但连接不能同时发出,而HTTP2.0的多路复用可以同时发出,在HTTP1.1中默认开启Connection: keep-alive。
2、缓存处理:
在HTTP1.0中主要使用header里的If-Modified-Since,Expires来做为缓存判断的标准,HTTP1.1则引入了更多的缓存控制策略例如Entity tag,If-Unmodified-Since, If-Match, If-None-Match等。
3、网络带宽优化:
添加了range头域,它允许只请求资源的某个部分,一般用于断点下载。
4、错误通知的管理:
在HTTP1.1中新增了24个错误状态响应码,如409。
5、Host头处理:
HTTP1.1的请求消息和响应消息都应支持在报文头增加Host字段,主要区分一个IP对应多 个HostName的情况。
HTTP2.0和HTTP1.X主要区别主要体现在:
1、多路复用
多个请求可以同时使用一个连接,可以同时使用一个连接主要也是借助了HTTP2.0的二进制分帧,请求被分为多个帧,不同请求之间也就不会乱序了。
2、首部压缩
HTTP/1.x中,消息主体都会经过 gzip 压缩,但状态行和头部却没有经过任何压缩,直接以纯文本传输,在大量请求下必然存在着浪费。所以对头部进行压缩可以大大减少传输的数据量节约带宽。
3、服务器推送
HTTP/
1.x
中浏览器一般都是先请求html页面,请求回来之后再发起请求js和css等,但是HTTP2.0可以在服务器响应了html页面后,直接把js和css推送到浏览器,这样浏览器需要的时候直接从本地缓存就可以拿到了可以看出来http从1.0到1.1再到2.0做的优化都是为了用户的体验更好,页面加载更快,在有限的网络资源下传送的有效内容更多。有了协议的优化,也可以使前端工程师把用户体验做的更好。
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有