Sun Java System Web Proxy Server 4.0.4 管理指南

快取 HTTP 文件

HTTP 文件能提供其他協定的文件無法提供的快取功能。然而,透過正確地設定並配置快取,可確保 Proxy Server 能有效快取 HTTP、FTP 與 Gopher 文件。


備註 –

Proxy Server 4 不支援快取 HTTPS 文件。


所有 HTTP 文件都具有描述性標頭區段,Proxy Server 可使用該區段來比較並評估代理伺服器快取中的文件與遠端伺服器上的文件。當代理伺服器針對 HTTP 文件執行最新狀態檢查時,代理伺服器會傳送一個請求給伺服器,告知伺服器若發現快取中的版本過期則傳回文件。通常,文件在上次請求後並無變更,因此不會進行傳輸。此種透過檢查 HTTP 文件是否為最新的方式可節省頻寬並減少延時。

為降低與遠端伺服器之間的作業事件,Proxy Server 可讓您針對 HTTP 文件設定 [Cache Expiration] 設定。[Cache Expiration] 設定提供資訊給代理伺服器,以判斷傳送請求給伺服器之前,是否需要為 HTTP 文件執行最新狀態檢查。代理伺服器會根據在 HTTP 文件標頭中找到的 Last-Modified 日期來進行估計。

對於 HTTP 文件,您也可以使用 [Cache Refresh] 設定。此選項指定代理伺服器是否一直進行最新狀態檢查 (這會置換過期設定),或代理伺服器是否等待特定時間間隔後再進行檢查。下表顯示同時指定過期設定與重新整理設定時,代理伺服器的動作。使用重新整理設定可顯著降低延時並節省頻寬。

表 12–1 對 HTTP 使用 [Cache Expiration] 與 [Cache Refresh] 設定

重新整理設定 

過期設定 

結果 

一直執行最新狀態檢查 

(不適用) 

一直執行最新狀態檢查 

使用者指定的間隔 

使用文件的「Expires」標頭 

間隔過期時進行最新狀態檢查 

 

使用文件的 Last-Modified 標頭來估計 

估計值與 Expires 標頭值兩者中較小者* 


備註 –

* 對於經常變更的文件,使用較小的值可避免從快取取得過期的資料。


設定 HTTP 快取重新整理間隔

如果確定要讓 Proxy Server 快取 HTTP 文件,則必須確定是讓 Proxy Server 一直對快取內的文件進行最新狀態檢查,還是讓它根據 [Cache Refresh] 設定 (最新狀態檢查間隔) 來進行檢查。例如,對 HTTP 文件合理的重新整理間隔是四到八小時。重新整理間隔越久,代理伺服器連線到遠端伺服器的次數就越少。即使代理伺服器未在重新整理間隔時間內執行最新狀態檢查,使用者也可以按一下用戶端中的 [Reload] 按鈕強制重新整理。此動作可讓代理伺服器對遠端伺服器執行強制最新狀態檢查。

您可以在 [Set Cache Specifics] 頁面或 [Set Caching Configuration] 頁面設定 HTTP 文件的重新整理間隔。使用 [Set Cache Specifics] 頁面可以配置全域快取程序,而使用 [Set Caching Configuration] 頁面可以控制特定 URL 與資源的快取程序。

設定 HTTP 快取過期策略

您也可以設定伺服器以使用 Last-modified 因子或只使用明確的過期資訊來檢查快取文件是否為最新。

明確的過期資訊是見於某些 HTTP 文件中的一種標頭,指定檔案的過期日期與時間。使用明確的 Expires 標頭的 HTTP 文件並不是很多,因此您應該根據 Last-modified 標頭來決定何時執行最新狀態檢查。

若決定根據 Last-modified 標頭來快取您的 HTTP 文件,必須選取要在過期估計中使用的分數。此分數稱為 LM 因子,將與文件的上次修改時間和上次對文件執行最新狀態檢查的時間之間的間隔相乘。然後將產生的數字與上次執行最新狀態檢查距今的時間加以比較。若此數字小於時間間隔,表示文件尚未過期。較小的分數會讓代理伺服器更頻繁地檢查文件。

例如,假設有一個文件的上次變更時間是十天前。若將 Last-modified 因子設定為 0.1,代理伺服器會將其解釋為該文件可能會有一天時間不會變更 (10 * 0.1 = 1)。在這種情況下,如果在不到一天前檢查過此文件,代理伺服器會從快取中傳回文件。

同樣以此為例,若 HTTP 文件的快取重新整理設定是設定為小於一天,則代理伺服器在一天中會執行一次以上的最新狀態檢查。代理伺服器會一直使用需要其更頻繁地更新檔案的值 ([Cache Refresh] 或 [Cache Expiration])。

您可以在 [Set Cache Specifics] 頁面或 [Set Caching Configuration] 頁面設定 HTTP 文件的過期設定。使用 [Set Cache Specifics] 頁面可以配置全域快取程序,而使用 [Set Caching Configuration] 頁面可以控制特定 URL 與資源的快取程序。

向遠端伺服器報告 HTTP 存取次數

Sun Java System Web Proxy Server 快取文件後到再次重新整理前,文件可被存取多次。對於遠端伺服器而言,傳送一份副本給加以快取的代理伺服器僅表示存取一次,也就是一個「符合項目」。Proxy Server 可以針對兩次最新狀態檢查期間,計算從代理伺服器快取存取指定文件的計數,然後將此符合項目的計數在下次重新整理此文件時,透過附加 HTTP 請求標頭 (Cache-Info) 傳回遠端伺服器。如此一來,若遠端伺服器是配置為識別此標頭類型,遠端伺服器就能接收到某文件存取次數的更準確記錄。