In a version of Safari that supports HTTP/2 (i.e. v9+) running on macOS “El Capitan” v10.11 or newer, when accessing a webpage served from IIS10 via HTTP/2 (e.g. Windows Server 2016 / Windows 10), if the page contains a "Response.Flush" then it will not load. It simply hangs with a white screen. Web server CPU usage also spikes during these occurrences.
The cause of the issue is using Response.Flush. I have only confirmed this in Classic ASP so I do not know about .NET, but removing those lines makes the pages load fine.
This thread (https://forums.iis.net/t/1235574.aspx?Response+Flush+not+working+on+SSL+site+in+classic+ASP) suggests that when Response.Flush is used, IIS switches protocol from HTTP/2 back to HTTP/1.1. Safari cannot handle this, whilst all other browsers seemingly can.
Demos from the link above:
Working - http://limoeventplanner.com/safari-test.asp
Not working - https://limoeventplanner.com/safari-test.asp
This is not an issue in WebKit, but in underlying system frameworks, so marking as INVALID.
Can you still reproduce with macOS High Sierra beta?
I will try to get access to High Sierra to test.
Do you have any more details or can you redirect me elsewhere to follow this up?
Our app is rendered virtually useless in Safari over http2.
I can confirm that the "Not working" link above seemingly works in Safari 11 running on High Sierra beta.
(In reply to brett.postin from comment #4)
> I can confirm that the "Not working" link above seemingly works in Safari 11
> running on High Sierra beta.
That's good news.
(In reply to brett.postin from comment #3)>
> Do you have any more details or can you redirect me elsewhere to follow this
Since networking is handled by system components on Mac/iOS (NSURLSession and many others) the correct place to report bugs for such issues is http://bugreport.apple.com