Subject: NEW: value space of status codes [#213]

From: Mark Nottingham <[email-masked]>
Date: Tue, 29 Jun 2010 10:05:55 -0700

p1 defines HTTP status codes as "a 3-digit integer result code" with the following value space:

The first digit of the Status-Code defines the class of response. The last two digits do not have any categorization role. There are 5 values for the first digit:

	• 1xx: Informational - Request received, continuing process
	• 2xx: Success - The action was successfully received, understood, and accepted
	• 3xx: Redirection - Further action must be taken in order to complete the request
	• 4xx: Client Error - The request contains bad syntax or cannot be fulfilled
	• 5xx: Server Error - The server failed to fulfill an apparently valid request

The BNF, however, allows other values;

Status-Code = 3DIGIT

IANA has asked what the status of codes is outside of this range; e.g., is a 0xx status code reserved, unregistered, or just not allowed? Likewise for 6xx (used by some implementations for local status codes) and upwards.

Also, should the value space be defined in p1 or p2?

--
Mark Nottingham     http://www.mnot.net/

---

From: Julian Reschke <[email-masked]>
Date: Tue, 29 Jun 2010 19:34:10 +0200

> The BNF, however, allows other values;

One might consider "3DIGIT" as a rule for parsers (thus, in P1), and the 
first digits as a semantical constraint (thus, P2).

> IANA has asked what the status of codes is outside of this range; e.g., is a 0xx status code reserved, unregistered, or just not allowed? Likewise for 6xx (used by some implementations for local st…

Not allowed in HTTP/1.1.

> Also, should the value space be defined in p1 or p2?

In P2, IMHO. Maybe move part of P1, Section 5.1.1 into P2, Section 4?

Best regards, Julian