Re: [whatwg/fetch] "A status is a code" doesn't actually mean anything (#1142)

Thanks, turns out this is a bit of a mess I had not previously looked into in detail (beyond 699, which has test coverage).

* 0-99: these are supported despite outlawed by HTTP, which requires 3 digits; Firefox returns 0 as 200.
* 1xx: these are not returned to the caller and handled by fetch/HTTP directly. Generally by waiting for the final response.
* 2xx-5xx: generally returned to the caller, specifics handled by Fetch already (if not, Fetch needs a patch).
* 6xx-9xx: returned to the caller.
* 1000+: Safari treats these as a network error. Chrome and Firefox keep trucking, but their maximum returned value is 65535 after which they start wrapping which feels like a security issue of sorts, e.g., 65736 is returned as 200 and 131072 as 0.

(I agree that we should say this is a number by the way. For the purposes of Fetch I suspect we want at least the range 0-999 to be supported, but perhaps not 1-99, depending on whether user agents are willing to be stricter there.)

cc @whatwg/http 

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/fetch/issues/1142#issuecomment-764456981

Received on Thursday, 21 January 2021 08:05:34 UTC