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
相关文章
评论:
验证码:
匿名评论: