Nginx
Nginx 反向代理記憶體是如何工作的?
我不明白帶有記憶體的反向代理是如何工作的。
讓我們假設記憶體是空的。
User1 載入 index.php(動態內容)。沒有記憶體,所以 Nginx 查詢 php 文件。伺服器說“歡迎使用者 1”。Nginx 使用 md5 校驗和儲存網頁。
User2 載入 index.php。記憶體中儲存了一個頁面,所以我們將這個頁面返回給使用者。它說“Welcome User1”,但如果我們呼叫了 php 腳本,它會返回“Welcome User2”。
Nginx如何知道是否再次呼叫php腳本?我的帶有記憶體的反向代理效果很好,可以返回動態內容,但我想這不僅僅是“魔術”。
是返回一個告訴 Nginx 不要記憶體的標頭的 php 腳本嗎?
響應記憶體由 HTTP
Cache-Control
響應標頭控制。如果它設置為
no-cache
orprivate
,那麼您的反向代理將不會記憶體文件。通常private
用於發送給登錄使用者的頁面;這意味著代理不能記憶體文件,但網路瀏覽器可以這樣做。
Cache-Control
您可以在RFC 2616 第 14.9 節等中查看完整的詳細資訊。