google-chrome - 在 Chrome 调试器“网络”选项卡中混淆 HTTP/2 协议信息
问题描述
我看到其中一些显示“h2”和一些“http/2+quic/43”,但从未显示“h2+quic/43”。在这种情况下,h2 和 http/2 有什么区别?“quic/43”中的“43”是什么?协议版本或端口号?
解决方案
好吧,基本上 QUIC 仍在研究中,还没有标准化。作为发明者,Google 有自己的实现(有时称为 gQUIC),该实现仅在基于 Chromium 的浏览器和少数服务器实现中可用。它基于 HTTP/2(实际上它基于 SPDY,然后标准化为 HTTP/2)。
它不再使用 HTTP/2,而是使用它的修改版本。所以无论你叫它 h2 还是 http/2 都无关紧要——两者都不是。但在高层次上,h2 和 http/2 在这种情况下可以被同等对待。
当 QUIC 在今年晚些时候(甚至可能在明年)由 IETF 正式标准化时,它将使用 HTTP/3 来反映与 HTTP/2 的分歧,因此它应该改为 h3。目前正在研究中,但还没有浏览器支持它。它现在被称为 iQUIC,但想象一下,在它成为格式标准之后它会变成 QUIC,并且 Google 迁移到它并停止使用 gQUIC(类似于 HTTP/2 正式化后已弃用的 SDPY)。gQUIC 和 iQUIC 已经完全不同了。
数字 43 是版本号。谷歌过去很快迭代 QUIC,因为他们负责两端(浏览器和服务器),尽管现在似乎已经放慢了速度(希望反映它的成熟度和需要较少更改的事实)。Chromium 源代码中曾经有一个更改日志,显示每个版本的更改内容,但现在找不到...
推荐阅读
- java - Ktor Netty 服务器返回空响应
- c# - 用函数替换字典
- python - 打印 CNN 模型的模型摘要时,输入层是一个垃圾整数。此外,训练后的模型有 96% 的错误
- ios - 如何修复错误 Domain=NSCocoaErrorDomain Code=3840 “字符 52 周围的值无效。”
- android - 如何将表示类对象的 RecyclerView 项与此类对象绑定?科特林
- python - python代码从列表中获取结束大括号索引
- corda - 将corda节点作为docker的序列化问题
- javascript - 在 canvas.toDataUrl 中使用“application/octet-stream”mime 类型
- python-3.x - Conversion of pental to decimal, decimal to pental, adding base 5 numbers and multiplying base 5 numbers using def function
- node.js - 意外导入:Mocha ES6 Node 应用程序问题