Henrik Nordstrom wrote:
mån 2009-07-20 klockan 18:08 +1200 skrev Adrien de Croy:

* a busy - try again later status (like SMTP 421) (actually this would 
be exceedingly useful for rate limiting connections - a try again with a 
retry-after header - maybe new status 309?).

503 + Retry-After exists already for this purpose and closely related
Problem with 503 is RFC2616 S10.5 which states this is a Server Error.  Any client that just looks at the class of the response if it's not 1xx, 2xx or 3xx will just see this as an error.

Also S10.5.3 (503 Service Unavailable) doesn't even suggest that the client SHOULD retry after the time specified in Retry-After (if it exists) or some other time if it doesn't.

So 503 I believe would be problematic for this case - I'll do some testing with browsers and let you know what I find.

3xx is inappropriate as it's not a redirect to a new resource.
S 10.3 states "this class of status code indicates that further action needs to be taken by the user agent in order to fulfil the request".

Not all 3xx codes are redirects (e.g. 304), but sure, all the rest are.  But that's why I proposed a new 3xx code, since

a) it's not a server or client error, but indicates to the browser it must take further action
b) none of the other 3xx codes fit, as apart from 304, they are all redirects.

If there is widespread browser support for 503 + Retry-After, that will work fine, but perhaps the description of 503 should be extended to make this more likely for new implementors.

4xx is inappropriate as the request as such (when isolated) is fine.

2xx is inappropriate as it's not a successful response.





Adrien de Croy - WinGate Proxy Server - http://www.wingate.com