如何在chrome或chromium中禁用HTTP / 2?

时间:2017-02-24 10:05:33

标签: google-chrome http chromium http2

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

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

但是在使用此标志后仍然使用HTTP / 2协议提供内容:

Chromium --disable-http2

3 个答案:

答案 0 :(得分:17)

对于它的价值,旗帜有效。

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

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

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:1)

一种更简单的方法来实现大致相同的目标是使用HTTP代理,例如https://www.telerik.com/fiddler。这为您的请求增加了微不足道的额外时间,并且(据我所知)根本不支持http / 2。即使这样做,我敢肯定,切换行为比重新启动所有Chrome窗口要容易/实用得多。

此方法的优点是立即生效-禁用和重新启用HTTP / 2就像启动和停止代理一样容易,而不会弄乱您拥有的数十个Chrome标签(如果您像我一样)打开,进入StackOverflow和其他地方:)