Chrome HTTP2.0抛出SPDY协议错误。

6
我正在使用Windows 10技术预览版。我知道它还没有完全调整到可用状态,但这是我的问题:在本地IIS上开发我的Web应用程序。大部分数据通过ASP.NET MVC API加载。升级到Windows 10后,所有对API的AJAX调用都出现了net::ERR_SPDY_PROTOCOL_ERROR错误。HTML页面正常加载,但动态加载数据内容失败。我通过以下方式解决了这个问题:使用参数--use-spdy=off --use-system-ssl启动Chrome。奇怪的是,第一次启动时我总是会遇到这个错误,必须重新启动Chrome。其他浏览器也失败了,但没有具体的错误。传输使用HTTP2.0协议,该协议基于SPDY协议。我需要在IIS中关闭什么吗?更新:似乎是HTTP2.0的IIS问题。在Windows 8.1上尝试访问该网站时,我也遇到了同样的错误。

HTTP/2有几个草案,除了最终版本,这是相当新的。一个可能的原因是您的服务器和客户端支持不同的草案,其中至少一个不支持HTTP/2最终版。此外,请检查您在服务器上启用的密码套件,HTTP/2对允许使用的密码套件非常挑剔,并且它们必须在SSL协商期间首先进行。请查看我在这里的答案以获取更多详细信息:http://stackoverflow.com/questions/30643058/serving-http-version-of-site-to-those-who-dont-support-http2#answer-30763355。 - dsign
1个回答

0

大多数人对这个错误的反应是重新加载网页。我们实际上建议这作为第一反应。有时候这确实有效。

有趣的事实:SPDY实际上代表“速度”,用于减少网页的加载时间

如果重新加载网页无法消除错误,则应关闭Google Chrome并重新启动它。但仅靠这样做并不能真正解决问题,因为您需要在重新启动浏览器后立即清除缓存。

或者在cmd中使用以下命令清除DNS:ipconfig/flushdns


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接