我们有一个流量相当大的静态站点(即没有服务器代码),包含大量图像、脚本、css,由 IIS 7.0 托管
我们想打开一些缓存以减少服务器负载,并考虑将 Web 内容的到期时间设置为将来的某个时间。在 IIS 中,我们可以通过 IIS 响应标头模块中常见 http 标头的“过期 Web 内容”部分在全局级别上执行此操作。也许将内容设置为在投放后 7 天过期。
据我所知,这实际上所做的只是设置max-age
HTTP 响应标头,我想这是有道理的。
现在,混乱:
首先,我检查过的所有浏览器(IE9、Chrome、FF4)似乎都忽略了这一点,并且仍然向服务器发出有条件的请求以查看内容是否已更改。所以,我不完全确定 max-age 响应标头实际上会产生什么影响?!会不会是旧版浏览器?还是网络缓存?
我们可能想在短时间内更改站点中的图像......我猜如果 max-age实际上被某些东西使用,就其本质而言,它不会检查这是否图像已经改变了 7 天......所以这也不是我们想要的
我想知道是否最佳做法是将一个站点划分为内容文件夹真的不会经常更改并且只会为这些文件夹开启一些长期到期?如果需要,也许可以改变查询字符串以强制刷新这些文件夹中的内容(例如 /assets/images/background.png?version=2)?
无论如何,在浏览了(相当枯燥的!)HTTP 规范和一些教程之后,我仍然对我们的情况没有真正的感觉。
任何与我们类似的情况的实际经验将不胜感激!