Note which browsers only support 103 Early Hints over HTTP/2 or above #24001
+5
−4
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Chrome and Safari only support 103 Early Hints over HTTP/2 or above.
Firefox supports it over HTTP/1.1 as well though say they might change that - CC: @valenting in case any update here.
This used to be clearly defined in BCD data, but was updated in #21083 and the note about Chrome was removed, and now it only shows a note for Safari under
rel=preconnect
:This is incorrect to me. Chrome has similar restrictions to Safari (for both preconnect and preload), and Safari restricts all of 103, and not just preconnects (though admittedly that is the only type Safari supports so they are kind of equivalent).
So I think this restriction should be under the main 103 entry (rather than just
rel=preconnect
) and should be the same for Chrome and Safari. Alternatively we can list this restriction under all three entries but that seems a little excessive to me.Note: I work on Chrome and maintain our docs on this.
Test results and supporting details
This is not covered by WPT that only covers HTTP/2 tests but is easy enough to test with a simple HTTP/1 node server like this that returns a preload:
Chrome shows no preload of the CSS file:
Neither does Safari (though it doiesn't even support
preload
early hint so this isn't a great test I admit, but more difficult to showpreconnect
—and ultimately we're not changing Safari's support here, only Chrome's):But Firefox does:
Related issues
Partial reversion of #21083