【问题标题】:Caching of CSS and JS resources in XPages when "use runtime optimized javascript and css resources"“使用运行时优化的 javascript 和 css 资源”时在 XPage 中缓存 CSS 和 JS 资源
【发布时间】:2014-01-21 16:08:09
【问题描述】:

在 XPages 中“使用运行时优化的 javascript 和 css 资源”是一个非常酷的功能,因为它将所有 js 文件合并到一个文件中,并将所有 css 文件合并到一个 css 文件中。

但是我注意到加入的文件没有被缓存(它们总是返回状态 200),当您不使用“使用运行时优化的 javascript 和 css 资源”时它们会缓存(并返回状态 304)。

减少 http 请求是好的,但是当它们可以通过 ETag 或 Last-Modified http 标头缓存时,总是从服务器检索 js 和 css 文件是不好的。当您使用“使用运行时优化的 javascript 和 css 资源”功能(应用程序属性 > XPages 选项卡 > 性能部分 > 使用运行时优化的 javascript 和 css 资源)时,任何人都知道我是否遗漏了什么或者是否有办法缓存连接的文件.

【问题讨论】:

  • 我刚刚在 9.0.1 服务器上检查了这个,看起来你的陈述并不完全正确:缩小的(CSS 和 JavaScript)资源 被缓存:默认情况下服务器添加了一个Expires 标头,该标头是未来 10 天。这将导致浏览器(在该时间段内)根本不执行对这些资源的请求并立即从缓存中提供它们。
  • 同意。资源被缓存

标签: caching optimization http-headers xpages lotus-domino


【解决方案1】:

运行时优化的资源缓存。

这是一个例子:

如果您正在使用 Chrome 开发人员工具查看网络活动和响应代码,请确保已将其设置为“禁用缓存(在 DevTools 打开时)”:

【讨论】:

【解决方案2】:

在 URL 栏中按 Enter 将尊重 Expires 标头并从缓存中获取文件。但是,如果您单击重新加载或按 F5,则文件将被重新加载。这是至少在 ChromeFirefox 中的行为。

在页面之间导航时缓存可以正常工作。

【讨论】:

  • 感谢您的回答。你明白了,我是按 f5 而不是输入,当我之前检查“使用运行时优化的 javascript 和 css 资源”时,行为就是你所说的。让我感到困惑的是:当我取消选中“使用运行时优化的 javascript 和 css 资源”并点击 f5 时,文件(js 和 css)被缓存并返回 304 状态。最后我了解了 beetwen (200 bfcache) 和 304 的区别,那就是 http 标头 expiresIf-Modified-Since 。请参阅我对@Per 的回答的评论。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-25
  • 2015-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多