html中设置静态和动态页面缓存方法
控制页面缓冲
meta标签可以设置网页到期的时间,也就是说,当你在Internet Explorer 浏览器中设置浏览网页时首先查看本地缓冲里的页面,那么当浏览某一网页,而本地缓冲又有时,那么浏览器会自动浏览缓冲区里的页面,直到meta中设置的时间到期,这时候,浏览器才会去取得新页面。
设置html页面缓存方法:
静态的html页面想要设置使用缓存:
通过HTTP的META设置expires和cache-control
<meta http-equiv="Cache-Control" content="max-age=7200" /> <meta http-equiv="Expires" content="Mon, 20 Jul 2013 23:00:00 GMT" />
上述设置仅为举例,实际使用其一即可。这样写的话仅对该网页有效,对网页中的图片或其他请求无效,并不会做任何cache。 参数说明: max-age 指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应。 Expires 表示存在时间,允许客户端在这个时间之前不去检查(发请求),等同max-age的 效果。但是如果同时存在,则被Cache-Control的max-age覆盖。 Expires: Thu, 01 Dec 1994 16:00:00 GMT (必须是GMT格式)
动态页面设置缓冲方法:
要在后台代码段
Response.AddHeader("cache-control","max-age=时间(单位:秒)")或Response.Expires=时间(单位:分)来启用缓存。如果用Response.AddHeader("expires","utc时刻")来设置Expires的话,cache-control的优先级比expires高,
就是说如果设置了cache-control,那么expires设置的值就被覆盖掉。如果是用Response.Expires设置的话就不受这个约束。
对网页中的图片或其他请求服务器端缓冲设置
apache静态文件缓存时间设置
如果要对文件添加cache可以通过apache的mod_expire模块,写法为
<virtualhost *:80> DocumentRoot /www/jsjtt.com ServerName jsjtt.com <ifmodule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 1 days" ExpiresByType image/gif "access plus 1 days" ExpiresByType image/jpeg "access plus 1 days" </ifmodule> </virtualhost>
记得ExpiresActive设为On,我起先没设置On,似乎怎样YSlow都查不到缓存机制。这样添加的话就是默认所有的。如果要针对个别MIME类型则可以: ExpiresByType image/gif "access plus 5 hours 3 minutes" 见 Apache Module mod_expires Nginx 静态文件缓存时间设置:
server { listen 80; server_name jsjtt.com; root /www/jsjtt.com; location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 1h; } }
代表图片默认缓存30天
JS和CSS默认缓存1小时
来源://作者:/更新时间:2013-10-26
顶
踩
相关文章: