交付内容项、数字资产和站点应充分利用访问者的浏览器高速缓存,从而提高浏览器中内容交付和呈现的性能。
站点、主题、内容项和数字资产将在访问者的浏览器高速缓存中缓存一段时间。更新站点、主题、内容项或数字资产后,URL 中的 cache-buster 键将更改,从而浏览器必须提取不同的 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,例如下表中的 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 内容。