天天看点

web缓存与varnish

一、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.条件式请求首部;

  1. 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 ####配置缓存策略文件