【问题标题】:How to disable HTTP/2 in chrome or chromium?如何在 chrome 或 chromium 中禁用 HTTP/2?
【发布时间】:2017-07-15 02:48:36
【问题描述】:

我正在尝试调试 HTTP/1.1 和 HTTP/2 之间的差异。 是否有可能在 chrome 或 chromium 中禁用 HTTP/2? 我在 chrome 56 中找不到这个选项标志。我用 flag --disable-http2 尝试过 chromium 58:

./Chromium.app/Contents/MacOS/Chromium --disable-http2

但使用此标志后,内容仍使用 HTTP/2 协议传递:

【问题讨论】:

  • 在使用此标志运行它之前,您是否已终止所有会话?实际运行时的 CLI 输出是什么

标签: google-chrome http chromium http2


【解决方案1】:

为了它的价值,旗帜有效。

问题是您需要退出所有 Chrome 才能使其生效。包括插件垫片和其他 chrome 标签等。

仅仅添加命令行开关是不够的。

【讨论】:

  • Chromium 中的标志不起作用,因为我运行了 Chrome 实例。关闭 Chrome 并重新运行带有标志的 Chromium 解决了这个问题。
  • 如果你指定不同的 --user-profile-dir 也可以。
  • 不仅仅是插件垫片和标签,还有 chrome 应用程序!
  • 您的答案是只针对disable-http2 还是针对所有标志?
  • 一些标志,我不确定是否所有标志都需要这个,您需要根据具体情况进行测试。
【解决方案2】:

当您尝试在 WebPageTest 中执行相同操作时会发生什么(选择 Chrome 作为测试代理并在高级设置下的 Chrome 选项卡中添加命令行开关)

这是我刚刚为我的个人网站所做的测试,该标志似乎工作正常(如果您查看响应标头,您会看到 HTTP/1.1)

https://www.webpagetest.org/result/170322_1B_ab8656afcfb8bcc4103e9872ff56c28b/1/details/#waterfall_view_step1

【讨论】:

    【解决方案3】:

    实现大致等效的更简单方法是使用 HTTP 代理,例如 https://www.telerik.com/fiddler。这为您的请求增加了可以忽略不计的额外时间,并且(据我所知)根本不支持 http/2(还);即使确实如此,我很确定切换行为会比重新启动所有 Chrome 窗口更容易/实用。

    这种方法的优点是它立即生效 - 禁用和重新启用 HTTP/2 变得像启动和停止代理一样简单,而不会弄乱(如果你像我一样)你拥有的几十个 Chrome 选项卡打开,到 StackOverflow 和其他地方:)

    【讨论】:

      猜你喜欢
      • 2021-05-07
      • 2019-08-27
      • 1970-01-01
      • 1970-01-01
      • 2015-06-06
      • 1970-01-01
      • 2015-10-18
      • 2020-01-25
      • 1970-01-01
      相关资源
      最近更新 更多