solidot新版网站常见问题,请点击这里查看。

Twitter 私信缓存与 Mozilla Firefox

Firefox Twitter
WinterIsComing (31822)发表于 2020年04月04日 18时59分 星期六

来自
4 月 2 日,Twitter 官方博客称,Mozilla Firefox 储存缓存的方式可能导致用户的非公开信息储存在浏览器的缓存里,这意味着如果你用 Mozilla Firefox 在公用或共享计算机上访问 Twitter,采取行动如下载存档或发送接收私信,那么你登出之后这些信息可能会仍然储存在浏览器的缓存里。Twitter 称这个私信缓存问题只影响 Firefox 不影响 Safari 或 Chrome。那么这个问题是否应该怪罪于 Firefox?Mozilla 对此有不同看法,Mozilla 官方博客在 4 月 3 日回应指出是 Twitter 自己导致了这个问题。Mozilla 开发者指出,Twitter 的 Cache-Control 指令设置不正确。RFC 7234 定义了缓存工作机制,其中的关键是 Cache-Control 头文件,网站使用 Cache-Control 告诉浏览器哪些内容可安全储存在缓存里。缓存内容可加快内容访问,因此除非网站明确指出不允许浏览器会缓存大部分内容,这个机制叫 Heuristic caching(启发式缓存)。Firefox 的启发式缓存会缓存内容七天。Twitter 没有给私信的缓存加入 no-store 指令。这个问题之所以没有在其它浏览器上重现是因为当 Content-Disposition 出现的情况下这些浏览器会禁用启发式缓存。而在 Firefox 上,Content-Disposition 存在的情况下没有禁用启发式缓存。问题看起来是 Twitter 没有在 Firefox 上测试其网站的缓存行为。这其实是一种非常普遍的现象。