HTTP Caching and Cache-busting

oscon-logo.gif I have been invited to speak about HTTP caching and cache-busting at the O’Reilly Open Source Convention in July 2004.

Abstract of my talk:

A user’s web experience can often be improved by the proper use of HTTP caches. This talk discusses when to use and when to avoid caching, how to employ cache-busting techniques most effectively, and how to diagnose problems with caches.

In particular, this talk will cover:

  1. Overview of HTTP caches
    • Shared caches vs. private caches
    • Proxy caches and HTTP server accelerators
  2. How to encourage caching for static content
    • Reduction of network bandwidth usage
    • Improved browsing and page-rendering speed by avoiding network round-trips
  3. How to discourage caching for personalized or frequently-changing content
  4. How to disable caching for sensitive content
    • Cache-busting for accurate hit-metering and advertising statistics
    • Cache-busting for sensitive information (e.g. personal financial data)
  5. “Expires” vs. “Cache-Control” and other HTTP headers
  6. The best of all worlds: unique URL tagging techniques that defeat proxy caches but work gracefully with browser caches
  7. Sending HTTP headers
    • Apache’s mod_headers and mod_expires modules
    • PHP’s header() and mod_perl’s $r->header_out() functions
    • Using HTML <meta> tags
  8. Debugging HTTP caching problems
    • Using the Web Developer and Live HTTP Headers extensions for Mozilla
    • Diagnosing MSIE with Ethereal
    • Text-based debugging
    • Rolling your own HTTP proxy

Hope to see you there.

6 thoughts on “HTTP Caching and Cache-busting

  1. Jim

    Number 6 seems a little odd; defeating shared caches is not a good thing in most circumstances, so labelling it “the best of both worlds” isn’t very accurate. Only in the context of when you absolutely must have accurate hit statistics or must keep data private is it useful, and most websites don’t fall under either of those categories.

  2. Jeremy Zawodny's blog

    My MySQL Talks at OSCON 2004

    Having seen that several others (Radwin: HTTP Caching and Cache-busting, Kruckenberg: Using MySQL for Binary Storage, Brad: LiveJournal’s backend and memcached; past, present, and future) have blogged about their OSCON 2004 presentations being accepte…

  3. Michael J. Radwin

    As you probably know, I work for Yahoo!

    Accurate hit statistic are important for advertising revenue, and keeping someone else from seeing your page is important because the site is personalized. For any site that has those two attributes, #6 is the best of both worlds.

  4. Jim

    I believe that’s what I said, wasn’t it? With the pointed remark that most sites don’t fall into this category.

    Furthermore, when dealing with something like advertising, the “best of both worlds” of breaking shared caches is unnecessary for the majority of the site; you only need apply it to the 302 response that points to the banner image. “Unique URL tagging” is unnecessary for this.

  5. George Schlossnagle

    Sounds like a great talk, I am looking forward to checking it out. Hopefully we won’t be scheduled at the same time. 😉

Comments are closed.