背景
在支持通过macOS“El Capitan”v10.11或更新版本运行的HTTP / 2(即v9 +)的Safari版本中,访问通过HTTP / 2从IIS10提供的网页时(例如Windows Server 2016 / Windows 10) ,如果页面包含“Response.Flush”,那么它将不会加载。它只是挂着一个白色的屏幕。在这些事件发生期间,Web服务器CPU使用率也会出现峰值。
这个thread表明,当使用Response.Flush时,IIS会将协议从HTTP / 2切换回HTTP / 1.1。 Safari无法处理这个问题,而所有其他浏览器似乎都可以。
来自以上链接的演示:
工作 - http://limoeventplanner.com/safari-test.asp
无法正常工作 - https://limoeventplanner.com/safari-test.asp
我很欣赏这个问题的解决方案可能在其他地方(我目前使用webkit开放bug),所以我会尽力使我的问题集中......
TL; DR
在HTTP / 2环境中使用Response.Flush仍然有意义吗?
IIS在HTTP / 1.1中“降级”了这种情况下的预期行为吗?如果是这样,为什么?