Nginx做为静态web服务器——缓存原理

浏览器缓存

客户端无缓存的状况下html

客户端有缓存的状况下nginx

校验过时机制浏览器

本地客户端会检查Cache-Control(max-age)缓存是否过时,(max-age)为过时时间缓存

Last-Modified服务器

上次修改时间
 配合If-Modified-Since或者If-Unmodified-Since使用
 对比上次修改时间验证资源是否须要更新

ETagapp

数据签名
典型作法:对资源内容进行hash计算
配合If-Match或者Id-Non-Match使用
对比资源的签名判断是否使用缓存

请求原理url

配置语法-expiresspa

添加Cache-Control、Expires头.net

Syntax:expires [modified] time;3d

              expires epoch |max|off;

Default:expires off;

Context:http,server,location,if in location

 

Cache-Control:max-age=0表示每次请求都跟服务器校验Last-Modified

配置语法-expires演示

将配置语法加进去

location ~ .*\.(htm|html) {
        expires 24h;            # 24小时查看一次是否更新
        root   /opt/app/code;
    }

检查语法后,重启nginx,访问地址http://192.168.96.188/test_expires.html

这时候头部信息Cache-Control:max-age=86400表示86400秒跟服务器校验Last-Modified

相关文章
相关标签/搜索