一、web缓存的基础
1、http的缓存生命周期与缓存清理:
a.缓存项的缓存时间过期将会被清理
b.缓存空间用尽也会被清理
c.一般的私有数据都不可缓存
d.缓存处理的步骤:
接收到http请求====》解析请求(提取各种URL及请求首部)===》查询缓存====》进行缓存新鲜度检查====》构建响应报文====》发送响应===》记录日志
2、缓存控制机制:
a.通过过期日期:HTTP/1.0中的Expires首部,HTTP/1.1中的cache-control:max-age:300相对时间。
3、缓存新鲜度检测:
a.如果原始内容没发生改变,则仅仅响应首部信息(不用附带body部分);响应码304
b.如果原始内容发生了改变,则正常响应,响应码
c.如果原始内容消失,则响应码为404,缓存中的缓存项也应该被删除
4.条件式请求首部;
-
If-Modified-since:基于原始内容的最近一次修改时间
b.If-None-Match:基于Etag的比较进行
二、varnish缓存服务器
1.varnish通过可以基于文件系统接口进行访问的共享内存区域来记录日志,前半部分是计数器,后半部分为客户端的请求内容
2.varnish缓存内容的存储主要有三种方式;
a.file:自己管理的文件系统,黑盒子;重启缓存项就会消失
b.malloc基于内存的方式
c.persistent
3、安装varnish:
centos7.4直接通过yum安装即可。
配置文件:
/etc/varnish/varnish.params ###进程工作特性配置文件
/etc/varnish/default.vcl ####配置缓存策略文件