- From: Rhys Lewis <rhys@volantis.com>
- Date: Tue, 2 Oct 2007 06:32:38 -0600 (MDT)
- To: "'Booth, David \(HP Software - Boston\)'" <dbooth@hp.com>
- Cc: "'Technical Architecture Group WG'" <www-tag@w3.org>, "'Pat Hayes'" <phayes@ihmc.us>
Hello David, >> Actually, though I'd love to take any credit, I didn't actually posit >> this. It's in the HTTP spec. The thing that responds with a 303 is a >> resource, in the sense in which that term is defined in RFC2616[1] >> (and which I've labelled http:resources for the purposes of this >> thread). > > Where? Section 1.4 says the *server* responds with the 303, > not the resource identified by the URI: > > "The server responds with a status line, including the > message's protocol version and a success or error code . . . . "[2] Ok, I guess I need to be more explicit. You're right in that the thing that actually responds is the server. However, I read that part of [2] to mean 'respond' in the most mechanical sense. The server doesn't itself work out how to respond, apart from in the case of 404 and a few other error codes to do with serious internal failures. In most cases, the server just packages up and sends the (bits, metadata) it's been told to send. Notably, section 1.4 [2] also says: "Most HTTP communication is initiated by a user agent and consists of a request to be applied to a resource on some origin server." The way I read this is that an HTTP request is sent to a server. The server applies it to an http:resource. The http:resource determines the nature of the associated response. The server obediently packages up the response and replies to the requester. Generation of 303 responses (or indeed any redirections) is no different from generation of 200 responses in respect of this process. However, errors like 404 are different. They arise either because the request can't be applied to the http:resource or because something breaks during that process. For these, the server can work out what to do all by itself. Best wishes Rhys > > >> [1] http://www.w3.org/Protocols/rfc2616/rfc2616.html >> [2] http://www.w3.org/Protocols/rfc2616/rfc2616-sec1.html#sec1.4 >
Received on Tuesday, 2 October 2007 12:32:55 UTC