天天看點

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 ####配置緩存政策檔案