Gahing's blog Gahing's blog
首页
知识体系
  • 前端基础
  • 应用框架
  • 工程能力
  • 应用基础
  • 专业领域
  • 业务场景
  • 前端晋升 (opens new window)
  • Git
  • 网络基础
  • 算法
  • 数据结构
  • 编程范式
  • 编解码
  • Linux
  • AIGC
  • 其他领域

    • 客户端
    • 服务端
    • 产品设计
软素质
  • 面试经验
  • 人生总结
  • 个人简历
  • 知识卡片
  • 灵感记录
  • 实用技巧
  • 知识科普
  • 友情链接
  • 美食推荐 (opens new window)
  • 收藏夹

    • 优质前端信息源 (opens new window)
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Gahing / francecil

To be best
首页
知识体系
  • 前端基础
  • 应用框架
  • 工程能力
  • 应用基础
  • 专业领域
  • 业务场景
  • 前端晋升 (opens new window)
  • Git
  • 网络基础
  • 算法
  • 数据结构
  • 编程范式
  • 编解码
  • Linux
  • AIGC
  • 其他领域

    • 客户端
    • 服务端
    • 产品设计
软素质
  • 面试经验
  • 人生总结
  • 个人简历
  • 知识卡片
  • 灵感记录
  • 实用技巧
  • 知识科普
  • 友情链接
  • 美食推荐 (opens new window)
  • 收藏夹

    • 优质前端信息源 (opens new window)
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • AIGC

  • Git

  • Linux

  • 数据协议

  • 数据结构

  • 架构设计

  • 算法

  • 编程工具

  • 编程范式

  • 编解码

  • 网络基础

    • HTTP状态码
    • CDN
    • DNS
    • HTTP
    • TCP
    • Web安全
    • http2
      • 新特性
        • 二进制分帧
        • 头部压缩
        • 多路复用
        • 服务端推送 server push
        • 存在的问题
        • vs http3
      • 参考
    • https
    • websocket
    • 跨域
    • cookie
    • 如何减少预检请求OPTIONS
    • 浏览器缓存
  • 通用技术
  • 网络基础
gahing
2019-12-15
目录

http2草稿

# 新特性

# 二进制分帧

信息进一步拆分,如 http1.1 中的 header 封装到 header 帧中 request body 封装到 Data 帧

# 头部压缩

SPDY 也是支持头部压缩的

双端维护首部表,新的首部键值追加或替换首部表数据

具体流程不太懂

# 多路复用

消息是分帧的,共用一个tcp链接,根据流标识负重组

解决域名并发请求限制的问题

# 服务端推送 server push

可以在应用服务器中配置,如 nginx 中配置 http2_push ,还会推送对应的资源给客户端

    location / {
      root   /usr/share/nginx/html;
      index  index.html index.htm;
      http2_push /style.css;
      http2_push /example.png;
    }
1
2
3
4
5
6

不过这样配置太死

可以在响应头中加 Link: </styles.css>; rel=preload; as=style

并修改 nginx 配置

    location = / {
        proxy_pass http://upstream;
        http2_push_preload on;
    }
1
2
3
4

如果有一端不支持 http2 会回退到 preload 预加载

# 存在的问题

资源必须放在一起,而如今静态资源 CDN 化是标配,主域也走 CDN 化会存在较多问题

无法感知客户端是否存在缓存,多发一次造成浪费

有一些新的发展方向,具体可以看这篇文章:https://juejin.cn/post/6877063824861167623

# vs http3

http3 使用的 udp ;解决 http2 因为丢包导致滑动窗口堵塞的问题

# 参考

https://juejin.im/post/5a4dfb2ef265da43305ee2d0#heading-14

编辑 (opens new window)
上次更新: 2024/09/01, 23:56:56
Web安全
https

← Web安全 https→

最近更新
01
浅谈代码质量与量化指标
08-27
02
快速理解 JS 装饰器
08-26
03
Vue 项目中的 data-v-xxx 是怎么生成的
09-19
更多文章>
Theme by Vdoing | Copyright © 2016-2024 Gahing | 闽ICP备19024221号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式