探讨下为什么设置了Cache-Control:no-cache 服务器还是返回304 Not Modified ?

2023-05-16

前言

今天做项目的时候遇到一个问题,就是在ie11中 新增一条新的消息后页面刷新后,并没有看到新增的消息,于是打开控制台发现

304 Not Modified 加时间戳没用

于是赶紧联系后台大佬能不能把cache-control改成Cache-Control:no-cache试试

然而并没什么卵用,然后自己研究。

浏览器缓存机制

  1. 当前缓存是否过期?
  2. 服务器中的文件是否有改动?

如何判断缓存的过期以及文件的变动?

主要的方式有两种,这两种都是设定请求头中的某一个字段来实现的: 1、Expires; 2、Cache-Control。由于Cache-Control设置后优先级比前者高,这次作者就先说下通过Cache-Control来控制缓存。

常见取值: no-cache

如果request headers中,Cache-Control为no-cache。表示不管服务端有没有设置Cache-Control,都必须从重新去获取请求。

max-age=xxx:缓存的内容将在 xxx 秒后失效

max-age=0

max-age=0表示不管response怎么设置,在重新获取资源之前,先检验ETag/Last-Modified

不管是max-age=0还是no-cache,都会返回304(资源无修改的情况下),no-store才是真正的不进行缓存。

private: 客户端可以缓存(默认)

public: 客户端和代理服务器都可缓存(前端的同学,可以认为public和private是一样的)

