我想设置一个 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>
但我不希望它完全关闭。
那么,我怎样才能指示浏览器缓存图像但仍检查服务器是否有更新呢?