On Mon, Mar 29, 2010 at 7:22 PM, David Wood <[log in to unmask]> wrote:
> It would seem that Linked Data clients are becoming more prevalent and that some of them are not particularly well behaved. Perhaps we need to raise awareness of the importance of caching.
>
> This incident points out the criticality of DC terms to the Linked Data community and the fragility of a single point of failure such as purl.org. The PURL Federation development recently announced by NCBO and Zepheira may eventually serve to remove the single point of failure, but the criticality of service is likely to get worse with time.
I see that purl.org is currently sending an Expires header of Thu, 01
Jan 1970 00:00:00 GMT, which (I think) effectively prevents any
downstream caching of the 302 redirect:
--
curl -i http://purl.org/dc/terms/title
HTTP/1.1 302 Moved Temporarily
Date: Tue, 30 Mar 2010 07:26:19 GMT
Server: 1060 NetKernel v3.3 - Powered by Jetty
Location: http://dublincore.org/2008/01/14/dcterms.rdf#title
Content-Type: text/html; charset=iso-8859-1
X-Purl: 2.0; http://localhost:8080
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Content-Length: 283
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML>
<HEAD>
<TITLE>302 Found</TITLE>
</HEAD>
<BODY>
<H1>Found</H1>
The resource requested is available <A
HREF="http://dublincore.org/2008/01/14/dcterms.rdf#title">here</A>.<P>
</BODY>
</HTML>
--
It looks like dublincore.org is sending ETag and Last-Modified headers
which ought to make it cacheable by a proxy ... but I haven't
confirmed this.
--
curl -i 'http://dublincore.org/2008/01/14/dcterms.rdf#title'
HTTP/1.1 200 OK
Date: Tue, 30 Mar 2010 07:28:20 GMT
Server: Apache/2.0.59 (Unix) DAV/2 mod_ssl/2.0.59 OpenSSL/0.9.8g SVN/1.4.3
Last-Modified: Mon, 30 Jun 2008 03:54:54 GMT
ETag: "38b7-133a9-38dddf80"
Accept-Ranges: bytes
Content-Length: 78761
Content-Type: application/rdf+xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rdf:RDF [
<!ENTITY rdfns 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
<!ENTITY rdfsns 'http://www.w3.org/2000/01/rdf-schema#'>
<!ENTITY dcns 'http://purl.org/dc/elements/1.1/'>
<!ENTITY dctermsns 'http://purl.org/dc/terms/'>
<!ENTITY dctypens 'http://purl.org/dc/dcmitype/'>
<!ENTITY dcamns 'http://purl.org/dc/dcam/'>
<!ENTITY skosns 'http://www.w3.org/2004/02/skos/core#'>
]>
...
--
Encouraging the use of proxies and caches in the enterprise seems like
the right way to go. I wonder what the best way might be to encourage
people to use them? In the meantime, it's probably in purl.org's
interests to examine its use of the Expires header.
//Ed
PS. As I write this email it looks like
http://purlz.org/project/purl/development/wiki/PURLFederationArchitecture
isn't resolving properly. I get a long wait, and eventually a 500
error.
|