Apache的過期策略可以通過apache的mod_expires和mod_headers兩個(gè)模塊設(shè)置:
1)模塊mod_expires設(shè)置:
允許通過配置文件控制HTTP的"Expires"和"Cache-Control"頭內(nèi)容
mod_expires 模塊的主要作用是自動(dòng)生成頁面頭部信息中的 Expires 標(biāo)簽和 Cache-Control 標(biāo)簽,從而降低客戶端的訪問頻率和次數(shù),達(dá)到減少不必要流量和增加訪問速度的目的
mod_expires 是 apache 眾多模塊中配置比較簡單的一個(gè),它一共只有三條指令
ExpiresActive 指令:打開或關(guān)閉產(chǎn)生”Expires:”和”Cache-Control:”頭的功能。
ExpiresByType 指令:指定MIME類型的文檔(例如:text/html)的過期時(shí)間。
ExpiresDefault 指令:默認(rèn)所有文檔的過期時(shí)間。
過期時(shí)間的寫法
“access plus 1 month”
“access plus 4 weeks”
“now plus 30 days”
“modification plus 5 hours 3 minutes”
A2592000
M604800
access、now及A 三種寫法的意義相同,指過期時(shí)間從訪問時(shí)開始計(jì)算。
modification?M 的意義相同,指過期時(shí)間是以被訪問文件的最后修改時(shí)間開始計(jì)算。
所以,后一種寫法只對(duì)靜態(tài)文件起作用,而由腳本生成的動(dòng)態(tài)頁面不受它的作用
配置實(shí)例:
ExpiresActive On(開啟mod_expires功能)
ExpiresDefault "access plus 6 months"(默認(rèn)的過期時(shí)間是6個(gè)月)
ExpiresByType image/* "access plus 10 years"(圖片的文件類型緩存時(shí)間為10年)
ExpiresByType text/* "access plus 10 years"(文本類型緩存時(shí)間為10年)
ExpiresByType application/* "access plus 30 minutes"(application文件類型緩存30分鐘)
驗(yàn)證:image/jpeg 緩存時(shí)間為315360000s(10年)

如果將image/jpeg設(shè)置為不緩存(將max-age設(shè)置為0s):
#ExpiresByType image/* "access plus 10 years"
ExpiresByType image/* A0

2)模塊mod_headers設(shè)置:
# YEAR
Header set Cache-Control “max-age=2592000″
# WEEK
Header set Cache-Control “max-age=604800″
# NEVER CACHE
Header set Expires “Thu, 01 Dec 2003 16:00:00 GMT”
Header set Cache-Control “no-store, no-cache, must-revalidate”
Header set Pragma “no-cache”