【问题标题】:Protocol Changes from HTTP2 to SPDY for C# WEB APIC# WEB API 从 HTTP2 到 SPDY 的协议更改
【发布时间】:2018-12-07 02:12:03
【问题描述】:

我们有 Angular + WEB API 应用程序,部署在 Azure 上。目前部署后,我们可以在 CHROME (Version 67.0.3396.99 (Official Build) (64-bit)) 网络选项卡中看到 SPDY 协议。但之前我们能够看到用于 Web API 请求的 HTTP2 协议。我们需要遵循哪些步骤来获取 HTTP2 请求。

【问题讨论】:

标签: c# google-chrome asp.net-web-api http2 spdy


【解决方案1】:

有趣。

看起来缓存资源至少存在一个错误 (https://bugs.chromium.org/p/chromium/issues/detail?id=704146),这可能解释了您的中间两个请求 - 它们是浅灰色的,表明缓存资源已被使用。

但是,在您的示例和我自己的一些测试中,我也可以看到对该站点(或相关站点)的其他请求也发生了同样的事情。

简而言之,这些似乎是显示错误,而不是真正通过 SPDY 下载。正如我在 cmets 中提到的,Chrome 已弃用 SPDY,不再支持它,因此它不能是 SPDY。

您还可以通过以下方式证明这一点:

  1. 在新选项卡中打开请求,您将看到它以h2http/2+quic/ 的形式下载,这将显示在相关站点上实际应该使用的内容。这就是你在短期内“回到 HTTP2”所需要的步骤。

  2. 使用 chrome://net-internals/#http2 和 chrome://net-internals/#quic 页面,您将看到通过 h2 或 quic 下载的请求。所以它肯定只是向网络选项卡报告不正确的协议。

  3. 检查您自己的日志,您将再次看到它们是通过 HTTP/2(或 QUIC,如果您支持)请求的。

HTTP/2 和 QUIC 是基于 Chrome 中的大量 SPDY 代码构建的,并且看起来它仍然在很多地方被引用。

所以基本上你不需要做任何事情,应该忽略它。如果您真的对此有强烈的感觉,请向 Chrome 团队提出错误,或者评论或为上述错误加注星标,以便您查看它的更新以及他们何时修复它。

【讨论】:

    猜你喜欢
    • 2012-06-11
    • 2016-04-15
    • 2016-07-02
    • 1970-01-01
    • 1970-01-01
    • 2021-11-16
    • 2012-05-09
    • 2013-02-18
    • 1970-01-01
    相关资源
    最近更新 更多