Apache HTTP伺服器提供了一系列快取功能,旨在以各種方式提高伺服器的效能。
三態RFC2616 HTTP快取 ( 建議學習:Apache伺服器 )
mod_cache及其提供者模組_cache_mod智慧的HTTP感知快取。內容本身儲存在快取中,mod_cache旨在遵守控制內容可緩存性的所有各種HTTP頭和選項。
mod_cache針對簡單且複雜的快取配置,可以在其中處理代理內容,動態本機內容,或需要加速對可能較慢的磁碟上的本機檔案的存取。
雙狀態鍵/值共享物件快取
共享物件快取API(socache)及其提供者模組提供基於伺服器範圍的鍵/值共享物件快取。這些模組旨在快取低階數據,例如SSL會話和身份驗證憑證。
後端允許資料在伺服器範圍內儲存在共享記憶體中,或在資料中心內儲存在快取中,例如memcache或distcache。
專門的檔案快取
mod_file_cache提供了在伺服器啟動時將檔案預先載入到記憶體中的功能,並且可以改善存取時間並保存經常存取的文件上的文件句柄,因為不需要在每個請求上轉到磁碟。
三態RFC2616 HTTP快取
HTTP協定包含RFC2616第13節所描述的內嵌快取機制的內建支持,mod_cache模組可用於利用此功能。
與簡單的兩個狀態鍵/值快取不同,其中內容在不再新鮮時完全消失,HTTP快取包括保留陳舊內容的機制,並詢問來源伺服器此陳舊內容是否已更改,如果不是則再次刷新。
HTTP快取中的條目存在以下三種狀態之一:
#Fresh
如果內容夠新(比其新鮮壽命較年輕),則認為是Fresh。 HTTP快取可以免費提供新內容,而無需對來源伺服器進行任何呼叫。
Stale
如果內容太舊(早於其新鮮度生命週期),則認為是Stale。 HTTP快取應聯繫原始伺服器,並在向客戶端提供過時內容之前檢查內容是否仍然是新的。
如果原始伺服器仍然無效,則原始伺服器將使用替換內容進行回應,或者理想情況下,來源伺服器將使用程式碼回應以告知快取內容仍然是新的,而無需再次產生或傳送內容。內容再次變得新,循環繼續。
HTTP協定允許快取在某些情況下提供過時數據,例如當嘗試使用來源伺服器刷新資料時出現5xx錯誤,或者另一個請求已經在刷新給定條目的過程中。在這些情況下,會在回應中加入警告標頭。
Non Existent
如果快取已滿,則保留從快取中刪除內容以騰出空間的選項。內容可以隨時刪除,可以是舊或新。 htcacheclean工具可以一次運行,或作為守護程式部署,以使快取的大小保持在給定大小或給定數量的inode內。在嘗試刪除新內容之前,工具會嘗試刪除舊內容。
以上是如何使用Apache HTTP Server的快取功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!