本文记录squid一些和http协议相关的内容
TAG:refresh_pattern [-i] 正则式 min percent% max [options]
-i 忽略正则式的大小写
官方对于缓存有这样一段描述,这是什么语言,伪代码?
FRESH if expires < now, else STALE
STALE if age > max
FRESH if lm-factor < percent, else STALE
FRESH if age < min
else STALE
我解释如下:
如果一个对象有expires值,当前未到expires值,直接响应请求,否则向后端服务器请求
如果age(current_time - date) > max 表示过期了,向后端服务器请求
如果lm-factor < percent,直接响应请求,否则向后端服务器请求
如果age(current_time - date) < min 表示过期了,直接响应请求
其他所有情况,向后端服务器请求
我们要注意的是,如果缓存文件有expires值,不会进行refresh_pattern中的判断,规则仅仅应用到没有明确过期时间的缓存文件
LM-factor=Current_time-Date/Date-Last-Modified=age/Date-Last-Modified
我们可以使用LM-factor=Expires-Date/Date-Last-Modified公式来计算过期时间Expires的阙值,其中LM-factor的值就用percent来指定。如图示,当设置percent为50%,访问时间和最后修改时间间隔3小时的话,该文件只能缓存1.5小时;好性感啊,如果一个文件频繁更新,那相对来说更容易过期,如果一个文件很少更新,那相对来说缓存的时间更长,当然,这不绝对安全哦
[options]
reload-into-ims
将client请求的no-cache或reload请求转变成If-Modified-Since,将和后端的web服务器协商,减轻后端压力
ignore-reload
忽略客户端的no-cache
ignore-no-cache
忽略服务器端的no-cache
override-expire
检查Expires头部之前,先检查min值
override-lastmod
检查LM-factor百分比之前,先检查min值
http://blog.kangkang.org/index.php/archives/57 Squid 高级优化指南
http://blog.kangkang.org/index.php/archives/58
http://blog.kangkang.org/index.php/archives/59
http://blog.wuxinan.net/archives/59 Squid 优化补遗
http://windtear.net/archives/2005/07/01/000705.html suqid之王?
http://blog.zhanxb.com/post/291/ Squid缓存命中率调整惨痛教训
http://deidara.blog.51cto.com/400447/385074 squid缓存动态连接
http://blog.chinaunix.net/space.php?uid=20749730&do=blog&id=717053 refresh_pattern
http://www.sungyism.com/blog/post/47/ refresh_pattern
http://blog.developers.api.sina.com.cn/?p=54 squid 日志分析
http://www.juyouren.com/ 何许人也?