- From: Matthew Kerwin <matthew@kerwin.net.au>
- Date: Tue, 9 Sep 2014 09:44:18 +1000
- To: Sandro Hawke <sandro@w3.org>
- Cc: Julian Reschke <julian.reschke@gmx.de>, Amos Jeffries <squid3@treenet.co.nz>, James Snell <jasnell@gmail.com>, "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
- Message-ID: <CACweHNAjN_4xoKxXYCP_SgFC59bziz7vzFpKgKro+LWUf82caw@mail.gmail.com>
On 9 September 2014 00:48, Sandro Hawke <sandro@w3.org> wrote: > > Am I reading it correct to imply that a client MAY treat any 2xx > code (modulo caching) as a 200 simply by saying it "doesn't > implement" the given 2xx? That depends how the authors authored 2xx. AFAIK it's perfectly fine to say: if you explicitly acknowledge support, you can't back out without an error. But, yes, the implication is that anyone can (always or arbitrarily) not support your code, and if that's a problem you have to account for it in your spec. > I suppose it would work as 5NN, then. Essentially, "I can't > provide the content, since it's too large, but I am going to give > you the first page of it." Depends if the underlying message is "I can't handle the big document" or "You don't really want this big document". I know of browsers (possibly historical) that handle all 5xx codes by drawing a big red X symbol and writing our their own description of the error, completely ignoring the response body, because apparently server authors and site maintainers don't know how to talk to "real" computer users. If you're happy for that as a possible fallback behaviour ... To me it seems quite plain that this is a 3xx response; essentially the server is second-guessing the client's request and effectively saying "Hey, you said you want This, but you really want That, so I'll give That to you and by the way next time you can get it There". My suggestion is: use a new preference† in the request, for the server to use as a trigger to respond with 303[Content-Location] + chapter body. Note that just because Content-Location isn't defined for anything but 2xx, doesn't meant it can't *become* defined for them. This is completely aside from your particular issue, though, which is more one of site architecture and the definition of resources. † Either a new preference like "Prefer:contents-of-other", or a parameter to an existing one, like: "Prefer:return=representation;include-redirect". I'd defer to James on this. -- Matthew Kerwin http://matthew.kerwin.net.au/
Received on Monday, 8 September 2014 23:44:46 UTC