设置缓存过期?

时间:2011-08-20 20:18:51

标签: html caching

我使用Chrome测试了我的网站并获得了以下建议:

The following resources are missing a cache expiration. Resources that do not specify an expiration may not be cached by browsers:
style.css
jquery.marquee.js
jquery.marquee.css
logo.png

如何为这些文件设置缓存过期?

3 个答案:

答案 0 :(得分:17)

设置缓存过期的方法之一是使用.htaccess文件。

以下代码将为其各自的文件类型设置到期日期,例如对于CSS文件到期将是14天。

<IfModule mod_expires.c>
   ExpiresActive on
   ExpiresDefault "access plus 1 month"
   ExpiresByType application/javascript "access plus 1 year"
   ExpiresByType image/x-ico "access plus 1 year"
   ExpiresByType image/jpg "access plus 14 days"
   ExpiresByType image/jpeg "access plus 14 days"
   ExpiresByType image/gif "access plus 14 days"
   ExpiresByType image/png "access plus 14 days"
   ExpiresByType text/css "access plus 14 days"
</IfModule>

答案 1 :(得分:16)

关注Yahoo! Best Practices for Speeding Up Your Web Site, 你应该Add an Expires or a Cache-Control HeaderConfigure ETags

您实际配置服务器的方式取决于您在问题中提供的信息要多得多。

答案 2 :(得分:1)

如果这个问题与缓存javascript或css是tomcat应用程序目录的一部分有关;您可能希望检查/conf/web.xml文件。

这里可用的mime映射通常是
    &LT; MIME映射&GT;
        &LT;延伸&GT; JS&LT; /延伸&GT;
        &LT; mime类型&GT;应用/ JavaScript的&LT; / MIME类型&GT;
    &LT; / MIME&映射GT;

在apache中,默认指令为
ExpiresByType text / javascript“access plus&lt;指定你的时间范围&gt;”

您可能希望将apache指令更改为application / javascript或将tomcat mime映射更改为text / javascript,这会将到期时间设置为您的时间范围。