<-
Apache > HTTP Server > 文件 > 第 2.4 版 > 模組

Apache Module mod_expires

可用語言:  en  |  fr  |  ja  |  ko 

說明根據使用者指定的條件產生 ExpiresCache-Control HTTP 標頭
狀態擴充功能
模組識別碼expires_module
原始檔mod_expires.c

摘要

此模組控制 Expires HTTP 標頭以及 Cache-Control HTTP 標頭的 max-age 指令,設定在伺服器回應中。到期日可以設定為根據來源檔最後修改時間或根據用戶端存取時間的相對時間。

這些 HTTP 標頭是關於文件有效性和持續性的用戶端說明。如果快取,文件會從快取中擷取,而不是從來源中,直到此時間過去。在此時間過後,快取副本會被視為「過期」且無效,而且必須從來源取得新的副本。

如要修改 Cache-Control 指令,而不是 max-age(參閱 RFC 2616 第 14.9 節),可以搭配使用 Header 指令。

Expires 標頭已經是伺服器產生的回應的一部分,例如由 CGI 程式產生或是從來源伺服器代理,此模組不會變更或加入 ExpiresCache-Control 標頭。

Support Apache!

主題

指令

錯誤修正清單

請參閱

top

替代間隔語法

ExpiresDefaultExpiresByType 指令也可以定義為較易讀的語法形式

ExpiresDefault "base  [plus num type] [num type] ..."
ExpiresByType type/encoding "base  [plus num type] [num type] ..."

其中 base 為下列之一

plus 關鍵字是選用的。num 應為整數值 [可接受 atoi()],而 type 是下列之一項

例如,下列指令任何一則可讓文件在存取後預設 1 個月後到期

ExpiresDefault "access plus 1 month"
ExpiresDefault "access plus 4 weeks"
ExpiresDefault "access plus 30 days"

可透過新增多個「num type」子句對過期時間進行微調

ExpiresByType text/html "access plus 1 month 15 days 2 hours"
ExpiresByType image/gif "modification plus 5 hours 3 minutes"

請注意,如果使用修改日期基礎設定,則 不會 將 Expires 標頭新增到達 disk 上檔案外的內容。這是因為此類內容沒有修改時間。

top

ExpiresActive 指令

說明啟用生成 Expires 標頭
語法ExpiresActive On|Off
預設值ExpiresActive Off
內容伺服器設定、虛擬主機、目錄、.htaccess
覆寫索引
狀態擴充功能
模組mod_expires

此指令啟用或停用為相關文件的範疇產生 ExpiresCache-Control 標頭。(也就是說,如果在 .htaccess 檔案中找到,例如,它只適用於從該目錄中產生的文件)如果設為 Off,不會為範疇中的任何文件產生標頭(除非在較低層級覆寫,例如 .htaccess 檔案覆寫伺服器設定檔)。如果設定為 On,標頭會根據 ExpiresByTypeExpiresDefault 指令中的條件加入至載入的文件中。(也就是說) 。

請注意,此指令並未保證會產生 ExpiresCache-Control 標題。如果未符合條件,不會送出任何標頭,且效應會就像此指令未指定一樣。

top

ExpiresByType 指令

說明根據 MIME 類型設定的 Expires 標頭值
語法ExpiresByType MIME 類型 <>代碼
內容伺服器設定、虛擬主機、目錄、.htaccess
覆寫索引
狀態擴充功能
模組mod_expires

此指令為特定類型(例如,text/html)文件的 Expires 標頭和 Cache-Control 標頭的值定義 max-age 指令。第二個參數設定會新增至基本時間中的秒數,以建構到期日。Cache-Control: max-age 是藉由減去到期日時間請求時間計算得出,並以秒數表示成果。

基底的時間應為檔案的最後修改時間,或客戶端存取文件的時間。應使用哪一個由 <code> 欄位指定;M 表示應使用檔案的最後修改時間做為基底時間,A 表示應使用客戶端的存取時間。

兩者效果的差異很細微。若使用 M,則所有快取中的文件的目前副本將會同時過期,這很適用於像是每週公告且總是位於相同 URL 的檔案。若使用 A,則每個客戶端的過期日期不同;這很適用於很少變動的影像檔案,特別是對於所有引用相同影像的相關文件組(亦即,會在相對短的時間內重複存取影像)。

範例

# enable expirations
ExpiresActive On
# expire GIF images after a month in the client's cache
ExpiresByType image/gif A2592000
# HTML documents are good for a week from the
# time they were changed
ExpiresByType text/html M604800

請注意,此指令僅在指定 ExpiresActive On 時才有效。它會僅針對指定的 MIME 類型,覆寫由 ExpiresDefault 指令設定的任何過期日期。

您也可以使用前面文件中說明的 替代語法 指定逾期時間計算。

top

ExpiresDefault 指令

說明計算逾期時間的預設演算法
語法ExpiresDefault <code>seconds
內容伺服器設定、虛擬主機、目錄、.htaccess
覆寫索引
狀態擴充功能
模組mod_expires

此指令設定受影響領域中所有文件的逾期時間計算預設演算法。它可以逐一類型由 ExpiresByType 指令覆寫。有關引數語法的詳細資訊,請參閱該指令的說明,以及 替代語法 說明。

可用語言:  en  |  fr  |  ja  |  ko 

top

留言

請注意
這裡不是問答區。放在此處的意見應針對改善文件或伺服器的建議,若這些意見已實作或被視為無效/離題,則我們的管理員可能會將其刪除。有關如何管理 Apache HTTP Server 的問題應直接傳送至我們的 IRC 頻道 (#httpd) 於 Libera.chat,或傳送至我們的 郵件列表