內容項目、數位資產與網站的傳遞應充分利用訪客的瀏覽器快取,以提升瀏覽器之內容傳遞與呈現的效能。
網站、主題、內容項目和數位資產都會快取到訪客的瀏覽器快取中一段時間。網站、主題、內容項目或數位資產更新之後,會變更 URL 中的快取索引鍵,讓瀏覽器必須擷取不同的 URL 來取得新的項目。
快取索引鍵可透過只參照目前的資源,協助管理瀏覽器快取的使用。雖然快取索引鍵包含在 URL 中,但通常的情況下,它是一個邏輯元素,而非實體位置 (資料夾)。快取索引鍵變更並不會指向其他實體位置來尋找資源;它只是通知伺服器擷取資源的目前版本。
資源可以是靜態 (如 CSS、JS 和影像檔),也可以是動態 (如頁面資料、網站資料和內容項目資料)。可供建置網站的資源有以下五種類別:
產品資源 – 屬於產品之一部分的資源,每當新版本的產品發行或修正時,資源也會隨之更新。
網站資源 – 屬於網站之一部分的資源,例如 structure.json
、頁面資料以及影像。網站發布時,這些資源也會隨之更新。下文提供控制器描述。
主題資源 – 屬於主題之一部分的資源,例如版面配置、CSS 以及影像。主題發布時,這些資源也會隨之更新。
元件資源 – 屬於自訂元件之一部分的資源。這些包括 HTML、JS 和 CSS,以及構成元件的影像檔。元件發布時,這些資源也會隨之更新。如果一個元件變更並重新發布,所有元件的快取索引鍵也會跟著變更,因為此索引鍵是全部元件的單一索引鍵。
CaaS 資源 – 提供給內容項目和數位項目的資源。當內容項目發布或重新發布時,或是集合目標變更時,這些資源也會隨之更新。
下列主題描述 Oracle Content Management 程式實際執行和「網站產生器」的快取功能:
就程式實際執行而言,Oracle Content Management 的 Cache-Control 標頭設為 15 天。此外對於所有資源,會在 URL 加上一個快取索引鍵。
只要 URL 沒變,瀏覽器就會從其本機快取提供資源服務 (若有的話)。如果資源更新,URL 中的快取索引鍵也會一併更新,這會強制瀏覽器對伺服器提出新的要求並更新本機快取。
包含快取索引鍵的控制器也會被快取 1 分鐘。因此,最長會有 1 分鐘的時間不會見到任何已更新的快取索引鍵。
程式實際執行時,伺服器會傳回 controller.html
,其中含有最新的產品、網站、主題、元件及 CaaS 資源快取索引鍵。controller.html
會加上內含索引鍵的命令檔;例如:
<script type="text/javascript"> var SCSCacheKeys = { product: '123', site: '456', theme: '789', component: '012', caas: '345' }; </script>
controller.js
將使用這些索引鍵建構 URL,如下表所示。
資源類型 | 範例 |
---|---|
產品資源 |
/sitePrefix/productCacheKey/_sitesclouddelivery/... /mySite/_cache_947d/_sitesclouddelivery/ |
主題資源 |
/sitePrefix/themeCacheKey/_themesdelivery/themeName/... |
元件資源 |
/sitePrefix/compCacheKey/_compdelivery/compName/... |
網站資源 |
/sitePrefix/siteCacheKey/content/... /sitePrefix/siteCacheKey/structure.json /sitePrefix/siteCacheKey/pages/100.json |
CaaS 資源 |
RegularCaaSUrl?cacheKey=caasCacheKey |
透過在 URL 中插入快取索引鍵這種方式,Oracle Content Management 可實際變更 URL,讓瀏覽器以為更新的資源是新的資源,因而強制瀏覽器載入更新的資源。
註:
對於安全網站,系統只會快取產品、主題和元件資源,不會快取網站或 CaaS 內容。