我们有一个智能手机应用程序,可以从 Google 的 blobstore 下载 blob 并对它们进行校验和。基本上,blob 在被具有新文件名的新版本替换之前是不可变的,非常适合缓存。
但是:在极少数情况下(到目前为止,一个月内 3 次)blob 丢失了一些字节。我在 HEX 模式下验证了一些字节,似乎我们的预压缩 JS 等文件在被缓存之前通过页面速度处理器传输(每次失败都会减小相同的大小),并且没有损坏,但不再可以通过大小/校验和验证。我们的压缩器在网络某处留下了 8 个换行符,而不是它的邪恶孪生兄弟。
每个文件只有一个请求进入我们的服务器日志,即使我们尝试了多次。
到目前为止,我还没有发现任何缓存规范都允许修改应该缓存的文件。有没有人有关于这种奇怪行为的信息?
是否需要发送无缓存标头才能校验 HTML、JS 或 CSS 文件?我们对 mp3 和 jpg 内容没有任何问题。