- From: Roy T. Fielding <fielding@gbiv.com>
- Date: Thu, 9 Jul 2009 16:16:06 -0700
- To: J Ross Nicoll <jrn@jrn.me.uk>
- Cc: HTTP Working Group <ietf-http-wg@w3.org>, www-tag@w3.org
On Jul 9, 2009, at 6:17 AM, J Ross Nicoll wrote: > Roy T. Fielding wrote: > >>> That just seems plain false. A 303 does not indicate that something >>> does not exist. It simply indicates that the server, for reasons >>> which >>> may be entirely opaque and nobody is under any obligation to >>> explain, >>> has decided to redirect the query elsewhere. >> >> No, we have other redirect codes for that. > > As I understand it, 301 (moved permanently), 302 (found) and 307 (not > modified) all indicate a different location for the resource, never > for > an alternative to it. 304 is "Not modified", and 305/6 are > deprecated/reserved respectively. So, I don't think there is any other > redirect code for "Instead of the resource you requested, please see > this resource instead"... The only reason for a server to say "see this other resource instead" to a GET request is that the person who configured the server knows that this other resource is not the same as the requested resource (i.e., not a 301/302/307) and yet wants the client directed to that resource because it is more responsive to the client's request than responding with a 404 or 410. The only way a server can be responsive to the client's original GET request (i.e., not broken or lying) is if the 303 response points to a resource that describes the originally requested resource. Any other result would be pointlessly random, which would be silly because 302 is already provided for pointlessly random redirects. ....Roy
Received on Thursday, 9 July 2009 23:16:29 UTC