Move FileError into dedicated module
Implement 304-caching in a separate handler