The ETag should be the Unix timestamp of the resource.
Don't return Content-Length or Content-Type for 304.
Make PUT return an ETag.