New issue
Advanced search Search tips

Issue 757586 link

Starred by 2 users

Issue metadata

Status: Duplicate
Merged: issue 655585
Owner: ----
Closed: Aug 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug



Sign in to add a comment

Non-DOM image requests are limited by the 6 max requests per host in HTTP2

Reported by warrense...@gmail.com, Aug 21 2017

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36

Steps to reproduce the problem:
1. Run an HTTP/2 server (eg. https://github.com/GoogleChrome/simplehttp2server)
2. Open index.html (served from the HTTP/2 server)
3. Look at the Network waterfal

What is the expected behavior?
Requests are all dispatched, queued, and started at the same time.

What went wrong?
Requests are all dispatched and queued at the same time, but only 6 image requests start immediately (likely linked to the 6 max requests per host limit that applies to an HTTP/1 context).

Did this work before? No 

Does this work in other browsers? No
 Same behavior in Firefox 52.

Chrome version: 60.0.3112.101  Channel: stable
OS Version: OS X 10.12.5
Flash Version: 

However, when the image elements are appended to the DOM, all image requests start immediately.

Note that I'm aware that the proper way to preload an image in HTTP/2 would be to use a <link rel="preload"> tag.
 
logo.png
4.3 KB View Download
Re-uploading index.html.
index.html
395 bytes View Download
Components: -Blink>Image Internals>Network
This issue has come up before in the context of maximum number of open streaming connections. Not sure what the right thing to do is, but at the end of the day it's a networking issue.

Comment 3 by rch@chromium.org, Aug 22 2017

Components: -Internals>Network Internals>Network>HTTP2
Labels: Needs-Feedback
Can you collect a net-internals trace for this?

https://dev.chromium.org/for-testers/providing-network-details

My understanding is that the 6 request per host limit is enforced at the socket pool layer, which is bypassed in the case of HTTP/2. I wonder if the image requests are actually happening over HTTP/1 for some reason?

Comment 4 by rch@chromium.org, Aug 22 2017

Labels: -Needs-Feedback
Mergedinto: 655585
Status: Duplicate (was: Unconfirmed)
Oh, this is actually HTTP/2 throttling which is working as intended, apparently.


Sign in to add a comment