id summary reporter owner description type status priority milestone component version resolution keywords cc launchpad_bug 844 Support ETags for immutable files in web front-end davidsarah "Tahoe immutable files are, well, immutable. GETting an immutable file at a given URL should always retrieve the same content. But caching proxies don't know that. For instance, in http://allmydata.org/pipermail/tahoe-dev/2009-November/003221.html , it is pointed out that adding a HTTP caching proxy on the client side of the gateway doesn't work: > My first instinct was to turn to Squid. However, I quickly discovered that because my JPG was being decrypted every time I accessed it, Squid was concluding that it had been changed, and dumping it from the cache. If the gateway were to use a unique identifier for the file (such as its storage index / verify cap / read cap) as an ETag, and support the associated {{{If-Match}}}, {{{If-None-Match}}} and {{{Vary}}} HTTP headers, then Squid (and any similar caching proxy that supports ETags) would know that the file hasn't changed. Note that if a caching proxy is used, file integrity will depend on the proxy's correctness and security. Caching of mutable files/directories is more complicated and potentially error-prone; let's leave that to another ticket." enhancement closed major undecided code-frontend-web 1.5.0 invalid performance cache