如何配置 Apache 以便客户端缓存图像但仍检查更新?

如何配置 Apache 以便客户端缓存图像但仍检查更新?

我想设置一个 Apache vhost,以便浏览器可以在本地缓存图像,但每次在显示图像之前都会检查服务器是否有更新。

我现在有这个:

<VirtualHost *:80>
    ServerName cdn.localhost
    DocumentRoot /Users/chad/development/support/cdn

    FileETag None
    <Directory /Users/chad/development/support/cdn>
        AllowOverride None
        Order Deny,Allow
    </Directory>
</VirtualHost>

并且,至少在本地,文件会无限期地缓存在浏览器中,直到我手动清除浏览器的缓存。我不喜欢这样。当我更新新图像以替换旧图像时,浏览器看不到此更新。

我知道我可以像这样关闭缓存

FileETag None
<Directory /Users/chad/development/support/cdn>
    AllowOverride None
    Order Deny,Allow

    Header set Access-Control-Allow-Origin "*"
    Header set Access-Control-Allow-Headers "Content-Type"

    Header unset ETag
    Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate, proxy-revalidate, no-transform"
    Header set Pragma "no-cache"
    Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</Directory>

但我不希望它完全关闭。

那么,我怎样才能指示浏览器缓存图像但仍检查服务器是否有更新呢?

相关内容