zoukankan      html  css  js  c++  java
  • 关于http2的学习

    一、http1.1 的缺陷

    1、Header 头部过大

    2、明文传输

    3、不支持服务器推送

    二、http2 的新特性

    http2 是基于 SPDY 协议的,主要的特性有:

    1、压缩header

    http2 中没有采用原来的压缩算法,开发有专门的 "PACK" 算法来压缩请求和响应头元数据,这种压缩方式可以达到 50%-90% 的高压缩率。

    2、二进制传输

    http2 采用二进制格式传输数据,而非 http1.x 里纯文本形式的报文 ,二进制协议解析起来更高效。 http2 将请求和响应数据分割为更小的帧,并且它们采用二进制编码。

    http2 中,同域名下所有通信都在单个连接上完成,该连接可以承载任意数量的双向数据流。每个数据流都以消息的形式发送,而消息又由一个或多个帧组成。多个帧之间可以乱序发送,根据帧首部的流标识可以重新组装。

    3、多路复用

    在 http2 中引入了多路复用的技术。多路复用很好的解决了浏览器限制同一个域名下的请求数量的问题,同时也接更容易实现全速传输,毕竟新开一个 TCP 连接都需要慢慢提升传输速度。(chrome 限制在同一域名下最多同时建立6个 TCP 连接)

    在 http2 中,有了二进制分帧之后,http2 不再依赖 TCP 链接去实现多流并行了,在 http2 中,

    • 同域名下所有通信都在单个连接上完成。

    • 单个连接可以承载任意数量的双向数据流。

    • 数据流以消息的形式发送,而消息又由一个或多个帧组成,多个帧之间可以乱序发送,因为根据帧首部的流标识可以重新组装。

    4、服务器推送

     在 http2 中服务器不再是完全被动地响应请求,也可以新建“流”主动向客户端发送消息。

    当然,服务端可以主动推送,客户端也有权利选择是否接收。如果服务端推送的资源已经被浏览器缓存过,浏览器可以通过发送RST_STREAM帧来拒收。主动推送也遵守同源策略,也就是说,服务器不能随便将第三方资源推送给客户端,而必须是经过双方确认才行。

  • 相关阅读:
    XMAPP搭建DVWA靶机
    博客滑动相册封面导航教程
    MySQL-分页与排序
    MySQL-子查询
    java方法
    JSP小结
    javaScript入门介绍2
    Codeforces Global Round 13
    第一章、OS引论1
    JavaScript入门介绍2021/02/27
  • 原文地址:https://www.cnblogs.com/czz-zone/p/13438809.html
Copyright © 2011-2022 走看看