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

Casing of client headers is maybe not accurate #475

Closed
annevk opened this issue Jan 31, 2017 · 8 comments
Closed

Casing of client headers is maybe not accurate #475

annevk opened this issue Jan 31, 2017 · 8 comments

Comments

@annevk
Copy link
Member

annevk commented Jan 31, 2017

In step 6 of https://fetch.spec.whatwg.org/#concept-fetch we should maybe use DPR, Save-Data, etc.? @igrigorik thoughts?

annevk pushed a commit to web-platform-tests/wpt that referenced this issue Apr 14, 2017
…ders()

After whatwg/xhr#130, getAllResponseHeaders() runs
the "sort and combine" step described in the Fetch spec, which, as of
whatwg/fetch#475, causes all header names to be
byte-lowercased.

The regular expression in getresponseheader-chunked-trailer.htm was still
trying to match "Trailer" instead of "trailer", which caused it to fail with
conformant implementations.
@annevk
Copy link
Member Author

annevk commented Apr 11, 2018

@igrigorik ping.

@igrigorik
Copy link
Member

igrigorik commented Apr 11, 2018

Apologies, missed this earlier. Header names are case insensitive and explicitly downcased in h2. I believe current spec definitions are a-OK. Close with no action?

@annevk
Copy link
Member Author

annevk commented Apr 12, 2018

@igrigorik that's not true for HTTP/1 (and we actually tried lowercasing there too for a bit and it broke things).

@mnot
Copy link
Member

mnot commented Apr 12, 2018

I wonder if you'll still find that breakage; we saw a little bit when H2 was deployed, but haven't heard much since. Of course, h2 is opt-in by the site...

@annevk
Copy link
Member Author

annevk commented Apr 12, 2018

The breakage was for changing it for HTTP/1, where this matters. It was pretty recent (that's why we changed a whole bunch of things around casing in the standard).

@mnot
Copy link
Member

mnot commented Apr 12, 2018

Right, but HTTP is a hop-by-hop protocol; people can (and do) use it for proxies, reverse proxies, CDNs, etc., with different versions on both sides.

@annevk
Copy link
Member Author

annevk commented Apr 12, 2018

Yeah, breakage might increase over time. Once we disable HTTP/1 support we can remove this, but until then we might as well stick to consistent casing there.

@igrigorik
Copy link
Member

Fair enough 👍

annevk added a commit that referenced this issue Apr 17, 2018
Also consistly make appending these headers a "should".

Fixes #475.
annevk added a commit that referenced this issue Apr 17, 2018
Also consistently make appending these headers a "should".

Fixes #475 and fixes #561.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants