浏览器缓存

HTTP缓存类型css

    200 from cache:直接从本地缓存获取响应,可细分为from disk cache, from memory cacheapi

    304 Not Modified:协商缓存,本地未命中发送校验数据到服务端,若是服务端数据没有改变,则读取本地缓存响应浏览器

    200 OK:不读取缓存,服务器返回完整响应缓存

本地缓存相关Header(Response)服务器

    Pragma(1.0):设置为no-cache时会禁用本地缓存接口

    Expires(1.0):值为格林威治时间,在这个时间前缓存有效无需发送请求图片

    Cache-Control:缓存过时时间间隔ast

        no-store:禁止缓存响应配置

        no-cache:先发起请求和服务器协商,经过才能缓存响应cache-control

        max-age=delta-seconds:告知浏览器该响应本地缓存有效的最长期限,以秒为单位

    优先级:Pragma > Cache-Control > Expires

协商缓存相关Header(Response)

    Last-Modified:最后修改时间, If-Modified-Since(Request),发送到服务器的验证时间

    ETag:文件的指纹标识符,随着文件内容改变而改变,If-None-Match(Request),发送到服务器的验证标识符

适合缓存的内容

    直接缓存:js,css,图片,媒体文件

    协商缓存:HTML,常常改变的js,css,图片,媒体文件

不适合缓存

    用户隐私数据

    常常改变的api接口数据

拒绝缓存:使用签名,如.js?签名

Nginx

    add_header

    本地缓存配置

        expire:通知浏览器过时时长, expire time;

            负值:cache-control:no-cache

            正值:cache-control:max-age=指定时间

            max:cache-control:max-age=10年后

    协商缓存配置

        Etag on|off,默认是on

相关文章
相关标签/搜索
本站公众号
   欢迎关注本站公众号,获取更多信息