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帧来拒收。主动推送也遵守同源策略,也就是说,服务器不能随便将第三方资源推送给客户端,而必须是经过双方确认才行。

  • 相关阅读:
    mysqldump 导出数据库为DBname的表名为Tname的表结构 导出数据库的所有表的表结构
    mysqldump 备份某张表 Warning: A partial dump from a server that has GTIDs will by default include the GTIDs of all transactions,
    nfs missing codepage or helper program, or other error
    date 增加一个小时 减少一个小时
    mysqldump 备份单个数据库
    mysql删除账户
    怎么删除某个用户的所有帖子?
    mongodb删除重复数据
    ReSharper2018破解详细方法
    激活windows和office
  • 原文地址:https://www.cnblogs.com/czz-zone/p/13438809.html
Copyright © 2011-2022 走看看