我正在考慮使用mod_cache。然而,我想通過Apache緩存的頁面(由php生成)通常包含該用戶的登錄名(「您已登錄爲...」)。所以我不能爲所有用戶緩存單個頁面。Apache,mod_cache和Cookies
登錄狀態由Cookie確定。所以我認爲我可以(在PHP中)在每個頁面中包含一個'Vary:Cookie'標頭。如果我對RFC 2616的理解是正確的,那麼這應該指示Apache(或任何其他)緩存算法爲用戶代理髮送的每個Cookie值緩存單獨的頁面。因此,如果瀏覽器沒有發送cookie(用戶已註銷),緩存的響應將與緩存的響應分開,並與具有Cookie的請求分開:state = 89898XAAJ(用戶登錄爲「Jacob」)和這又與使用Cookie的緩存響應保持獨立:state = XXAIU2389(用戶以「Bob」登錄)。如果過了一段時間,用戶請求相同的URL並使用Cookie:state = 89898XAAJ,那麼他將被提供正確的頁面'您已經以Jacob身份登錄'(而不是其他緩存的)。
我的理解是否正確,並且這是以這種方式工作還是我在這裏忽略某些東西?