whatwg / fetch

Fetch Standard
https://fetch.spec.whatwg.org/
Other
2.1k stars 326 forks source link

Define what consequences NULL bytes (0x00) or other invalid values in header names have #1747

Open JannisBush opened 5 months ago

JannisBush commented 5 months ago

What is the issue with the Fetch Standard?

A header name has to match the field-name syntax (which is token) and does not allow all kind of values such as 0x00. The specifications do not seem to specify however how to deal with invalid header names. Should the whole response be discarded (network error)? Should only the invalid header (line) be discarded? Should the Null byte simply be ignored or treated as a space?

Example URL with 0x00: Example

Related:

annevk commented 5 months ago

I think this can be folded into #1156, right?

One tricky aspect here is that at least Chromium and perhaps other browsers as well have different parsing between HTTP and HTTPS so tests need to take that into consideration. And writing (tentative) tests is probably what we need to start with before we can require things in Fetch one way or another. If you're interested in writing tests for the cases mentioned in that issue that'd be most helpful.