配置 Edge Side Include 快取
Web 伺服器外掛程式含有內建 ESI 處理器。只要是高快取命中率,除了快取片段,ESI 處理器還可以快取整個頁面。ESI 處理器所實作的快取是一種記憶體內快取,而不是磁碟快取,因此當重新啟動 Web 伺服器時,不會儲存快取項目。
關於這項作業
Edge Side Include (ESI) 是透過 plugin-cfg.xml 檔來配置。
當 Web 伺服器外掛程式收到要求時,除非停用 ESI 處理器,否則會將要求傳送給 ESI 處理器。依預設,會停用它。如果發生快取遺失,會在要求中新增 Surrogate-Capabilities 標頭,並將要求轉遞至 WebSphere® Application Server。如果應用程式伺服器中啟用了 Servlet 快取,且回應是可快取 Edge,應用程式伺服器會傳回 Surrogate-Control 標頭,以回應 WebSphere Application Server 外掛程式。
Surrogate-Control 回應標頭的值含有規則清單,供 ESI 處理器在產生快取 ID 時使用。之後會將回應儲存在 ESI 快取中,並以快取 ID 作為索引鍵。對於回應內文中的每一個 ESI include 標籤,會處理新的要求,如此一來,每一個巢狀 include 就能命中快取,或是產生另一項要求以轉遞給應用程式伺服器。當處理完所有巢狀 include 時,會組合頁面,並傳回給用戶端。
ESI 處理器可透過
WebSphere Web 伺服器外掛程式配置檔 plugin-cfg.xml 來配置。下列範例是這個檔案的開頭,說明 ESI 配置選項。
<?xml version-"1.0"?>
<Config>
<Property Name="esiEnable" Value="false"/>
<Property Name="esiMaxCacheSize" Value="1024"/>
<Property Name="esiInvalidationMonitor" Value="false"/>