浏览器缓存控制和自适应图像

时间:2013-01-14 14:37:23

标签: php http-headers browser-cache

我正在开发一个网站,其主要内容是图片,我已将其作为<img>标签放入后台(将它们作为由媒体查询管理的CSS背景属性不是一种选择)。

我已导出每个图像的6个大小版本,从Javascript设置一个指示用户屏幕大小属性的cookie,我可以从PHP中提供与客户端相关的图像: width = 1680px 适用于大屏幕, width = 800px 适用于中等大小的屏幕等。我有一个特殊的小屏幕布局 &lt; = 560px 完全隐藏幻灯片,只打印有用的文本内容,在这种情况下,PHP输出1x1px透明图像以节省带宽。

根据该体系结构的定义,自适应图像的URL是常量,我无法通过向URL添加参数来控制浏览器缓存。 但我的问题是,在某些情况下,主要是方向的改变(假设一个宽度为800 CSS像素,高度为480 CSS像素的移动设备)从浏览器缓存中检索出“错误”的图像版本不是来自服务器。

我想要缓存图像,但对于完全相同的URL,假设http://www.mysite.com/media/image/s1/id38/images/image1-318970.jpg,我希望能够控制 - 从PHP和发送的标头 - 文件的不同缓存版本(相对于磁盘上的每个实际文件版本)。 我查看了ETag标题,但我不知道从那里去哪里以及如何生成ETag值。

有人已经解决了这个或类似问题吗?

0 个答案:

没有答案