no-store: 所有内容都不会缓存,强制缓存,对比缓存都不会触发(对于前端开发来说,缓存越多越好,so...基本上和它说886

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

探讨下为什么设置了Cache-Control:no-cache 服务器还是返回304 Not Modified ? 的相关文章

  • Libstdc++.so.6: version `GLIBCXX_3.4.22’ not found(conda)

    error Libstdc 43 43 so 6 version 96 GLIBCXX 3 4 22 not found fix 在conda环境下 xff0c 由于安装了某些模块 xff0c 使得模块的版本不一样 其中libstdc 43
  • Resource not found: rgbd_launch 解决方案

    Resource not found rgbd launch 解决方案 操作环境问题描述解决方案 操作环境 虚拟机 xff1a VMware 系统版本 xff1a Ubuntu 18 04 ROS版本 xff1a Melodic 摄像头 x
  • Could not find a package configuration file provided by “OpenCV“ with any of the following names

    CMake Error at opt ros kinetic share catkin cmake catkinConfig cmake 83 find package Could not find a package configurat
  • SyntaxError: future feature annotations is not defined

    作者遇到这个问题是在使用NVIDIA Jetson Xavier NX开发套件控制舵机时遇到的 xff0c 作者采用IIC通信方式控制PCA9685模块进而控制舵机 在此问题解决过程中发现有人遇到相同问题 xff0c 所以做个补充 别人给出
  • Could not get lock /var/lib/dpkg/lock 问题解决方法

    今天在ubuntu上安装sqlite 时 xff0c 执行命令sudo apt get y install sqlite3 时 xff0c 系统提示 xff1a Could not get lock var lib dpkg lock op
  • Eigen问题解决:eigen_assert_exception’ is not a member of ‘Eigen’

    很意外地遇到一个Eigen相关的错误 xff1a usr local include eigen3 Eigen src Core products Parallelizer h 162 40 error eigen assert excep
  • 【MFC开发(15)】进度条控件Progress Control

    1 进度条控件的常用方法 首先给控件添加一个变量 在dlg初始化函数钟进行方法的实现 进度条显示区域 设置进度条的范围 m progress SetRange 0 100 设置进度条当前的位置 m progress SetPos 75 获取
  • 操作pdf,提示startxref not found

    startxref not found多半是文件被损坏了 xff0c 检查一下 xff0c 是不是之前自己写的代码把pdf文件跑崩了 可以尝试重新生成一遍该pdf文件 xff0c 然后再进行操作 或者尝试一下 xff1a https www
  • Zynq Cache问题的解决方法

    在进行PS PL之间的DMA传输时 xff0c 不可避免会遇到Cache问题 今天在这里讲一下Cache的解决方法 其中参考了forums xilinx com的处理方法 首先解释为什么DMA会引入Cache问题 xff08 专业名称为Ca
  • 如何删除 CloudFront 缓存

    CloudFront 是 Amazon Web Services 提供的一项流行的缓存和内容交付网络服务 它通过其全球数据中心向用户提供数据 CloudFront 还在其服务器上创建本地内容缓存 进一步用于快速满足用户请求 失效允许我们在对
  • spring缓存机制-根据condition加入缓存(三)

    spring是一个轻量级开源框架 以IoC Inverse of Control 控制反转 和AOP Aspect Oriented Programming 面向切面编程 为内核 兼具功能强大的的原生展现层spring mvc 原生持久层s
  • Android 绘图 cache setDrawingCacheEnabled(boolean flag)

    使用setDrawingCacheEnabled boolean flag 提高绘图速度 View组件显示的内容可以通过cache机制保存为bitmap 使用到的api有 void setDrawingCacheEnabled boolea
  • 如何在 Linux 中编译和安装最新的 Redis

    Redis 是一种开源内存数据结构存储 可用作数据库 缓存和消息代理 它以其高性能 可扩展性和易用性而闻名 在本文中 我们将指导您完成在 Linux 上编译和安装最新 Redis 版本的过程 在开始之前 请确保您拥有 Linux 服务器的管
  • Spring Cache

    Spring Cache Spring Cache使用方法与Spring对事务管理的配置相似 Spring Cache的核心就是对某个方法进行缓存 其实质就是缓存该方法的返回结果 并把方法参数和结果用键值对的方式存放到缓存中 当再次调用该方
  • 伺服电机三环(电流环、速度环、位置环)控制原理及参数调节

    原文 https blog csdn net sunjiajiang article details 8252026 运动伺服一般都是三环控制系统 从内到外依次是电流环 速度环 位置环 1 电流环 电流环的输入是速度环PID调节后的输出 我
  • 【计算机组成】Cache与CPU的直接映射、全相联映射与组相联映射

    一 Cache与CPU需要映射的原因 CPU准备访问内存时 会先问问cache存储器有没有已经提前准备好了数据 如果没有则再找内存要 如果Cache刚好命中 则直接从Cache中读取数据 如果Cache没有命中 Cache失效 则CPU再去
  • Spring Boot2.x 整合lettuce redis 和 redisson

    前言 springboot2之前redis的连接池为jedis 2 0以后redis的连接池改为了lettuce lettuce能够支持redis4 需要java8及以上 lettuce是基于netty实现的与redis进行同步和异步的通信
  • MPC8314 (e300核) uboot 调试

    历经2个多月 完成了MPC8314最小系统 uboot 及Linux内核和根文件系统的调试 这是我第一次从头开始做小系统和内核的移植工作 虽然调试的比较辛苦 但是收获还是很多的 下面就介绍一下调试的过程和一些原理性的东西 1 MPC8314
  • KVM中使用usb设备

    进来学习usb驱动 看到网上都在分析usb skeleton c的驱动框架 就想对其调试一下 看一下其函数调用流程 要想调试usb skeleton 首先需要kvm能够探测到usb设备 其次 在kvm中编译usb skeleton c 最后
  • 集群环境下Redis分布式锁

    一 前言 在上一篇文章中 已经介绍了基于Redis实现分布式锁的正确姿势 但是上篇文章存在一定的缺陷 它加锁只作用在一个Redis节点上 如果通过sentinel保证高可用 如果master节点由于某些原因发生了主从切换 那么就会出现锁丢失

随机推荐

  • ArcGIS中的多个栅格波段合成一幅影像

    此处用到了ArcGIS栅格处理中的Composite Bands工具 xff08 Data Management Tools gt Raster gt Raster Processing xff09 具体操作如下图所示
  • Sourcetree 更新git账号密码

    删除Sourcetree 缓存文件 只需要删密码文件 xff0c 文件位置 xff1a Mac xff1a Library Application Support SourceTree Windows xff1a C Users USERN
  • Vue.js仿一个购买火车票的app

    项目地址 预览的时候如果是用电脑预览的话请切换手机端预览地址源码地址 xff08 欢迎点赞 lt xffe3 xffe3 gt xff09 项目描述 主要技术 使用vue js实现单页应用使用vue Router处理路由使用vuex实现数据
  • k8s ingress获取真实IP地址配置

    背景 业务架构 xff1a Client gt WAF gt LB gt ECS gt 容器 问题 xff1a 在容器中获取不到真实的客户端公网IP 抓包分析 1 在ECS上的抓包分析 xff0c 看到WAF已经将 真实客户端地址放到了 x
  • 华为视频终端默认的Web页面用户名和密码是多少

    在将华为视频会议系统安装好之后我们需要进终端web管理页面设置 xff0c 但是很多朋友并不知道默认的用户名和密码是多少 xff0c 今天我们就来说说华为视频会议终端默认的web页面默认的用户名密码是多少吧 华为视频会议终端9030 800
  • 缺省vlan的简单介绍

    什么是缺省vlan xff1f 首先要理解什么是vlan xff1f 简单点说vlan就是可以把一个LAN划分成多个逻辑的LAN VLAN xff0c 每个VLAN是一个广播域VLAN内的主机间通信就和在一个LAN内一样 xff0c 而VL
  • 解决:The declared package does not match the expected package

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 这个问题让人挺头疼 xff0c 看网上答案很多 xff0c 但是这个比较靠谱 xff0c 原理也说清楚了 xff0c 并且已经解决了我的问题 xff1a Maven 61
  • IOS破解软件,比较全的网站。

    转载于 https blog 51cto com 14259888 2369621
  • 共享组件(有码):将文件中数据导入到DataTable

    08 11 29日更新 xff0c 增加了Xls和Xlsx文件导入支持 1 功能 xff1a 1 1 自由配置文件格式 xff1a 生成的DataTable的主键 文件内容中是否有表头 列分隔符 列是否可空 列中数据类型 String型可加
  • Sql Server 2008修改Sa密码

    1 用Windows验证模式进入数据库管理器 右键根目录 属性 左边的安全性 选择sql server 和windows 验证 xff08 SQL Server and Windows Authentication Mode xff09 2
  • 基于GmSSL实现server服务端和client客户端之间SSL通信代码(升级优化公开版)

    参考链接 工程搭建介绍 Ubuntu安装GmSSL库适用于ubuntu18和ubuntu20版本 MY CUP OF TEA的博客 CSDN博客CLion运行程序时添加命令行参数 即设置argv输入参数 MY CUP OF TEA的博客 C
  • I Think I Need a Houseboat(1005)

    include lt iostream gt include lt cmath gt include lt vector gt using namespace std void main double area 61 50 double R
  • CMake使用技巧集

    CMake使用技巧集 txt 1 注意CMake不允许出现相同的目标名称 xff0c 即使是不同的目录下的CMakeLists txt 2 将头文件搜索路径插入到其它的前面 xff1a include directories BEFORE
  • 了解lpk.dll是什么病毒以及lpk.dll病毒专杀方法

    pk dll病毒是当下比较流行的一类病毒 xff0c 而正常系统本身也会存在lpk dll文件 xff0c 这足以说明这类病毒的危险性 系统本身的lpk dll文件位于C WINDOWSsystem32和C WINDOWSsystem32d
  • Cognos定时Email发送报表数据功能

    1 进入 IBM Cognos Configuration Data Access Notification 2 设置如下 xff08 注意一定要是smtp服务 xff0c 端口25 xff0c 我这里是用了腾讯邮箱的smtp服务 xff0
  • 在PC上运行安卓(Android)应用程序的几个方法

    三种方法 xff1a 1 在PC安装一个安卓模拟器 xff0c 在模拟器里面运行apk xff1b 2 虚拟机安装 Android x86 然后在此系统里运行 xff1b 3 利用谷歌chrome浏览器运行 xff08 这是一个新颖 有前途
  • 公司局域网搭建

    局域网 Local Area Network xff0c 简称LAN xff0c 用于将有限范围内 xff08 例如一个实验室 一层办公楼或者校园 xff09 的各种计算机 终端与外部设备互联成网 公司局域网怎么建立 xff1f 首先来了解
  • 异常-----freemarker.core.ParseException: Unexpected end of file reached

    freemarker自定义标签 假如你现在还在为自己的技术担忧 xff0c 假如你现在想提升自己的工资 xff0c 假如你想在职场上获得更多的话语权 xff0c 假如你想顺利的度过35岁这个魔咒 xff0c 假如你想体验BAT的工作环境 x
  • 40岁程序员真的要被淘汰了么?

    我承认起这个标题有些标题党 这几天华为公司被热议 xff0c 据非正式小道消息 华为开始 清理 34岁以上员工 据威腾网消息 xff08 http digi 163 com 17 0216 15 CDDINLRL0016686Q html
  • 探讨下为什么设置了Cache-Control:no-cache 服务器还是返回304 Not Modified ?

    前言 今天做项目的时候遇到一个问题 xff0c 就是在ie11中 新增一条新的消息后页面刷新后 xff0c 并没有看到新增的消息 xff0c 于是打开控制台发现 304 Not Modified 加时间戳没用 于是赶紧联系后台大佬能不能把c