我測試我的網站與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
如何設置這些文件的緩存過期?
我測試我的網站與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
如何設置這些文件的緩存過期?
繼Yahoo! Best Practices for Speeding Up Your Web Site, 您應該Add an Expires or a Cache-Control Header和Configure ETags。
實際上,如何配置服務器來完成此操作取決於您提供的信息遠多於您在問題中提供的信息。
如果此問題屬於緩存JavaScript或css,它們是您的tomcat應用程序目錄的一部分;您可能想要檢查/conf/web.xml文件。
通常可在這裏的mime映射是
< MIME映射>
<延伸> JS < /延伸>
< mime類型>應用/ JavaScript的</MIME類型>
</mime-mapping >
在apache的默認指令是
ExpiresByType文/ JavaScript的「訪問加<指定的時間內>」
你可能喜歡的Apache指令更改爲應用程序/ JavaScript或更改Tomcat MIME映射到文本/ JavaScript,這將設置過期到你的時間表。
設置緩存過期的一種方法是使用.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>
有沒有一種方法可以在需要時清除緩存?(例如更新後)? –
@ Reign.85:您無法強制瀏覽器清除緩存。您可以使用'style.css'等文件對'style.css?v1.1'進行版本控制,或者重命名文件將解決問題。 –
如果我從.htaccess中刪除了該代碼,那麼瀏覽器將獲得最新版本,而無需重命名文件(或使用版本控制)? –
你在運行什麼服務器? –