At 09:38 PM 11/9/01 -0500, Clark C . Evans wrote:
>I have a few items...
>1. I have a report generated once every evening,
> and I think I can get the browser to cashe this
> locally by setting the Expires HTTP header, right?
> Any tricks?
>2. In the Page class, I'd like to see a getCreatedDate()
> and getModifiedDate() methods to return the timestamp
> when the object requested was created and/or modified.
> The default implementation could return None.
> In this way if those functions were implemented, the
> Page class could automatically provide the Date and
> Last-Modified headers.
>3. Further, I'd like the Page class to handle
> HTTP GET where If-Modified-Since is provided.
> Ideally, this can call the getModified() date,
> and respond appropriately if the browser's
> copy is up-to-date.
>4. Also, this I guess is icing, is to handle the HEAD
> request by providing the Title, Date, Last-Modified
> and other headers.
>Thoughts? (esp on the last one)
If you try out idea 1 and find something that works, please write it up in
the Wiki... I've been putting off caching issues in my own app but it's
time I started thinking about it.
2, 3, and 4 all sound like good ideas to me... though I'm not sure how you
would implement HEAD without actually processing the whole page and then
discarding the body, since headers can be generated at any time. Actually,
that's not quite true -- if you call response.flush() then the headers
cannot be modified after that. But I can't think of a safe way to stop
processing the page in that case.
If you decide to work on this and submit it as a patch, try to follow the
standard Webware naming conventions -- i.e. createdDate() instead of
The style guidelines can be found here:
- Geoff Talvola