Bug 173719 - Response.flush over HTTP/2 causes white page
Summary: Response.flush over HTTP/2 causes white page
Status: RESOLVED INVALID
Alias: None
Product: WebKit
Classification: Unclassified
Component: Page Loading (show other bugs)
Version: Safari 10
Hardware: Macintosh macOS 10.12.4
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2017-06-22 09:22 PDT by brett.postin
Modified: 2017-07-31 11:14 PDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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