Skip to content
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

Use in HTTP2/3 Pseudo-Headers #809

Open
ethanresnick opened this issue Dec 21, 2023 · 5 comments
Open

Use in HTTP2/3 Pseudo-Headers #809

ethanresnick opened this issue Dec 21, 2023 · 5 comments
Labels
needs tests Moving the issue forward requires someone to write tests

Comments

@ethanresnick
Copy link

ethanresnick commented Dec 21, 2023

Apologies if this has been discussed before, but: I noticed that HTTP/3's definition of the :path pseudo-header (like the definition in HTTP/2) incorporates RFC 3986 by reference; I know that WHATWG URL and RFC 3986 diverge in places, so it struck me that this might cause some problems/ambiguities. Has this come up before and is it an issue?

Specifically, the H3 RFC says that :path:

Contains the path and query parts of the target URI (the "path-absolute" production and optionally a ? character (ASCII 0x3f) followed by the "query" production; see Sections 3.3 and 3.4 of [URI].

@annevk
Copy link
Member

annevk commented Dec 21, 2023

I think there are some subtle incompatibilities indeed. E.g., a browser can produce /%% as a path. I haven't attempted to write exhaustive web-platform-tests for this though. That would probably be good. Testing how clients and servers deal with such "incorrect" (from the perspective of the HTTP specification anyway) paths would be good too. The result of such testing we can then use to determine where we need to make changes.

@mnot
Copy link
Member

mnot commented Dec 21, 2023

Anne AIUI most of your current testing regards what's reflected in JS and in the UX, not on the wire, correct?

@annevk
Copy link
Member

annevk commented Dec 21, 2023

I have done some on-the-wire-testing in the past and there's likely some WPT coverage, but not as exhaustive as I'd like to properly resolve this issue. That is, I have confirmed in the past that browsers can emit URLs RFC 3986 cannot parse, but that's about it.

@ethanresnick
Copy link
Author

ethanresnick commented Dec 21, 2023

@annevk Ok, well, I have no idea what the fix is, but I'm glad I was able to highlight something real, at least :)

(@mnot Selfishly, while I have you and if you have time, I'd still love your opinion on these potential errata in the HTTP Caching rfc, and possibly this related issue too. I think the biggest issue there is about the "ranking preferences" with Vary + Accept. /end my hijacking of this issue.)

@mnot
Copy link
Member

mnot commented Dec 22, 2023

@ethanresnick they're on the queue.

@annevk annevk added the needs tests Moving the issue forward requires someone to write tests label Dec 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs tests Moving the issue forward requires someone to write tests
Development

No branches or pull requests

3 participants