Bug 173719

Summary: Response.flush over HTTP/2 causes white page
Product: WebKit Reporter: brett.postin
Component: Page LoadingAssignee: Nobody <webkit-unassigned>
Status: RESOLVED INVALID    
Severity: Normal CC: achristensen, ap, beidson
Priority: P2 Keywords: InRadar
Version: Safari 10   
Hardware: Mac   
OS: macOS 10.12.4   

Description brett.postin 2017-06-22 09:22:46 PDT
Problem

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.

Cause

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
Comment 1 Radar WebKit Bug Importer 2017-06-22 23:32:39 PDT
<rdar://problem/32942239>
Comment 2 Alexey Proskuryakov 2017-06-29 01:22:45 PDT
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?
Comment 3 brett.postin 2017-06-29 02:01:21 PDT
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.
Comment 4 brett.postin 2017-07-31 04:50:16 PDT
I can confirm that the "Not working" link above seemingly works in Safari 11 running on High Sierra beta.
Comment 5 Brady Eidson 2017-07-31 11:14:20 PDT
(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
> up?

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