代码语言:javascript复制
Nginx支持QUIC/HTTP3的实现路径和实践思考 | InfoQ公开课
https://www.infoq.cn/video/VPK3Zu0xrv6U8727ZSXB (内涵ppt)
受益
了解 HTTP3 协议解决了哪些问题
了解 HTTP3 协议的实现细节
能够基于 Nginx 搭建 HTTP3 Web Server
理解 Nginx HTTP3 框架与 HTTP 模块间的协作关系
大纲
UDP、连接、Stream、QPACK 等 HTTP3 概念间的关系
如何用 Nginx 搭建 HTTP3 服务器?
Nginx 是怎样实现 HTTP3 协议的?
内容介绍
- HTTP3 协议在 HTTP1 语义的基础上,解决了 HTTP2 协议中存在的队头阻塞问题,同时基于 UDP 协议降低了握手时延。
- 此外,面对不稳定的移动互联网环境,HTTP3 还提供了连接迁移功能。
因此可以说,理解 HTTP3 协议,能让我们轻松应对下一代高速互联网的挑战。
- 经过 3 年多时间 27 个草案的协定,HTTP3 标准接近完成,Nginx 已经在 QUIC 分支中推出了支持 HTTP3 的官方版本。本次分享,将演示如何基于 BoringSSL 搭建 Nginx HTTP3 Web 服务器。
- Nginx 基于 HTTP 模块构建了开放的生态, 当 Nginx 支持基于 UDP 的 HTTP3 协议后,它又是如何与原有 HTTP 模块互相协作的?本次分享也将从源码角度对其架构进行解读。
- udp 为什么可以跨 ip迁移,不用连接(手机)
- 队头阻塞问题
- 客户端主动发起请求
- 无状态导致编码效率低
- 慢启动(现在带宽很高)
- 为啥浏览器 限制多路复 epoll select 开发成本高,同步写代码最简单。【多路复用成本高,为啥浏览器不支持几万并发连接只支持6个】
- 视频编码 固定序列
60秒问答:系统调用之send函数
https://http3-explained.haxx.se/en/why-quic/why-tcphol
问 http3 出现根本原因是什么?是解决队头阻塞问题吗?
2个消息 一个黄色,一个绿色,send 缓冲区,缓冲区 变成有序字节流
假如 一个黄色消息丟了,会影响 绿色,感觉什么没什么
100个消息请求,假如一个丟了,剩余99个处理不了【这个理解不了】
问:连接怎么摆脱四元组做到跨ip迁移的?
- 如何防止攻击,切换连接路径 ?秘钥
- 跟坚哥学QUIC系列:连接迁移(Connection Migration)
- 【翻译】ietf-quic-draft-24: 9. Connection Migration https://blog.csdn.net/chuanglan/article/details/103935180
- https://datatracker.ietf.org/doc/html/draft-ietf-quic-transport-24#section-9
- 单独的通道
问:tcp怎么做到有序字节流?
静态表 就是写死到代表中 每个数组代表什么含义?http2 有61个
- 时间先后 会阻塞
- 有时间先后,前面不知道后面意思?不同管道解释后面含义。 eg 1个管道传递 62, 另外一个管道解释62含义
- 网络是共享的,流控怎么做?
- 流和消息什么关系?tcp连接 vs请求和相应消息
- 问:quick协议在http3和流媒体有什么优劣?
- 在客户端好处很大
- 页面对象特别多, 迅雷视频下载导致丢包重传 阻塞,一个阻塞不能阻塞多个。
- 流媒体:可以丢包 不能延迟。半天听不到讲话不行的。