HTTP1.0 HTTP 1.1 HTTP 2.0主要区别
来源:互联网 发布:软件研发学习 编辑:程序博客网 时间:2024/06/02 06:58
HTTP1.0 HTTP 1.1主要区别
长连接
HTTP 1.0需要使用keep-alive参数来告知服务器端要建立一个长连接,而HTTP1.1默认支持长连接。
HTTP是基于TCP/IP协议的,创建一个TCP连接是需要经过三次握手的,有一定的开销,如果每次通讯都要重新建立连接的话,对性能有影响。因此最好能维持一个长连接,可以用个长连接来发多个请求。
节约带宽
HTTP 1.1支持只发送header信息(不带任何body信息),如果服务器认为客户端有权限请求服务器,则返回100,否则返回401。客户端如果接受到100,才开始把请求body发送到服务器。
这样当服务器返回401的时候,客户端就可以不用发送请求body了,节约了带宽。
另外HTTP还支持传送内容的一部分。这样当客户端已经有一部分的资源后,只需要跟服务器请求另外的部分资源即可。这是支持文件断点续传的基础。
HOST域
现在可以web server例如tomat,设置虚拟站点是非常常见的,也即是说,web server上的多个虚拟站点可以共享同一个ip和端口。
HTTP1.0是没有host域的,HTTP1.1才支持这个参数。
HTTP1.1 HTTP 2.0主要区别
多路复用
HTTP2.0使用了多路复用的技术,做到同一个连接并发处理多个请求,而且并发请求的数量比HTTP1.1大了好几个数量级。
当然HTTP1.1也可以多建立几个TCP连接,来支持处理更多并发的请求,但是创建TCP连接本身也是有开销的。
TCP连接有一个预热和保护的过程,先检查数据是否传送成功,一旦成功过,则慢慢加大传输速度。因此对应瞬时并发的连接,服务器的响应就会变慢。所以最好能使用一个建立好的连接,并且这个连接可以支持瞬时并发的请求。
关于多路复用,可以参看学习NIO 。
数据压缩
HTTP1.1不支持header数据的压缩,HTTP2.0使用HPACK算法对header的数据进行压缩,这样数据体积小了,在网络上传输就会更快。
服务器推送
意思是说,当我们对支持HTTP2.0的web server请求数据的时候,服务器会顺便把一些客户端需要的资源一起推送到客户端,免得客户端再次创建连接发送请求到服务器端获取。这种方式非常合适加载静态资源。
服务器端推送的这些资源其实存在客户端的某处地方,客户端直接从本地加载这些资源就可以了,不用走网络,速度自然是快很多的。
参考的文章
1、HTTP/2.0 相比1.0有哪些重大改进?
2、深入研究:HTTP2 的真正性能到底如何
- HTTP1.0 HTTP 1.1 HTTP 2.0主要区别
- HTTP1.0 HTTP 1.1 HTTP 2.0主要区别
- HTTP1.0、HTTP 1.1、HTTP 2.0主要区别
- HTTP1.0 HTTP 1.1 HTTP 2.0主要区别
- HTTP1.0 HTTP 1.1 HTTP 2.0主要区别
- HTTP1.0 HTTP 1.1 HTTP 2.0主要区别
- HTTP1.0 HTTP 1.1 HTTP 2.0主要区别
- HTTP详解(3)-http1.0 和http1.1 区别
- HTTP详解(3)-http1.0 和http1.1 区别
- HTTP详解(3)-http1.0 和http1.1 区别
- HTTP详解(3)-http1.0 和http1.1 区别
- HTTP详解(3)-http1.0 和http1.1 区别
- HTTP详解(3)-http1.0 和http1.1 区别
- HTTP详解(3)-http1.0 和http1.1 区别
- HTTP基本原理(http1.0与http1.1之区别)
- HTTP详解(3)-http1.0 和http1.1 区别
- HTTP详解(3)-http1.0 和http1.1 区别
- HTTP1.0和HTTP1.1区别及http状态码
- Ubuntu 16.04下安装OpenStack(juno)之add the compute service报错分析
- ShareSDK 第三方登录 Android
- 输入n个整数,编写函数实现以下操作,要求用指针实现: (1) 对n个数进行排序; (2) 将从指定位置的m个数逆序存放,例如:原序列为2,4,6,8,10,12,14,16,18,20,若要求把
- 用C语言给NI公司数据采集卡编程序进行电压数据采集
- Discuz二次开发 教你识别程序目录和文件列表
- HTTP1.0 HTTP 1.1 HTTP 2.0主要区别
- Netty源码分析:NioEventLoop启动以及其IO操作和Task任务的处理
- 2.Redis数据操作
- LeetCode Problem 1. Two Sum
- 数字图像处理基础
- idea2017+热部署插件jRebel安装与配置
- 51单片机的中断系统(七)通信的一些概念
- [ java swing derby开发pc应用 ] 从零到上线(二)
- Oracle会话查询等