文档章节

浏览器缓存

关元
 关元
发布于 01/19 11:54
字数 463
阅读 14
收藏 0

HTTP缓存类型

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

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

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

本地缓存相关Header(Response)

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

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

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

        no-store:禁止缓存响应

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

        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

© 著作权归作者所有

共有 人打赏支持
关元
粉丝 1
博文 37
码字总数 7423
作品 0
北海
私信 提问
CDN中的浏览器缓存机制

Cache-Control Cache-Control 是最重要的规则。这个字段用于指定所有缓存机制在整个请求/响应链中必须服从的指令。这些指令指定用于阻止缓存对请求或响应造成不利干扰的行为。这些指令 通常覆...

enjoyer18
2015/01/23
0
0
Swagger-ui的使用和遇到的问题的处理

导Jar包: <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.7.0</version></dependency><dependency><groupId>io.springfox</groupId>......

DoLo-lty
2018/11/26
0
0
web开发中的几种缓存机制

我们web开发中缓存机制的种类 1.数据库缓存 我们可能听说过memcached,它就是一种数据库层面的缓存方案。数据库缓存是指,当web应用的关系比较复杂,数据库中的表很多的时候,如果频繁进行 ...

jj_cui
2016/12/22
28
0
关于浏览器缓存我知道多少

原文地址:关于浏览器缓存我知道多少 欢迎star。 如果有错误的地方欢迎指正。 在前端开发中,我们在提到性能优化的时候总会提到一点:合理设置缓存。我们该如何从这方面入手来考虑提高网站性...

axuebin
2017/11/01
0
0
彻底弄懂HTTP缓存机制及原理

前言 Http 缓存机制作为 web 性能优化的重要手段,对于从事 Web 开发的同学们来说,应该是知识体系库中的一个基础环节,同时对于有志成为前端架构师的同学来说是必备的知识技能。 但是对于很...

java一日一条
2018/05/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

SpringBoot2.x配置Cors跨域

1 跨域的理解 跨域是指:浏览器A从服务器B获取的静态资源,包括Html、Css、Js,然后在Js中通过Ajax访问C服务器的静态资源或请求。即:浏览器A从B服务器拿的资源,资源中想访问服务器C的资源。...

hengbao5
38分钟前
1
0
mybatis(7) - 分页

一般程序在处理sql分页的场景,要么选择在程序中对所有的结果集sublist,要么在写sql时指定limit。那如何利用mybatis的特性在处理分页呢? 分页插件 适用于数据量大的情况下。 在真正执行sql...

noob_fly
38分钟前
0
0
SpringBoot之使用jpa/hibernate

Springboot版本是2.1.3.RELEASE 1、依赖 List-1.1 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId></dependenc......

克虏伯
50分钟前
1
0
安卓手机如何快速投屏到windows(10/8.1/7)电脑上

前提: 手机和电脑连接的网络必须在同一局域网下。 优势: 手机和电脑不需要下载对应平台的应用,完全使用全系统自带功能。 附加: 以下演示是安卓手机和windows操作系统电脑,并且win10和win10...

皇冠小丑
今天
20
0
python政府工作报告词云

import jiebaimport wordcloudfrom scipy.misc import imreadmask = imread("chinamap.jpg")f = open("新时代中国特色社会主义.txt","r",encoding="utf-8")t = f.read()f.close()ls =......

zhangshs
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部