On reentering the cached content etag is not validating

One of the things I enjoy about setting up my own blog with the Blosxom software is learning about the deep details of web protocols and formats that I've never worried about before.(This might have been the case if I'd used another blogging system, but the hackable nature of Blosxom inspires, nay, almost demands it.) Lately I've been educating myself about HTTP conditional GET requests and validation and caching of dynamically-generated content.

As a result, server-side rendering and page content transmission are both skipped.

(Some people have proposed more advanced techniques specifically tailored to RSS/Atom feeds, but these techniques presuppose use of the techniques I describe here.) We have three goals in dealing with web clients: to minimize network traffic to and from our site, to minimize server load for our site, and to deliver up-to-date content to the various users of the site; as discussed below, these three goals are often in conflict with each other, but we can usually implement a reasonable trade-off.

We have at least three approaches we can take to help achieve these goals: We can reduce the need for clients to make multiple network connections to the site, we can provide ways for clients to validate whether they need to re-download a page that they've previously downloaded, and we can provide clients "freshness" information telling them how long they can keep copies of pages without having to revalidate them.

One objective is to let both the client and server have a say over when to return a cached entry.

As you can imagine, allowing both client and server to have input on when a cached entry is to be considered stale is obviously going to introduce some complexity.

Leave a Reply