Twitter稱Firefox的緩存方式可能導致非公開用戶信息儲存其中
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 上測試其網站的緩存行為。這其實是一種非常普遍的現象。