成长值: 252 签到天数: 4709 天 [LV.Master]伴坛终老
|
发表于 2018/1/4 06:48
|
显示全部楼层
|阅读模式
|Google Chrome 63.0.3239.108 |Windows 10
如果要强制缓存,status_code是匹配模块可以匹配状态码,如果访问过程中出现503,504等错误码也会缓存,所以我们设置这个模块,只缓存可以正常访问的200状态码页面。kangle 3.1才有的功能,3.1以前的版本就不用加这个模块
设置code=200
cache_control模块就是设置强制缓存的了,max_age是缓存时间,last_modified是会增加一个Last-Modified的头,soft就是表示不发送max-age给浏览器,即浏览器不缓存,而只是kangle缓存。否则两边都缓存。
must_revalidate代表每次访问过程,都必须重新验证该缓存文件是否更新,如果无更新,则继续缓存,有更新则刷新缓存并且替换现有缓存文件,如果用于PHP或者远程CDN反代根据你自己需要是否开启(其实感觉没什么用,不推荐开,只会增加访问延迟)。
第二种方式是修改你的程序,送一个Cache-Control的头。Cache-Control有static内容就可以。
下面是php的例子。
- <?php header("Cache-Control: static,max-age=60"); ?>
复制代码
max-age是指定缓存时间(秒).
看看是否生效,第一次访问是经过php,第二次访问就不用。
可查看access.log访问日志。每条记录的后面[]里面,如果有C表示是从缓存给出的。
测试php代码例如,创建一个1.php文件
- <?php
- header("Cache-Control: static,max-age=1800");
- $xff = getenv('HTTP_X_FORWARDED_FOR');
- echo $xff;
复制代码
|
|