利用高速缓存提高性能

交付内容项、数字资产和站点应充分利用访问者的浏览器高速缓存,从而提高浏览器中内容交付和呈现的性能。

站点、主题、内容项和数字资产将在访问者的浏览器高速缓存中缓存一段时间。更新站点、主题、内容项或数字资产后,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 内容。

站点构建器高速缓存

在站点构建器中,静态资源将缓存 15 天。

使用站点构建器时,将对产品、主题和组件资源进行缓存。(不对站点和 CaaS 资源进行缓存。)启动或刷新站点构建器时,将重新生成主题和组件高速缓存键。

如果对主题或组件进行更改并希望该更改显示在站点构建器中,则需要刷新站点构建器 (F5)。