首頁  >  文章  >  運維  >  如何使用Apache HTTP Server的快取功能

如何使用Apache HTTP Server的快取功能

(*-*)浩
(*-*)浩原創
2019-11-30 14:23:263422瀏覽

如何使用Apache HTTP Server的快取功能

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn