This is a good writeup, though I'm surprised no-one has mentioned the holy grail of caching with HTTP. That of course is good old RFC 2616: http://www.ietf.org/rfc/rfc2616.txt
There's an entire section in there devoted just to caching in HTTP. Very well worth reading in its entirety.
I think one of the meta-takeaway is that understanding the fundamentals of web caching can help with your general CS knowledge ("There are only two hard problems in Computer Science: cache invalidation and naming things." -- Phil Karlton).
Looking at Apache, we see a few strategies:
* Include last-modified metadata
* Include content metadata (eTag/md5 of content)
* Include explicit expiration date
* Include a max-age
* Include metadata about who can cache (public/private/no-caching, i.e. users can cache but proxies cannot)
These approaches could be used when designing data flows with Memcache, Redis, etc.
[+] [-] bitops|14 years ago|reply
There's an entire section in there devoted just to caching in HTTP. Very well worth reading in its entirety.
[+] [-] d0mine|14 years ago|reply
Direct link to Caching in HTTP http://tools.ietf.org/html/rfc2616#section-13
[+] [-] ceol|14 years ago|reply
[+] [-] kalid|14 years ago|reply
1) Explain the underlying concept
2) Show variations
3) Explain how to do it yourself
4) Show how to verify you did it correctly
5) Meta: be as concise as possible, maximize bang for the buck
[+] [-] fexl|14 years ago|reply
[+] [-] js2|14 years ago|reply
[+] [-] riledhel|14 years ago|reply
[+] [-] js4all|14 years ago|reply
[+] [-] ehc|14 years ago|reply
[+] [-] kalid|14 years ago|reply
I think one of the meta-takeaway is that understanding the fundamentals of web caching can help with your general CS knowledge ("There are only two hard problems in Computer Science: cache invalidation and naming things." -- Phil Karlton).
Looking at Apache, we see a few strategies:
These approaches could be used when designing data flows with Memcache, Redis, etc.[+] [-] bittermang|14 years ago|reply
[+] [-] oniTony|14 years ago|reply