Add caching and 304 support.