首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CQ5调度程序和缓存控制报头

CQ5调度程序和缓存控制报头
EN

Stack Overflow用户
提问于 2014-04-12 13:25:32
回答 1查看 1.8K关注 0票数 1

在负载平衡器后面有多个调度程序的缓存响应头的正确设置是什么?

我想用dispatcher发送ETag或Last,但是dispatcher实例之间没有同步,所以同一页面的修改日期在dispatcher的缓存中会有所不同。

什么是正确的解决办法?

也许"FileETag大小“会在所有dispatcher实例上导致相同的ETag,但我希望有一个更好的解决方案。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-13 02:43:56

如果您查看geometrixx示例应用程序上的图像,您将看到CQ5在组件实例路径的末尾以后缀的形式写入了这个时代。即/content/geometrixx/mypage/_jcr_content/mycomponent/myimg.img.jpg/1397355982.jpg

您可以以类似的方式制作组件,因此不必依赖标头本身。

如果使用边缘缓存解决方案(如F5 ),则通常不使用修改的时代,而是图像字节数据的MD5。这样,只有当内容本身发生变化时,才会指示客户端获取新图像。

FileETag大小也不会是100%,因为您预期文件的字节数会有所不同。对于有损的web图像算法等,它确实工作得比较好,因为文件的大小会随文件的编辑而变化。

唯一要记住的是,您的边缘缓存解决方案在重新生成etags时的速度有多快。我们已经发现,F5与网络加速器在这方面做得很好。这种技术允许您永远缓存,大大减少服务器上的负载,特别是当您没有无限的管道和在页面的前端重复图像时,这些图像会在较长的一段时间内被击中。

还值得研究一些更聪明的解决方案,在检测到移动设备时利用HTML5客户端缓存技术,因为缓存在桌面上永远比在移动设备上工作要好得多,因为移动设备上的缓存要小得多。

希望这能帮点忙。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23030994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档