mnot’s blog

Design depends largely on constraints.” — Charles Eames

Caching Entries

Friday, 21 October 2011

Why ESI is Still Important, and How to Make it Better

More than ten years ago, I was working at Akamai and got involved in the specification of Edge Side Includes (ESI), sort of a templating language for intermediaries. In that time, interest in ESI has grown, waned and been reborn. As...

this entry’s page (9 comments)

Sunday, 28 August 2011

Better Browser Caching

In discussing my whinge about AppCache offline with a few browser vendory folks, I ending up writing down my longstanding wishlist for making browser caches better. Without further ado, a bunch of blue-sky ideas; Cache Contexts Most current HTTP caches...

this entry’s page

Sunday, 19 June 2011

Fixing AppCache

HTML5’s AppCache mechanism is one confused little puppy. Purporting to be for taking web applications offline — a compelling and useful thing — it’s more often used by performance-hungry sites that want to use it as an online cache....

this entry’s page (4 comments)

Friday, 27 May 2011

Linked Cache Invalidation

After designing and deploying Cache Channels, it quickly became apparent that one Web cache invalidation mechanism wasn’t able to cover the breadth of use cases. In a nutshell, Cache Channels trades off immediacy for reliability; that is, while cache...

this entry’s page

Wednesday, 30 June 2010

Падручнік па кэшаванню

Patricia Clausnitzer has kindly translated the Caching Tutorial to Belarusian. Thanks!...

this entry’s page (4 comments)

Thursday, 3 June 2010

Why Our New TV Doesn't Like the Web

A while back we used an absurd amount of reward points from our credit card to get some Myer gift certificates, and on the weekend these miraculously turned into a new TV, the Sony 32EX600. Overall, we really like...

this entry’s page (4 comments)

Wednesday, 10 March 2010

Caching-Tutorial für Webautoren und Webmaster

Thomas Hühn has graciously translated the caching tutorial into German. Thanks! See also the Chinese, Czech and French translations. To help the translators keep up with changes, I've started hosting the raw document on Github, which can also be...

this entry’s page

Friday, 30 October 2009

Traffic Server

A long time ago*, the word in high-performance proxy-caching was Inktomi’s Traffic Server. It was so fast it was referred to being “carrier grade” and this could be said without people smirking, and it was deployed by the likes...

this entry’s page (6 comments)

Thursday, 25 June 2009

The Resource Expert Droid

A (very) long time ago, I wrote the Cacheability Engine to help people figure out how a Web cache would treat their sites. It has a few bugs, but is generally useful for that purpose. However, as I’ve got...

this entry’s page (15 comments)

Wednesday, 17 June 2009

面向站长和网站管理员的Web缓存加速指南

The caching tutorial is now available in Chinese, courtesy of Che Dong (and apologies for taking so long in linking to it!). Norwegian should be coming soon......

this entry’s page (1 comment)

Friday, 12 June 2009

What to Look For in a HTTP Proxy/Cache

Part of my job is maintaining Yahoo!’s build of Squid and supporting its users, which use it to serve everything from the internal Web services that make sites go to serving Flickr’s images. In that process, I often am...

this entry’s page (3 comments)

Friday, 29 May 2009

Most Revealing Google Wave Comment

Everybody’s atwitter (yeah, sue me) about the Google Wave developer preview. Lots of new stuff there, but for me the most revealing comment, almost a throwaway, was here: Did we mention we use Squid? In other words, Google’s hot...

this entry’s page (7 comments)

Tuesday, 24 February 2009

Caching When You Least Expect it

There’s a rule of thumb about when a HTTP response can be cached; the Caching Tutorial says: If the response’s headers tell the cache not to keep it, it won’t. If the request is authenticated or secure, it won’t...

this entry’s page (6 comments)

Monday, 27 October 2008

Dev-Friendly Web Caching

Ryan Tomayko announces Rack::Cache, a HTTP cache for Ruby’s generic Web API; The basic goal is standards-based HTTP caching that scales down to the early stages of a project, development environments, light to medium trafficked sites, stuff like that....

this entry’s page (4 comments)

Friday, 4 January 2008

Cache Channels

The stale-while-revalidate and stale-if-error extensions aren’t the only fiddling we’ve been doing with the HTTP caching model. Now that Squid 2.7 is starting to see daylight, I can explain about a much more ambitious project — Cache Channels. In...

