在 http 报文头中,与缓存时间有关的两个字段是 Expires 以及 Cache-Control 中的 max-age,Expires 设定了一个缓存的过期时间,而 max-age 则设定了一个缓存有效时间(单位秒),通常情况下,两者可以相互推得。(详细参考 浏览器缓存机制浅析)
还是用 WampServer 举例。我们在 www 文件夹下新建个 index.html 页面,在浏览器中打开它,得到的 http 响应头如下:
很显然,我们并没有看到 Expires 或者 max-age 字样。
比如我要把 max-age 设置成 1000,how?
打开 httpd.conf 文件(比如我的是在 F:\wamp\bin\apache\Apache2.2.17\conf 下),找到这一行:
去掉注释(井号),然后再加上这么两行,再重启下apache,就 ok 了:
我们看到 max-age 字段也出现在了响应头中,其实它是根据 Expires 的设置自动填充的。
其他设置类似:
我们也可以直接修改 max-age 字段。
同样在 httpd.conf 文件中,找到这么一行:
去掉注释(井号),再加上这么一句,重启下 apache,就 ok 了:
我们发现得到的响应头里并没有 Expires 字段。
为了减少客户端对服务端资源的请求 可以开启mod_expires so模块
在apache%C %E %D %C /" target="_blank">apache配置文件中去掉这段
“#LoadModule expires_module modules/mod_expires so
”前面的#号
Httpd conf配置
代码如下
ExpiresActive on
#缓存 天
ExpiresBytype text/css "access plus days
ExpiresByType application/x javascript "access plus days "
ExpiresByType image/jpeg "access plus days "
Expire *** ytype image/gif "access plus days "
加入下面内容
代码如下 <IfModule mod_expires c># mod_expires ExpiresActive on ExpiresDefault A ExpiresBytype text/css “access plus days ExpiresByType text/javascript “access plus days ” ExpiresByType application/x javascript “access plus days ” ExpiresByType application/x shockwave flash “access plus days ” ExpiresByType image/* “access plus days ” ExpiresByType text/ “access plus days ” <FilesMatch “ (flv|ico|pdf|avi|mov|ppt|doc|mp |wmv|wav|jpg|gif)$”>ExpiresDefault A </FilesMatch></IfModule>lishixinzhi/Article/program/PHP/201311/20858
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)