Initial work

if you use etags it could be easier to handle 304 (not modified) since it is a opaque string that can be compared, otherwise with the last modified you need to parse the date and expect that the proxy or browser does not mess up with timezones, and it matches file modified date locally.