媒体响应缓存选项

Media Response Cacheability Options

上下文:Sitecore (7.1) 网站服务于 25 个区域,媒体由 CDN 提供(1 个来自全球,1 个仅针对中国地区) 两周前退出中国语言环境时,[website.com.cn - 某种相似的域] 重定向到 [website.com/cn - sitecore] 所以现在 website.com.cn = website.com/cn.

监控工具已发出平均响应时间过长的问题,我可能会增加较长的响应时间。托管工程师发现的问题是 CDN 响应 headers 不正确的指令“cache-control: private”。这指示 CDN 服务为所有 Web 请求从原始 CD 服务器加载内容。

我不打算详细说明,IIS 日志中没有异常,CD 服务器上的处理器或内存一直处于标准参数中。

花更多时间研究如何为浏览器客户端或 CDN 设置可缓存的响应 headers,媒体响应可缓存性的最佳设置是 "cache-control: public" 以修复新语言环境奇怪的长响应并以正确的方式设置选项。

轻松更改网络配置:

<setting name="MediaResponse.Cacheability" value="public" />

<setting name="MediaResponse.CacheExtensions" value="" />

<setting name="MediaResponse.MaxAge" value="7.00:00:00" />

<setting name="MediaResponse.SlidingExpiration" value="" />

发现的问题:

如果MediaResponse.Cacheability值为true,no-cache 指令默认获得值 Set-Cookie.

问题 1:这会破坏网站安全吗?如果 User1 通过某个页面访问图像,登录网站,cookie 实现。 User2 访问相同的图像并且 Cache-Control:public, no-cache="Set-Cookie" 是否可以接收 User1 修改的 cookie?或者我读了很多字?

https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching#cache-control

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.

问题 2:如何设置正确的 Sitecore 媒体响应 headers 以通过 CDN 获得最佳性能?

就此问题询问 CDN 工程师,我没有得到直接的答复,但他们确保我不会出错。我的假设是正确的,如果 cache="Set-Cookie" 响应 header,cookie 存储在中间代理 (CDN) 上。

在媒体项目上设置 cookie(虚拟 cookie,更不用说登录、跟踪...)纯粹是失常,所以...