HTTP2 优点

参考:

  1. https://github.com/qappleh/Interview/issues/208
  2. https://www.zhihu.com/question/34074946/answer/75364178

1 多路复用

  1. 多路复用允许同时通过单一的 HTTP/2 连接发起多重的请求-响应消息
  2. 在 HTTP/1.1 协议中 「浏览器客户端在同一时间,针对同一域名下的请求有一定数量限制(不同浏览器这个限制的数目不一样)。超过限制数目的请求会被阻塞」
  3. 因此 HTTP/2 可以很容易的去实现多流并行而不用依赖建立多个 TCP 连接
  4. HTTP/2 把 HTTP 协议通信的基本单位缩小为一个一个的帧,并行地在同一个 TCP 连接上双向交换消息

2 优先排序

3 服务器推送

4 二进制数据传输

应用层(HTTP/2)和传输层(TCP or UDP)之间增加一个二进制分帧层

5 首部压缩

HTTP/1.1并不支持 HTTP 首部压缩,HTTP2 使用了 HPACK 算法

6 HTTP1.0 与 HTTP1.1 的区别

参考:
https://www.cnblogs.com/heluan/p/8620312.html

HTTP 1.0 HTTP 1.1
缓存处理 使用header里的If-Modified-Since,Expires来做为缓存判断的标准 引入Entity tag,If-Unmodified-Since, If-Match, If-None-Match等
带宽优化及网络连接的使用 服务器将整个对象送过来了,并且不支持断点续传功能 在请求头引入了range头域,它允许只请求资源的某个部分,即返回码是206
错误通知的管理 - 新增了24个错误状态响应码,如409、410
Host头处理 请求消息中的URL并没有传递主机名(hostname) 请求消息和响应消息都应支持Host头域,且请求消息中如果没有Host头域会报告一个错误(400 Bad Request)
长连接 每次请求都要创建连接的缺点 支持长连接(PersistentConnection)和请求的流水线(Pipelining)处理。默认开启Connection: keep-alive

7 HTTPS与HTTP的一些区别

HTTPS协议需要到CA申请证书,一般免费证书很少,需要交费。

HTTP协议运行在TCP之上,所有传输的内容都是明文,HTTPS运行在SSL/TLS之上,SSL/TLS运行在TCP之上,所有传输的内容都经过加密的。

HTTP和HTTPS使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

HTTPS可以有效的防止运营商劫持,解决了防劫持的一个大问题。

posted @ 2022-04-12 14:13  bcj7wi3kd5h1wd6  阅读(148)  评论(0编辑  收藏  举报