Apache HTTP 伺服器版本 2.4
說明 | 符合 RFC 2616 的 HTTP 快取過濾器。 |
---|---|
狀態 | 擴充功能 |
模組識別碼 | cache_module |
原始碼檔案 | mod_cache.c |
CacheQuickHandler
指令處於其預設值 on 時,將會繞過 Allow
和 Deny
指令。您不應為任何您希望透過用戶端主機名稱、地址或環境變數限制訪問的內容啟用快速處理程序快取。mod_cache
實作了一個符合 RFC 2616 的 HTTP 內容快取過濾器,並支援快取包含 Vary 標頭的內容協商回應。
符合 RFC 2616 的快取提供了一種機制來驗證過時或過期的內容是否仍然新鮮,並且當原始伺服器透過遵循 If-None-Match HTTP 請求標頭來支援 條件式請求 時,可以顯著提升效能。只有當內容發生變化時才會從頭開始重新產生內容,而不是在快取項目過期時。
作為一個過濾器,mod_cache
可以放置在來自任何處理程序的內容之前,包括 平面檔案(從慢速磁碟提供服務並快取在快速磁碟上)、CGI 腳本 或 動態內容產生器 的輸出,或從 另一個伺服器代理 的內容。
在預設配置中,mod_cache
會將快取過濾器盡可能地插入過濾器堆疊的前端,並利用 快速處理程序 繞過所有每個請求處理,以便將內容返回給用戶端。在此操作模式下,mod_cache
可以被視為固定在 Web 伺服器前端的快取代理伺服器,同時在 Web 伺服器本身內部運行。
當使用 CacheQuickHandler
指令關閉快速處理程序時,就可以將 CACHE 過濾器插入管理員選擇的過濾器堆疊中的某個位置。這提供了在內容被 mod_include
過濾器個性化之前或可選擇地被 mod_deflate
過濾器壓縮之前快取內容的機會。
在正常操作下,mod_cache
將響應並可以由用戶端在請求中發送的或伺服器在回應中發送的 Cache-Control 和 Pragma 標頭控制。在特殊情況下,可以將 mod_cache
配置為覆蓋這些標頭並強制執行特定網站的行為,但是這種行為將僅限於此快取,並且不會影響用戶端和伺服器之間可能存在的其他快取的操作,因此除非絕對必要,否則不建議這樣做。
RFC 2616 允許快取在從原始伺服器刷新現有過時項目的同時返回過時數據,並且當 CacheLock
指令配置適當時,mod_cache
支援此功能。此類回應將包含帶有 110 回應代碼的 Warning HTTP 標頭。RFC 2616 還允許快取在嘗試刷新過時數據返回錯誤 500 或更高版本時返回過時數據,並且 mod_cache
預設支援此行為。此類回應將包含帶有 111 回應代碼的 Warning HTTP 標頭。
mod_cache
需要一個或多個儲存管理模組的服務。以下儲存管理模組包含在 Apache 的基本發行版中
mod_cache_disk
htcacheclean
工具用於列出快取的 URL、刪除快取的 URL 或將磁碟快取的大小保持在大小和 inode 限制內。mod_cache_socache
更多詳細資訊、討論和範例,請參閱 快取指南。
相關模組 | 相關指令 |
---|---|
# # Sample Cache Configuration # LoadModule cache_module modules/mod_cache.so <IfModule mod_cache.c> LoadModule cache_disk_module modules/mod_cache_disk.so <IfModule mod_cache_disk.c> CacheRoot "c:/cacheroot" CacheEnable disk "/" CacheDirLevels 5 CacheDirLength 3 </IfModule> # When acting as a proxy, don't cache the list of security updates CacheDisable "http://security.update.server/update-list/" </IfModule>
當快取項目過期時,mod_cache
將向後端提交一個條件式請求,預期後端會確認快取項目是否仍然新鮮,如果不是,則發送更新的實體。
在快取實體過期與過期實體完全刷新之間存在一小段但有限的時間。在繁忙的伺服器上,在此期間可能會收到大量的請求,並導致大量的請求突然且不可預測地襲擊後端,造成 驚群效應。
為了控制驚群效應,可以使用 CacheLock
指令定義一個目錄,在該目錄中為 正在處理中 的 URL 建立鎖定。鎖定被其他請求用作 提示,以抑制嘗試快取(其他人已去擷取實體),或指示正在刷新過時的項目(同時將返回過時的內容)。
首次快取實體時,將為該實體建立一個鎖定,直到回應完全快取為止。在鎖定的生命週期內,快取將抑制第二次及後續嘗試快取相同實體的操作。雖然這並不能阻止驚群效應,但它確實可以阻止快取嘗試同時多次快取相同的實體。
當實體達到其新鮮度生命週期並過期時,將為該實體建立一個鎖定,直到回應被確認仍然新鮮或被後端替換為止。在鎖定的生命週期內,第二個及後續的請求將導致返回過時的數據,並且驚群效應得到控制。
鎖定僅用作 提示 以使快取對後端伺服器更溫和,但是如果需要,可以覆蓋鎖定。如果用戶端發送的請求帶有強制重新載入的 Cache-Control 標頭,則將忽略任何可能存在的鎖定,並且將立即滿足用戶端的請求並刷新快取項目。
作為進一步的安全機制,鎖定具有可配置的最大生存期。一旦達到此生存期,鎖定就會被刪除,並且新請求有機會建立新的鎖定。可以使用 CacheLockMaxAge
指令設定此最大生存期,預設值為 5 秒。
# # Enable the cache lock # <IfModule mod_cache.c> CacheLock on CacheLockPath "/tmp/mod_cache-lock" CacheLockMaxAge 5 </IfModule>
在預設的快取操作模式下,快取作為快速處理程序運行,可以縮短大部分伺服器處理時間,並提供最高的快取效能。
在此模式下,快取 固定在 伺服器的前端,就像在伺服器前面放置了一個獨立的 RFC 2616 快取代理一樣。
雖然此模式提供了最佳效能,但管理員可能會發現,在某些情況下,他們可能希望在快取請求後對請求執行進一步處理,例如將個性化注入到快取頁面中,或對內容應用授權限制。在這些情況下,管理員通常被迫在快取伺服器的後面或前面放置獨立的反向代理伺服器來實現此目的。
為了解決這個問題,可以將 CacheQuickHandler
指令設定為 off,伺服器將會處理非快取請求通常處理的所有階段,包括 身份驗證和授權 階段。
此外,管理員可以選擇透過將 CACHE 過濾器添加到輸出過濾器鏈中來指定 過濾器鏈中進行快取的精確位置。
例如,若要在壓縮回應之前快取內容,請將 CACHE 篩選器放置在 DEFLATE 篩選器之前,如下例所示
# Cache content before optional compression CacheQuickHandler off AddOutputFilterByType CACHE;DEFLATE text/plain
另一種選擇是在 mod_include
(或其他內容處理篩選器)套用個人化之前快取內容。在此範例中,包含 mod_include
可理解標籤的範本會在剖析之前快取
# Cache content before mod_include and mod_deflate CacheQuickHandler off AddOutputFilterByType CACHE;INCLUDES;DEFLATE text/html
您可以將 CACHE 篩選器放置在篩選鏈中的任何位置。在此範例中,內容在由 mod_include
剖析後,但在由 mod_deflate
處理之前快取
# Cache content between mod_include and mod_deflate CacheQuickHandler off AddOutputFilterByType INCLUDES;CACHE;DEFLATE text/html
mod_cache
無法為您強制執行此操作。一旦 mod_cache
決定是否要從快取提供實體,就會將決定的詳細原因寫入請求中子進程環境的 cache-status 鍵下。此原因可以由 LogFormat
指令記錄,如下所示
LogFormat "%{cache-status}e ..."
根據做出的快取決策,原因也會寫入子進程環境中以下四個鍵之一,視情況而定
這使得可以支援根據以下範例對快取請求進行條件記錄
CustomLog "cached-requests.log" common env=cache-hit CustomLog "uncached-requests.log" common env=cache-miss CustomLog "revalidated-requests.log" common env=cache-revalidate CustomLog "invalidated-requests.log" common env=cache-invalidate
對於模組作者,可以使用名為 cache_status 的鉤子,允許模組以自定義方式回應上述快取結果。
說明 | 未指定到期日期時快取文件的預設持續時間。 |
---|---|
語法 | CacheDefaultExpire 秒數 |
預設值 | CacheDefaultExpire 3600(一小時) |
上下文 | 伺服器設定、虛擬主機、目錄、.htaccess |
狀態 | 擴充功能 |
模組 | mod_cache |
CacheDefaultExpire
指令指定一個預設時間(以秒為單位),如果文件未提供到期日期或上次修改日期,則快取該文件。 CacheMaxExpire
指令指定的數值*不會*覆蓋此設定。
CacheDefaultExpire 86400
說明 | 將 X-Cache-Detail 標頭新增至回應。 |
---|---|
語法 | CacheDetailHeader 開啟|關閉 |
預設值 | CacheDetailHeader 關閉 |
上下文 | 伺服器設定、虛擬主機、目錄、.htaccess |
狀態 | 擴充功能 |
模組 | mod_cache |
相容性 | 適用於 Apache 2.3.9 及更高版本 |
當 CacheDetailHeader
指令開啟時,會將 X-Cache-Detail 標頭新增至回應,其中包含特定快取決策的詳細原因。
在快取 RESTful 服務的開發過程中,將有關快取決策的其他資訊寫入回應標頭可能很有用,以便確認服務和用戶端是否已正確使用 Cache-Control
和其他標頭。
如果使用一般處理程式,則此指令可能會出現在 <Directory>
或 <Location>
指令中。如果使用快速處理程式,則此指令必須出現在伺服器或虛擬主機上下文中,否則該設定將被忽略。
# Enable the X-Cache-Detail header CacheDetailHeader on
X-Cache-Detail: "conditional cache hit: entity refreshed" from localhost
說明 | 停用指定 URL 的快取 |
---|---|
語法 | CacheDisable url-string | 開啟 |
上下文 | 伺服器設定、虛擬主機、目錄、.htaccess |
狀態 | 擴充功能 |
模組 | mod_cache |
CacheDisable
指令指示 mod_cache
*不要*快取 url-string 或其下層的 URL。
CacheDisable "/local_files"
如果在 <Location>
指令中使用,則需要在 Location 下方指定路徑,或者如果使用「開啟」一詞,則會停用整個位置的快取。
<Location "/foo"> CacheDisable on </Location>
可以設定 no-cache
環境變數,以在 2.2.12 及更高版本中停用更細粒度資源集的快取。
說明 | 使用指定的儲存管理器啟用指定 URL 的快取 |
---|---|
語法 | CacheEnable cache_type [url-string] |
上下文 | 伺服器設定、虛擬主機、目錄 |
狀態 | 擴充功能 |
模組 | mod_cache |
相容性 | 在 2.2 及更早版本中套用於正向代理內容的 '/' url 字串。 |
CacheEnable
指令指示 mod_cache
快取 url-string 或其下層的 URL。快取儲存管理器由 cache_type 參數指定。 CacheEnable
指令也可以放在 <Location>
或 <LocationMatch>
區段內,以指示內容可快取。 cache_type disk
指示 mod_cache
使用由 mod_cache_disk
實作的基於磁碟的儲存管理器。 cache_type socache
指示 mod_cache
使用由 mod_cache_socache
實作的基於共享物件快取的儲存管理器。
如果不同 CacheEnable
指令之間的 URL 空間重疊(如下例所示),則將執行每個可能的儲存管理器,直到第一個實際處理請求的儲存管理器為止。儲存管理器執行的順序由設定檔中 CacheEnable
指令的順序決定。 <Location>
或 <LocationMatch>
區段中的 CacheEnable
指令會在全域定義的 CacheEnable
指令之前處理。
當充當正向代理伺服器時, url-string 必須至少以應啟用快取的協定開頭。
# Cache content (normal handler only) CacheQuickHandler off <Location "/foo"> CacheEnable disk </Location> # Cache regex (normal handler only) CacheQuickHandler off <LocationMatch "foo$"> CacheEnable disk </LocationMatch> # Cache all but forward proxy url's (normal or quick handler) CacheEnable disk / # Cache FTP-proxied url's (normal or quick handler) CacheEnable disk ftp:// # Cache forward proxy content from www.example.org (normal or quick handler) CacheEnable disk http://www.example.org/
以 "*" 開頭的主機名稱與具有該後綴的所有主機名稱匹配。以 "." 開頭的主機名稱與包含後面網域組成部分的所有主機名稱匹配。
# Match www.example.org, and fooexample.org CacheEnable disk "http://*example.org/" # Match www.example.org, but not fooexample.org CacheEnable disk "http://.example.org/"
可以設定 no-cache
環境變數,以在 2.2.12 及更高版本中停用更細粒度資源集的快取。
說明 | 將 X-Cache 標頭新增至回應。 |
---|---|
語法 | CacheHeader 開啟|關閉 |
預設值 | CacheHeader 關閉 |
上下文 | 伺服器設定、虛擬主機、目錄、.htaccess |
狀態 | 擴充功能 |
模組 | mod_cache |
相容性 | 適用於 Apache 2.3.9 及更高版本 |
當 CacheHeader
指令開啟時,會將 X-Cache 標頭新增至回應,其中包含此回應的快取狀態。如果使用一般處理程式,則此指令可能會出現在 <Directory>
或 <Location>
指令中。如果使用快速處理程式,則此指令必須出現在伺服器或虛擬主機上下文中,否則該設定將被忽略。
# Enable the X-Cache header CacheHeader on
X-Cache: HIT from localhost
說明 | 忽略不要將快取內容提供給用戶端的請求 |
---|---|
語法 | CacheIgnoreCacheControl 開啟|關閉 |
預設值 | CacheIgnoreCacheControl 關閉 |
上下文 | 伺服器設定、虛擬主機 |
狀態 | 擴充功能 |
模組 | mod_cache |
通常,包含 Cache-Control: no-cache
或 Pragma: no-cache 標頭值的請求將不會從快取提供。 CacheIgnoreCacheControl
指令允許覆蓋此行為。 CacheIgnoreCacheControl 開啟
告訴伺服器即使請求包含 no-cache 標頭值也嘗試從快取提供資源。需要授權的資源將*永遠不會*被快取。
CacheIgnoreCacheControl On
說明 | 不要在快取中儲存指定的 HTTP 標頭。 |
---|---|
語法 | CacheIgnoreHeaders header-string [header-string] ... |
預設值 | CacheIgnoreHeaders 無 |
上下文 | 伺服器設定、虛擬主機 |
狀態 | 擴充功能 |
模組 | mod_cache |
根據 RFC 2616,逐跳 HTTP 標頭不會儲存在快取中。以下 HTTP 標頭是逐跳標頭,因此*在任何情況下*都不會儲存在快取中,無論 CacheIgnoreHeaders
的設定如何
Connection
Keep-Alive
Proxy-Authenticate
Proxy-Authorization
TE
Trailers
Transfer-Encoding
Upgrade
CacheIgnoreHeaders
指定不應儲存在快取中的其他 HTTP 標頭。例如,在某些情況下,防止 Cookie 儲存在快取中是有意義的。
CacheIgnoreHeaders
採用以空格分隔的不應儲存在快取中的 HTTP 標頭列表。如果只有逐跳標頭不應儲存在快取中(符合 RFC 2616 的行為),則可以將 CacheIgnoreHeaders
設定為 無
。
CacheIgnoreHeaders Set-Cookie
CacheIgnoreHeaders None
Expires
這樣正確快取管理所需的標頭由於 CacheIgnoreHeaders
設定而未儲存,則 mod_cache 的行為未定義。說明 | 忽略回應沒有 Last Modified 標頭的事實。 |
---|---|
語法 | CacheIgnoreNoLastMod 開啟|關閉 |
預設值 | CacheIgnoreNoLastMod 關閉 |
上下文 | 伺服器設定、虛擬主機、目錄、.htaccess |
狀態 | 擴充功能 |
模組 | mod_cache |
通常,沒有上次修改日期的文件不會被快取。在某些情況下,上次修改日期會被移除(例如在 mod_include
處理期間)或根本不提供。 CacheIgnoreNoLastMod
指令提供了一種方法來指定即使沒有上次修改日期,也應考慮快取沒有上次修改日期的文件。如果文件未提供上次修改日期和到期日期,則將使用 CacheDefaultExpire
指令指定的數值來產生到期日期。
CacheIgnoreNoLastMod On
說明 | 快取時忽略查詢字串 |
---|---|
語法 | CacheIgnoreQueryString 開啟|關閉 |
預設值 | CacheIgnoreQueryString 關閉 |
上下文 | 伺服器設定、虛擬主機 |
狀態 | 擴充功能 |
模組 | mod_cache |
通常,帶有查詢字串參數的請求會針對每個唯一的查詢字串單獨快取。這根據 RFC 2616/13.9 僅在指定到期時間時才會執行。 CacheIgnoreQueryString
指令告訴快取即使未指定到期時間也快取請求,即使查詢字串不同也回覆快取的回覆。從快取的角度來看,啟用此指令時,請求會被視為沒有查詢字串。
CacheIgnoreQueryString On
說明 | 快取時忽略 URL 中編碼的已定義工作階段識別碼 |
---|---|
語法 | CacheIgnoreURLSessionIdentifiers 識別碼 [識別碼] ... |
預設值 | CacheIgnoreURLSessionIdentifiers None |
上下文 | 伺服器設定、虛擬主機 |
狀態 | 擴充功能 |
模組 | mod_cache |
有時應用程式會將工作階段識別碼編碼到 URL 中,如下列範例所示
/someapplication/image.gif;jsessionid=123456789
/someapplication/image.gif?PHPSESSIONID=12345678
這會導致可快取的資源會針對每個工作階段分別儲存,這通常不是我們想要的。 CacheIgnoreURLSessionIdentifiers
允許定義一個要從用於識別快取中實體的鍵值中移除的識別碼清單,這樣可快取的資源就不會針對每個工作階段分別儲存。
CacheIgnoreURLSessionIdentifiers None
會清除忽略識別碼的清單。否則,每個識別碼都會被新增到清單中。
CacheIgnoreURLSessionIdentifiers jsessionid
CacheIgnoreURLSessionIdentifiers None
說明 | 覆寫反向代理快取鍵值的基底 URL。 |
---|---|
語法 | CacheKeyBaseURL URL |
上下文 | 伺服器設定、虛擬主機 |
狀態 | 擴充功能 |
模組 | mod_cache |
相容性 | 適用於 Apache 2.3.9 及更高版本 |
當指定 CacheKeyBaseURL
指令時,提供的 URL 將被用作基底 URL 來計算反向代理設定中快取鍵值的 URL。如果未指定,則會使用目前虛擬主機的配置、主機名稱和連接埠來建構快取鍵值。當存在機器叢集,並且所有快取項目都應快取在同一個快取鍵值下時,可以使用此指令指定新的基底 URL。
# Override the base URL of the cache key. CacheKeyBaseURL "http://www.example.com/"
說明 | 用於根據 LastModified 日期計算到期日期的因子。 |
---|---|
語法 | CacheLastModifiedFactor 浮點數 |
預設值 | CacheLastModifiedFactor 0.1 |
上下文 | 伺服器設定、虛擬主機、目錄、.htaccess |
狀態 | 擴充功能 |
模組 | mod_cache |
如果文件沒有提供到期日期,但有提供上次修改日期,則可以根據上次修改文件以來的時間計算到期日期。 CacheLastModifiedFactor
指令指定一個 因子,用於根據以下公式產生此到期日期: 到期期限 = 自上次修改日期以來的時間 * 因子 到期日期 = 目前日期 + 到期期限
例如,如果文件在 10 小時前上次修改,且 因子 為 0.1,則到期期限將設定為 10*0.1 = 1 小時。如果目前時間為下午 3:00,則計算出的到期日期將為下午 3:00 + 1 小時 = 下午 4:00。如果到期期限會比 CacheMaxExpire
設定的期限長,則以後者為準。
CacheLastModifiedFactor 0.5
說明 | 啟用驚群鎖定。 |
---|---|
語法 | CacheLock on|off |
預設值 | CacheLock off |
上下文 | 伺服器設定、虛擬主機 |
狀態 | 擴充功能 |
模組 | mod_cache |
相容性 | 適用於 Apache 2.2.15 及更高版本 |
CacheLock
指令會為指定的 URL 空間啟用驚群鎖定。
在最小配置中,以下指令是在預設系統暫存目錄中啟用驚群鎖定所需的全部指令。
# Enable cache lock CacheLock on
說明 | 設定快取鎖定的最大可能期限。 |
---|---|
語法 | CacheLockMaxAge 整數 |
預設值 | CacheLockMaxAge 5 |
上下文 | 伺服器設定、虛擬主機 |
狀態 | 擴充功能 |
模組 | mod_cache |
CacheLockMaxAge
指令指定任何快取鎖定的最大期限。
超過此秒數值的鎖定將會被忽略,並且下一個傳入的請求將有機會重新建立鎖定。此機制可防止速度較慢的用戶端花費過長時間來重新整理實體。
說明 | 設定鎖定路徑目錄。 |
---|---|
語法 | CacheLockPath 目錄 |
預設值 | CacheLockPath /tmp/mod_cache-lock |
上下文 | 伺服器設定、虛擬主機 |
狀態 | 擴充功能 |
模組 | mod_cache |
CacheLockPath
指令允許您指定建立鎖定的目錄。預設情況下,會使用系統的暫存資料夾。鎖定是由僅適用於傳輸中的過時 URL 的空檔案組成,因此比傳統的磁碟快取佔用更少的資源。
說明 | 快取文件的最大時間(以秒為單位) |
---|---|
語法 | CacheMaxExpire 秒數 |
預設值 | CacheMaxExpire 86400(一天) |
上下文 | 伺服器設定、虛擬主機、目錄、.htaccess |
狀態 | 擴充功能 |
模組 | mod_cache |
CacheMaxExpire
指令指定在不檢查原始伺服器的情況下保留可快取 HTTP 文件的最大秒數。因此,文件最多會在此秒數內過時。即使文件提供了到期日期,也會強制執行此最大值。
CacheMaxExpire 604800
說明 | 快取文件的最小時間(以秒為單位) |
---|---|
語法 | CacheMinExpire 秒數 |
預設值 | CacheMinExpire 0 |
上下文 | 伺服器設定、虛擬主機、目錄、.htaccess |
狀態 | 擴充功能 |
模組 | mod_cache |
CacheMinExpire
指令指定在不檢查原始伺服器的情況下保留可快取 HTTP 文件的最小秒數。這僅在文件沒有提供有效的到期時間時才會使用。
CacheMinExpire 3600
說明 | 從快速處理常式執行快取。 |
---|---|
語法 | CacheQuickHandler on|off |
預設值 | CacheQuickHandler on |
上下文 | 伺服器設定、虛擬主機 |
狀態 | 擴充功能 |
模組 | mod_cache |
相容性 | Apache HTTP Server 2.3.3 及更高版本 |
CacheQuickHandler
指令控制處理快取的階段。
在預設啟用的配置中,快取會在快速處理常式階段中運作。此階段會縮短大部分伺服器處理的時間,並且代表典型伺服器最有效能的運作模式。快取會**鎖定**在伺服器的前端,並且會避免大部分的伺服器處理。
當停用時,快取會作為一般處理常式運作,並且在處理伺服器請求時會經歷完整的階段集。雖然此模式比預設模式慢,但它允許在需要完整處理的情況下使用快取,例如當內容需要授權時。
# Run cache as a normal handler CacheQuickHandler off
當快速處理常式停用時,管理員也可以選擇在過濾器鏈中的精確位置執行快取,方法是將 **CACHE** 過濾器新增到鏈中。
# Cache content before mod_include and mod_deflate CacheQuickHandler off AddOutputFilterByType CACHE;INCLUDES;DEFLATE text/html
如果 CACHE 過濾器被指定多次,則會套用最後一個執行個體。
說明 | 提供過時內容來取代 5xx 回應。 |
---|---|
語法 | CacheStaleOnError on|off |
預設值 | CacheStaleOnError on |
上下文 | 伺服器設定、虛擬主機、目錄、.htaccess |
狀態 | 擴充功能 |
模組 | mod_cache |
相容性 | 適用於 Apache 2.3.9 及更高版本 |
當 CacheStaleOnError
指令開啟,並且快取中有可用的過時資料時,快取會透過傳回過時資料而不是 5xx 回應來回應後端的 5xx 回應。雖然會遵守用戶端傳送的 Cache-Control 標頭,並且會根據請求將原始 5xx 回應傳回給用戶端,但傳回給用戶端的 5xx 回應不會使快取中的內容失效。
# Serve stale data on error. CacheStaleOnError on
說明 | 嘗試快取伺服器回報為已過期的回應 |
---|---|
語法 | CacheStoreExpired On|Off |
預設值 | CacheStoreExpired Off |
上下文 | 伺服器設定、虛擬主機、目錄、.htaccess |
狀態 | 擴充功能 |
模組 | mod_cache |
自 httpd 2.2.4 起,已過期的回應不會儲存在快取中。 CacheStoreExpired
指令允許覆寫此行為。 CacheStoreExpired
On 會告知伺服器嘗試快取資源,即使它已過時。後續的請求會觸發對原始伺服器的 If-Modified-Since 請求,如果後端資源沒有更改,則可能會從快取中完成回應。
CacheStoreExpired On
說明 | 嘗試快取已標記為 no-store 的請求或回應。 |
---|---|
語法 | CacheStoreNoStore On|Off |
預設值 | CacheStoreNoStore Off |
上下文 | 伺服器設定、虛擬主機、目錄、.htaccess |
狀態 | 擴充功能 |
模組 | mod_cache |
通常,具有 Cache-Control: no-store
標頭值的請求或回應不會儲存在快取中。 CacheStoreNoStore
指令允許覆寫此行為。 CacheStoreNoStore
On 會告知伺服器嘗試快取資源,即使它包含 no-store 標頭值。需要授權的資源**永遠不會**被快取。
CacheStoreNoStore On
說明 | 嘗試快取伺服器已標記為私有的回應 |
---|---|
語法 | CacheStorePrivate On|Off |
預設值 | CacheStorePrivate Off |
上下文 | 伺服器設定、虛擬主機、目錄、.htaccess |
狀態 | 擴充功能 |
模組 | mod_cache |
通常,具有 Cache-Control: private
標頭值的回應不會儲存在快取中。 CacheStorePrivate
指令允許覆寫此行為。 CacheStorePrivate
On 會告知伺服器嘗試快取資源,即使它包含私有標頭值。需要授權的資源**永遠不會**被快取。
CacheStorePrivate On