Skip to content

"note about 103 and HTTP/2" makes normative assertion #9637

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
annevk opened this issue Aug 25, 2023 · 6 comments · Fixed by #9660
Closed

"note about 103 and HTTP/2" makes normative assertion #9637

annevk opened this issue Aug 25, 2023 · 6 comments · Fixed by #9660

Comments

@annevk
Copy link
Member

annevk commented Aug 25, 2023

#9563 by @tunetheweb uses "recommended" which is a conformance term. The note needs to either be reworded or perhaps it should not be a note?

cc @domenic

@domenic
Copy link
Member

domenic commented Aug 25, 2023

Hmm how did that get past the linter? Oops...

@tunetheweb
Copy link
Contributor

Happy to make a PR to update this.

The RFC actually stops short of using RECOMMENDED (or even SHOULD, which is another similar IETF RFC term), but think it's clear from 1) the wording that is there, 2) that both Chrome and Safari only accept these over HTTP/2+, and 3) that the major implementers like Cloudflare, Fastly, and Apache only send over HTTP/2 that it is a recommended practice. Even if Firefox currently would accept it over HTTP/1.1 if the flag is enabled.

So shall we just drop this from being a note?

@annevk
Copy link
Member Author

annevk commented Aug 30, 2023

If we want to turn it into a requirement, which seems reasonable, it would be better placed in Fetch I think.

cc @noamr

@tunetheweb
Copy link
Contributor

I never fully got why this was in HTML spec to be honest! I see #7598 wanted to add it to the process a navigate fetch algorithm (Step 5.1), but the implementation of that in #7675 went a bit further by including these examples (which were not included in the fetch update in whatwg/fetch#1404).

My intention of #9563 was to explain why the examples were in HTTP/1.1-style syntax even though this was typically only supported for HTTP/2 or later. There was some confusion as to whether this was supported over HTTP/1.1 (as I say it is typically not) and, if not, why all examples were over HTTP/1.1 including in the HTML spec (it's just that is typical convention for HTTP examples, here, and elsewhere as HTTP/2 style syntax is not as widely known or readible). So I just wanted to clarify that.

So I'm not saying it necessarily should be a requirement, and not sure what agreement would needed to be sought to make it such (especially as I say, since Firefox does claim to support this over HTTP/1.1 - though it's implementation is behind a flag)? Personally I'm OK making it a requirement, but seems like we'd should consult with IETF to find out why they stopped short of that, and also see why Mozilla didn't restrict it to that for Firefox, first?

@annevk
Copy link
Member Author

annevk commented Aug 30, 2023

Okay, so two things I guess:

  1. Update the note to say something to the effect of "Early hints are typically delivered over HTTP/2, but for readability we use HTTP/1-style notation below."
  2. File an issue against Fetch to consider only delivering the early hints notification to consumers when HTTP/2 is being used. I can copy the relevant people. I don't think we need to coordinate with the IETF for this as it's an additional requirement we can make for browsers, though we'll loop some folks in.

@tunetheweb
Copy link
Contributor

Raised #9660 and whatwg/fetch#1698

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging a pull request may close this issue.

4 participants
@domenic @annevk @tunetheweb and others