我正在尝试调试HTTP / 1.1和HTTP / 2之间的差异。
是否有可能禁用chrome或chrome中的HTTP / 2?
我在chrome 56中找不到这个选项标志。我用flag --disable-http2
尝试了铬58:
./Chromium.app/Contents/MacOS/Chromium --disable-http2
但是在使用此标志后仍然使用HTTP / 2协议提供内容:
答案 0 :(得分:17)
对于它的价值,旗帜有效。
问题是您需要退出所有Chrome才能生效。包括插件垫片和其他镀铬标签等。
仅添加命令行开关是不够的。
答案 1 :(得分:1)
当您尝试在WebPageTest中执行相同操作时会发生什么(选择Chrome作为测试代理并在高级设置下的Chrome选项卡中添加命令行开关)
以下是我刚才为我的个人网站所做的测试,并且该标志似乎正常工作(如果您查看响应标头,您将看到HTTP / 1.1)
答案 2 :(得分:1)
一种更简单的方法来实现大致相同的目标是使用HTTP代理,例如https://www.telerik.com/fiddler。这为您的请求增加了微不足道的额外时间,并且(据我所知)根本不支持http / 2。即使这样做,我敢肯定,切换行为比重新启动所有Chrome窗口要容易/实用得多。
此方法的优点是立即生效-禁用和重新启用HTTP / 2就像启动和停止代理一样容易,而不会弄乱您拥有的数十个Chrome标签(如果您像我一样)打开,进入StackOverflow和其他地方:)