Full support of IMS, both from clients and as a method for validating & update of cached objects.

ToDo list (more or less ordered)

  1. Return the appropriate headers with the 304 response.
  2. Make the code a bit more general, to support HEAD on cached objects as well.
  3. Update the cached object when we receive a 304 response. (expunge the cached object when the response is different from the cached object).
  4. Cache IMS responses when we do not have a object to update.
  5. Make IMS hierarchical.
  6. Use IMS to update objects.
    Use a wheight factor to determine how often a cached object should be validated (with the possibility to always validate the object before it is sent to the client).
    r Expired objects should always be validated before sent to the client.
  7. Turn off deletetion of expired objects.
  8. Optimize the LRU replacement. It should be possible to have the LRU replacement running continously without any performance loss.

Optimized LRU replacement

Henrik Nordström