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