Re: [Technical Errata Reported] RFC9110 (8459)

On 14/06/25 00:36, Willy Tarreau wrote:
> Hello,
> 
> On Fri, Jun 13, 2025 at 03:56:16AM -0700, RFC Errata System wrote:
>> Original Text
>> -------------
>> The status code of a response is a three-digit integer code that
>> describes the result of the request and the semantics of the
>> response, including whether the request was successful and what
>> content is enclosed (if any). All valid status codes are within
>> the range of 100 to 599, inclusive.
>>
>> Corrected Text
>> --------------
>> The status code of a response is a three-digit integer code that
>> describes the result of the request and the semantics of the
>> response, including whether the request was successful and what
>> content is enclosed (if any). All valid status codes are within
>> the range of 100 to 999, inclusive.
>>
>> Notes
>> -----
>> In the initial RFC 7231 which was obsoleted by this one, we had simple
>> definition of a status code which was used to build http servers, clients and
>> libraries that are being used now "The status-code element is a three-digit
>> integer code giving the result of the attempt to understand and satisfy the
>> request.".
> 
> The same spec you quoted further says:
> 
>    "However, a client MUST understand the class of any status code,
>     as indicated by the first digit,"
> 
> then
> 
>    "There are five values for the first digit"
> 
> then goes on with 1xx to 5xx.
> 
>> A lot of old systems are based on RFC 7231 and are using status codes that
>> are in rage of 600 - 999. Those codes are mainly used to describe errors that
>> aren't covered in previous status codes.
> 
...
> 
> Also I've heard that some products use 6xx-9xx for internal use (i.e. never
> goes to the wire), your request would cause serious trouble to them!
> 

FTR, Squid proxy is one such. Our legacy code still uses the 6xx range 
to represent some issues that are more-specific than the standard codes 
to determine what exact content gets generated for 4xx/5xx responses 
messages.


Most importantly there is **no** standard of meanings for 6xx-999 codes 
that HTTP agents can rely on. So sending them is effectively a "MUST 
NOT" in the protocol. I would support an Errata making that official for 
at least the current versions of HTTP.


> IMHO here it's a REJECT.

+1


Cheers
Amos

Received on Saturday, 14 June 2025 08:31:55 UTC