缓存

缓存

Cache Control

在响应头中会带有一个Cache-Control字段(有很多属性我只记录max-age和no-cache)

  • max-age

Cache-Control:max-age=123456max-age的单位是s如果在(当前客户端时间+max-age)之内,就不会向服务器端发送请求。max-age会覆盖Expires

  • no-cache

Cache-Control:no-cache指定不缓存响应,表明资源不进行缓存,但是设置了no-cache之后并不代表浏览器不缓存,
而是在缓存前要向服务器确认资源是否被更改。因此有的时候只设置no-cache防止缓存还是不够保险,还可以加上private指令,将过期时间设为过去的时间。

Expires

在响应头中会带有一个Expires字段,Expires字段表示的时资源过期时间

Last-modified

在响应头中会带有一个Last-modified字段,该字段表示请求的资源的最后修改时间,当请求发送到服务器端,服务器端会比较资源的最后修改时间是否
相同,如果相同放回304状态码,如果不相同则返回新资源。

ETag

ETag和Last-modified类似,解决了Last-modified不能精确得到资源的最后修改时间的问题。
在响应头中会带有一个ETag字段,该字段表示请求的资源的hash值,当请求发送到服务器端,服务器端会比较资源的hash是否相同,
如果相同放回304状态码,如果不相同则返回新资源。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文内容大多参考《图解HTTP》一书 一. 认识代理服务器 所以讲缓存为什么要先扯代理服务器?别急,让我们看一下一...
    流光号船长阅读 1,968评论 0 10
  • 网络特有的延迟以及数据传输的成本,制约互联网快速获取Web资源。为此,HTTP协议引入缓存以空间换时间,使浏览器缓...
    大头8086阅读 3,090评论 2 12
  • 浅谈浏览器Http的缓存机制 ✦ ✦ ✦ ✦ ✦ ✦ ✦ ✦ 针对浏览器的http缓存的分析也算是老生常谈了,每隔...
    meng_philip123阅读 1,055评论 0 10
  • 针对浏览器的http缓存的分析也算是老生常谈了,每隔一段时间就会冒出一篇不错的文章,其原理也是各大公司面试时几乎必...
    全端玩法阅读 896评论 0 9
  • 有那么一段时间,我的耳边不断循环播放着孙燕姿的《遇见》,车上、路上、连吃饭的时候也不例外。我总被那句:“遇见你是我...
    清晨绿燕阅读 795评论 0 0