- From: Sandro Hawke <sandro@w3.org>
- Date: Mon, 09 Jul 2007 15:44:01 -0400
- To: Eyal Oren <eyal.oren@deri.org>
- Cc: semantic-web@w3.org
Eyal Oren <eyal.oren@deri.org> writes:
>
> I've a question regarding serving RDF content using HTTP 303 redirects. For
> example, foaf:name [1] redirects to http://xmlns.com/foaf/spec using HTTP
> 303. The, I believe relevant, RFC 2616 says that HTTP 303 responses MUST
> NOT be cached, although the result may be cached [2].
>
> Does this mean, that I have to check every single time what foaf:name
> redirects to? Or am I allowed to remember that foaf:name redirects to its
> spec? Squid for example will not cache this redirect exactly because it is
> a 303.
>
> Unless I'm misunderstanding something, it seems that when I'm processing
> lots of documents by de-referencing their URIs, I must dereference
> foaf:name every single time, only to be redirected to the same location,
> after which I can use my local copy. Requesting this HTTP header using eg.
> curl takes around 0.33s, which I'd think is rather a lot when processing
> thousands of foaf files containing tens of foaf properties each.
>
> My question: why are HTTP 303 codes being suggested [3],[4] instead of
> cacheable response such as 301 or was caching not an issue in drafting
> these suggestions?
I picked 303 because its name and descriptive text were relatively clear
about the redirection being to a different resource. By contrast, the
text on 301 ("the requested resource has been assigned a new permanent
URI") suggests that both old and new URIs identify the same thing -- so
if one is being logically pedandic, one can't do a 301 redirect from a
non-information-resource URI to an information-resource URI. With 303,
one can do that.
The prohibition against caching is a problem. I don't have a good
solution. Maybe the TAG talked about this? I don't know why the
redirect is not supposed to be cached.
-- Sandro
Received on Monday, 9 July 2007 19:45:02 UTC