合理设置 HTTP缓存
缓存的力量是强大的,恰当的缓存设置可以大大的减少 HTTP请求。
- 很少变化的图片资源可以直接通过 HTTP Header中的Expires设置一个很长的过期头 ;
- 变化不频繁而又可能会变的资源可以使用 Last-Modifed来做请求验证。
(1)Apache 服务器配置 Expires headers-----.htaccess 文件(根目录下的隐藏文件)
<IfModule mod_expires.c>
#开启 Expires headers
ExpiresActive On
#默认的过期时间
ExpiresDefault "access plus 1 month"
Cache-Control max-age=2592000
#针对 ICON 文件的配置
ExpiresByType image/x-icon "access plus 1 year"
#针对图片的配置
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
#针对 CSS 文件的配置
ExpiresByType text/css "access 1 month"
#针对 JavaScript 文件的配置
ExpiresByType application/javascript "access plus 1 year"
</IfModule>
(2)Ngnix 服务器配置 Expires headers-----nginx.conf配置文件
server {
# cache static files
location ~* \.(gif|jpe?g|png|ico|swf)$ {
# d - 天
# h - 小时
# m - 分钟
expires 168h;
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
# 由于js和css文件需要改动,设置的时间为5分钟
location ~* \.(css|js)$ {
expires 5m;
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
}