《HTTP - Http2.0》

推荐一首歌

  - 《卡路里》火箭101

杨超越真的只唱了一句!

 

PS:

  这章主要讲述了在 HTTP 发展之后的,一些扩展协议和补充,也会在这个章节对这几种协议和补充做一个比较。

 

1:HTTP 的瓶颈到底在哪里?

  - 一个连接只可以发送一个请求。

  - 只可以客户端发送请求。(这个是和WebSocket比较来说的)。

  - 请求/响应 每次发送都是相同的首部,首部信息越多,延迟越大

  - 虽然可以选择压缩格式,但是并不是强制压缩。

  - 虽然HTTP1.x支持了 keep-alive,来弥补多次创建连接产生的延迟.

    - 但是keep-alive使用多了同样会给服务端带来大量的性能压力,并且对于单个文件被不断请求的服务(例如图片存放网站).

    - keep-alive可能会极大的影响性能,因为它在文件被请求之后还保持了不必要的连接很长时间。

 

2:ajax(async js and XML - 异步JS 和 XML 技术) 我这也是简写

  - ajax 只更新局部资源,抛开用户体验来说(当然也不能抛开),也是优化了 HTTP 传输速率的一个部分。(减少了 报文主体 的数据量)

  - 但是 但是也未解决 HTTP 本身存在的问题。

 

3:SPDY(Speedy 谐音)(HTTP2.0基础)

  - 为了在协议级别消除 HTTP 的瓶颈

  - 并不是新的一种协议,而是在 HTTP 之前做了一层会话层。具体看下图

  - 

  - 目前只支持在 HTTPS 中使用。

  - 多路复用(最主要的一条)

    - 通过一条 TCP 连接,处理多个 HTTP 请求。

  - 压缩 HTTP 首部

 

4:SPDY 的问题?

  - 因为 SPDY 基本上只是将单个域名 (IP地址) 的通信多路复用

  - 所以当一个网站使用多个域名下的资源,改善效果就会很受限制

 

5:HTTP2.0 ?

  - HTTP2.0可以说是SPDY的升级版(其实原本也是基于SPDY设计的)

 

  - 但是,HTTP2.0 跟 SPDY 仍有不同的地方,主要是以下两点:

    - HTTP2.0 支持明文 HTTP 传输,而 SPDY 强制使用 HTTPS

    - HTTP2.0 消息头的压缩算法采用 HPACK,而非 SPDY 采用的 DEFLATE

 

  - 特性

    - 支持二进制格式。

    - 多路复用,也就是SPDY

 

  - 参考

    - 淘宝HTTPS探索

    - SPDY 和你想象的不一样 【已翻译100%】

 

posted @ 2018-08-16 15:20  Zzz哈  Views(149)  Comments(0Edit  收藏  举报