一、Internet 信息服務(wù) (IIS)的內(nèi)容過期設(shè)置
如果IIS 網(wǎng)站中有時間敏感信息,可以配置設(shè)置來保證過期信息不被代理服務(wù)器或 Web 瀏覽器緩存。可以配置網(wǎng)站內(nèi)容,使之在任
何的時間自動過期。當(dāng)啟用內(nèi)容過期時,Web 瀏覽器將比較當(dāng)前日期和截止日期,以便決定是顯示緩存頁還是從服務(wù)器請求更新的頁
。Microsoft ASP.NET 這樣的服務(wù)器端技術(shù)可用于動態(tài)更改提供的內(nèi)容。通常,時間敏感信息只限于單個文件、目錄或網(wǎng)站;不過,您也可以為某臺計(jì)算機(jī)上的所有網(wǎng)站設(shè)置內(nèi)容過期。
必須是本地計(jì)算機(jī)上 Administrators 組的成員或者必須被委派了相應(yīng)的權(quán)限,才能執(zhí)行下列步驟。作為安全性的最佳操作,請使用不屬于 Administrators 組的帳戶登錄計(jì)算機(jī),然后使用運(yùn)行方式命令以管理員身份運(yùn)行 IIS管理器
在命令提示符下,鍵入 runas /user:administrative_accountname "mmc %systemroot%system32inetsrviis.msc"。
設(shè)置網(wǎng)站內(nèi)容的過期時間
1. 在 IIS 管理器中,展開本地計(jì)算機(jī);右鍵單擊要設(shè)置內(nèi)容過期的網(wǎng)站、虛擬目錄或文件,然后單擊“屬性”。
2. 單擊“HTTP 頭”選項(xiàng)卡。
3. 選中“啟用內(nèi)容過期”復(fù)選框。
4. 單擊“立即過期”、“此時間段后過期”或“過期時間”,然后在對應(yīng)的框中輸入所需的過期信息。
5. 單擊“確定”。
二、APACHE服務(wù)的內(nèi)容過期設(shè)置
Apache配置摘錄及解釋
i. 過期相關(guān)設(shè)置
LoadModule headers_module modules/mod_headers.so
#Load 修改header的模塊。
LoadModule expires_module modules/mod_expires.so
#Load 設(shè)定過期header的模塊。
Header append Via: CCN-BJ-4-502
#增加一個Via header,值配置成設(shè)備的hostname。
KeepAliveTimeout 60
#設(shè)置連接的保持時間為60秒。
ExpiresActive On
#啟用過期header功能。
ExpiresDefault A604800
#缺省過期時間為“訪問后的604800秒”
<Directory /data/download>
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
ExpiresByType text/html A300
#text/html類型文件的過期設(shè)置為“訪問后的300秒”
ExpiresByType text/css A259200
#text/css類型文件的過期設(shè)置為“訪問后的259200秒”
ExpiresByType application/x-javascript A300
# application/x-javascript類型文件的過期設(shè)置為“訪問后的300秒”
ExpiresByType image/gif A2592000
#image/gif類型文件的過期設(shè)置為“訪問后的2592000秒”
ExpiresByType application/x-shockwave-flash A2592000
# application/x-shockwave-flash類型文件的過期設(shè)置為“訪問后的2592000秒”
</Directory>
上述配置文件中l(wèi)oad的兩個模塊:mod_headers.so 和mod_expires.so 可以讓Apache具有對header的一些定制功能。
ExpiresByType: 表示按照文件類型-MIME-TYPE設(shè)定過期策略;
A300: 表示在Access后300秒后過期;
ExpiresByType text/css A2592000: 表示Mime type是text/css的文件,在Access后2592000秒過期。
ExpiresDefault A604800: 表示除了單獨(dú)制定的文件類型等過期策略外的其他內(nèi)容,按照這個缺省的策略設(shè)定:訪問后604800秒過期。
上面的方法可以實(shí)現(xiàn)根據(jù)web發(fā)布的不同文件類型,針對不同的發(fā)布目錄進(jìn)行過期策略設(shè)置。在按照如上方法設(shè)置后,Apache會自動的產(chǎn)生兩個相關(guān)的http header,舉例如下:
HTTP/1.1 200 OK
Date: Tue, 27 Mar 2007 17:44:21 GMT
Server: Apache/2.0.54 (Unix)
Last-Modified: Thu, 25 Jan 2007 07:45:45 GMT
ETag: “72df3a-93-99499c40”
Accept-Ranges: bytes
Content-Length: 147
Cache-Control: max-age=2592000
Expires: Thu, 26 Apr 2007 17:44:21 GMT
Via: CCN-BJ-4-575
Keep-Alive: timeout=60, max=100
Connection: Keep-Alive
Content-Type: image/gif
Length: 147 [image/gif]
其中:Date + Max-age = Expires. Max-age是個時間長度,對應(yīng)web server上面設(shè)置的過期時間;Expires是根據(jù)max-age算出來的過期時間點(diǎn),兩者是一致的,不同cache在判斷內(nèi)容是否過期時會嚴(yán)格比較 系統(tǒng)時間和上述過期時間,或者比較age(在cache中存住的時間長度)和max-age的值。
三、lighttpd
lighttpd默認(rèn)是沒有開啟expire模塊的,需要我們在使用是手工開啟這個模塊支持。把mod_expire前面的“#”號去掉。
# vi /usr/local/lighttpd/etc/lighttpd.conf
"mod_expire",
設(shè)定過期時間
* 設(shè)定指定url的過期時間:
expire.url = (
"/images/" => "access 3 hours",
"/admin/" => "access 3 hours",
"/area/" => "access 3 hours",
"/calendar/" => "access 3 hours",
"/common/" => "access 3 hours",
"/front/" => "access 3 hours",
"/inc/" => "access 3 hours",
"/jeditor/" => "access 3 hours",
"/js/" => "access 3 hours",
"/script/" => "access 3 hours",
"/theme/" => "access 3 hours",
"/upload/" => "access 3 hours",
"/view/" => "access 3 hours",
"/help/" => "access 3 hours",
"/htm/" => "access 5 minutes"
)
設(shè)置Etag
在配置文件中增加,etag.use-inode="disable"(i節(jié)點(diǎn)不參與etag的運(yùn)算),保證多臺服務(wù)器生成的Etag值一致。
新聞熱點(diǎn)
疑難解答
圖片精選