this entry’s page (4 comments)

Wednesday, 12 December 2007

Two HTTP Caching Extensions

We use caching extensively inside Yahoo! to improve scalability, latency and availability for back-end HTTP services, as I’ve discussed before. However, there are a few situations where the plain vanilla HTTP caching model doesn’t quite do the trick. Rather...

this entry’s page (16 comments)

Tuesday, 7 August 2007

ETags, ETags, ETags

I’ve been hoping to avoid this, but ETags seem to be popping up more and more often recently. For whatever reason, people latch onto them as a litmus test for RESTfulness, as the defining factor of HTTP’s caching model,...

this entry’s page (8 comments)

Wednesday, 20 June 2007

The State of Proxy Caching

A while back I wrote up the state of browser caching, after writing a quick-and-dirty XHR-based test page, with the idea that if people know how their content is handled by common implementations, they’d be able to trust caches...

this entry’s page (13 comments)

Tuesday, 15 May 2007

Expires vs. max-age

I occasionally get a question from readers of the caching tutorial about whether to use the Expires header or Cache-Control: max-age to control a response’s freshness lifetime. Some people claim that Expires is better, because it’s defined by HTTP/1.0,...

this entry’s page (7 comments)

Sunday, 29 April 2007

Squid is My Service Bus

The QCon presentation (slides) was ostensibly about how we use HTTP for services within Yahoo’s Media Group. When I started thinking about the talk, however, I quickly concluded that everyone’s heard enough about the high-level benefits of HTTP and...

this entry’s page (6 comments)

Monday, 21 August 2006

Caching Performance Notes

There have been some interesting developments in Web caching lately, from a performance perspective; event loops are becoming mainstream, and there are lots of new contenders on the scene. Fortuitously, I’ve been benchmarking proxies with an eye towards the...

this entry’s page (15 comments)

Tuesday, 16 May 2006

Caching Web 2.0

I just finished my XTech presentation, “Web 2.0 on Speed”. here are the slides [pdf]; I’m going to try to s5 them soon. There isn’t much new in this talk; it’s just a synthesis of a few different observations;...

this entry’s page (7 comments)

Thursday, 11 May 2006

The State of Browser Caching

Updated 2006-06-03 One of the big problems that Web developers have with HTTP caching is that they don’t know how the caches behave; while the specs say one thing, the actual behaviour of the cache often significantly deviates — usually...

this entry’s page (22 comments)

Saturday, 18 February 2006

Invalidating Caches with POST

Have you ever posted a comment to a blog, found it missing, so you re-posted it, only to find two entries? Annoying, huh? Aaron pinged me the other day with this problem, and I responded that the Right way...

this entry’s page (12 comments)

Saturday, 26 November 2005

Leveraging the Web: Caching

The first in an occasional series about the real-world benefits of REST and the Web architecture, as applied to HTTP. I used to work for a fairly huge company as a Web/Internet guru. One day, I got sucked into...

this entry’s page (6 comments)

Sunday, 22 May 2005

Prefetching (again)

There’s been quite a kerfuffle over Google’s Web Accelerator, because it prefetches Web content. It’s amusing to see these issues recycle over time; in the late nineties, prefetching was one of the biggest areas of research in Web caching....

this entry’s page (1 comment)

Thursday, 12 May 2005

Google's Cache-Control Extensions

I happened to look at the HTTP headers returned from Google News just now (what can I say, I’m a HTTP geek), and I noticed something unusual; Last login: Thu May 12 16:52:59 on console Welcome to Darwin! mnot-laptop:~>...

this entry’s page (5 comments)

Sunday, 15 February 2004

Caching Tutorial Update

I’ve published a revision of the Caching Tutorial for Web Authors and Webmasters, the first non-trivial edit in some time almost since I wrote it in 1998. That said, there aren’t any substantial changes; this is mostly tweaking and incorporation...

this entry’s page

Saturday, 28 June 2003

Caching is often enough

I feel compelled to respond to Norm Walsh's thoughts on caching. It's important to distinguish between the capabilities of a specific product (such as WWWoffle) and the technology that it implements (caching). I would agree that the general state of...

this entry’s page