当我的编辑被回滚时,补充了埃尔默的答案。
要使用公共缓存控制标头将静态内容缓存365天,可以使用以下命令配置IIS:
<staticContent>
<clientCache cacheControlCustom="public" cacheControlMode="UseMaxAge" cacheControlMaxAge="365.00:00:00" />
</staticContent>
这将转换为这样的标题:
Cache-Control: public,max-age=31536000
请注意,max-age是以秒为单位的增量,由RFC 2616第14.9.3节和14.9.4节中所述的正32位整数表示。这表示最大值为2 ^ 31或2,147,483,648秒(超过68年)。但是,为了更好地确保客户端和服务器之间的兼容性,我们建议最长为365天(一年)。
如其他答案所述,您还可以在网站的web.config上对所有静态内容使用这些指令。或者,您也可以仅将其用于特定位置的内容(在示例中,“ cdn”文件夹中内容的30天公共缓存):
<location path="cdn">
<system.webServer>
<staticContent>
<clientCache cacheControlCustom="public" cacheControlMode="UseMaxAge" cacheControlMaxAge="30.00:00:00"/>
</staticContent>
</system.webServer>
</location>