浏览器如何处理过期标头、缓存控制标头、上次修改标头?

2023-12-30

我是一名 Web 开发人员,曾使用过 PHP 和 .NET。拥有一年多的网络工作经验,我一直无法彻底理解浏览器缓存功能,我希望这里的网络专家可以帮助我。我心中的问题是:

  • 浏览器实际上是如何缓存内容的,它是否请求查看服务器上缓存的文件是否已更改,
  • 对于开发人员来说,既能充分利用浏览器缓存,又能毫无麻烦地在网站上推送新更改的理想方式是什么?我认为如果浏览器以某种方式缓存我的 CSS、JS 和图像,然后每次检查它们对服务器的修改,这可以解决问题。但我不知道该怎么做。

这篇博文可能会有所帮助:

http://blog.httpwatch.com/2007/12/10/two-simple-rules-for-http-caching/ http://blog.httpwatch.com/2007/12/10/two-simple-rules-for-http-caching/

它解释了如何使用缓存,同时保持在需要时进行更改的能力。

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

浏览器如何处理过期标头、缓存控制标头、上次修改标头? 的相关文章

  • Cache-Control: max-age=0 和 no-cache 有什么区别?

    标题Cache Control max age 0意味着内容立即被视为过时 并且必须重新获取 这实际上与Cache Control no cache 我有同样的问题 并在搜索中找到了一些信息 您的问题作为结果之一出现 这就是我所决定的 有两
  • $window.location.reload(true) 相当于 CTRL+F5 吗?

    我正在尝试构建一个 版本更新 组件 该组件将在网站更新时显示横幅并提示用户重新加载 不幸的是 当某些用户重新加载其页面时 其页面会被缓存 因此无法正确更新 之前我们告诉他们按 CTRL F5 但我正在寻找一种以编程方式执行此操作的方法 我正
  • 浏览器如何处理过期标头、缓存控制标头、上次修改标头?

    我是一名 Web 开发人员 曾使用过 PHP 和 NET 拥有一年多的网络工作经验 我一直无法彻底理解浏览器缓存功能 我希望这里的网络专家可以帮助我 我心中的问题是 浏览器实际上是如何缓存内容的 它是否请求查看服务器上缓存的文件是否已更改
  • 防止缓存 CSS 文件

    我正在使用 PHP 开发一个简单的网站 开发配置 WAMP 生产配置 LAMP 在测试时 我更改了 CSS 文件 但是当我重新加载页面时 我的浏览器 不确定 仍然使用旧的缓存 css 我做了一些谷歌搜索 发现了我已经尝试过的不同解决方案 在
  • 在 Chrome 中使用 window.location.reload 从缓存加载和哈希片段不起作用

    我需要用 Javascript 重新加载页面 我用window location reload为了这个目的 现在 我在 Chrome 中观察到一个奇怪的行为 Chrome 总是连接到服务器并询问文档是否被修改 虽然一个304 Not Mod
  • 缓存控制的默认值是多少?

    我的问题是 有时浏览器会过度缓存某些资源 即使我已经修改了它们 但F5之后一切都很好 我整个下午都在研究这个案例 现在我完全理解了 Last Modified 或 Cache Control 的意义 我知道如何解决我的问题issue 只是
  • Chrome 加载资源“(从磁盘缓存)”速度缓慢

    My site http www front end io http www front end io配置HTTP请求优先从缓存加载资源 所以我的标题将是这样的 cache control max age 315360000 ETag W
  • 我如何请求浏览器始终更新(也称为从不缓存)某些页面元素,例如 CSS 表?

    我在开发页面时注意到一个始终困扰我的问题 虽然 Firefox 我常用的 开发 浏览器 总是在服务器上更改 CSS 和图像时更新它们 但 Internet Explorer 并不总是这样做 通常 我需要刷新 IE 中的页面 然后它才会向服务
  • 如何使用 CXF、JAX-RS 和 HTTP 缓存

    The CXF http cxf apache org 文档提到缓存为高级HTTP http cxf apache org docs jax rs html JAX RS AdvancedHTTP CXF JAXRS 通过处理 If Mat
  • If-None-Match 与多个实体有什么用途?

    我正在使用ETagheader 用于缓存 浏览器发送相应的If None Match标头 最初 我只是简单地比较了这些标头 结果很有效 后来我想到rfc2616 https www w3 org Protocols rfc2616 rfc2
  • 优化文件缓存和 HTTP2

    我们的网站正在考虑切换到 http2 我的理解是http2 使文件连接等优化技术变得过时 因为使用 http2 的服务器只发送一个请求 相反 我看到的建议是最好保持文件大小较小以便它们更有可能被浏览器缓存 这可能取决于网站的大小 但是如果网
  • IIS 7.0 - IIS 在缓存控制中添加“私有”,它来自哪里

    因为我们保护 PDF 文件免受匿名用户的侵害 所以我们有一个自定义处理程序 因此我们有一个条目 我们还对 http 标头进行了更改 通过 IIS 7 管理添加 cache control no cache no store 该管理在 sys
  • Webpack - 更新 HTML 以包含最新的 [hashed] 包的最佳方式

    我正在使用 webpack 生成散列包文件名 假设我使用静态 HTML CSS 和 JS 自动更新的最佳方法是什么index html指向最新的捆绑包 例如 update to no change 每次有新的捆绑包版本可用时都会自动进行 令
  • 如何在 Firefox 中清除 Service Worker 缓存?

    在 Chrome 中 可以从开发工具中清除 Service Worker 缓存 我们如何在 Firefox 中实现这一目标 到目前为止我已经尝试过 取消注册服务about serviceworkers 清空下面的缓存about prefer
  • 防止图像缓存在浏览器中

    我有一个 浏览图片 功能 其中有缩略图 当用户单击它时它会展开 现在 这两个图像都存储在不同大小的单独虚拟目录中 较大的是 200 200 px 当我点击放大时 它仍然只显示较小的图像 而不是 200 200 的图像 您可以将随机 URL
  • 在开发过程中禁用浏览器缓存 css 和 js 文件

    如何在应用程序开发过程中禁用浏览器缓存 以便每当我们对本地主机 或任何开发环境 中的 css 或 js 文件进行任何更改时 我们都不必在浏览器上进行硬刷新才能看到更改 对所有 css 和 js 都尝试这个 这个例子你应该在所有css和js中
  • 如何清除HTML数据?

    我们可以使用查询选择器来清除 CSS 样式表缓存 如下所示 每当我们更改样式表并需要浏览器清除我们的 CSS 样式表时 我们可以更改版本号 例如 1 1 1 2 等 有没有类似的东西可以清除HTML数据 我的 HTML 标记是这样的 img
  • 浏览器的HTTP缓存的存储位置在哪里?磁盘或内存

    浏览器的HTTP缓存的存储位置在哪里 磁盘或内存 我只是想知道为什么有些文件来自磁盘缓存而另一些文件来自内存缓存 HTTP 缓存背后的机制是什么 哪个缓存的优先级更高 看起来脚本和样式表存储在磁盘中 而图像和字体存储在内存中 也许是解决方案
  • 如何利用 .woff 字体的浏览器缓存?

    在 PageSpeed Insights 中 我不断看到利用浏览器缓存我正在使用的特定图标集 字体的消息 iconFont woff 2 天 我已将 htaccess 设置为 EXPIRES CACHING
  • 显式禁用 REST 服务的缓存

    我要申请Cache Control must revalidate no cache no store来自后端 REST 服务的所有响应 我对此有两个问题 这样做常见吗 出于某种原因 我的印象是没有必要 但我还没有任何消息来源支持这一说法

随机推荐

  • Java:内存分析器工具(MAT)用法:比较两个堆转储

    我正在使用 Eclipse MAT 插件 我可以看到一个 hprof 文件堆历史记录 我为 Java 应用程序拍摄了两张快照 我希望当我比较两个堆转储时 我可以找出哪些对象实例增加很多 以便我可以识别内存泄漏的可能性 netbean 能做到
  • 如何使用 TextMate 对 csv 文件的每个值应用双引号?

    我有一个 csv 文件 格式如下 示例 csv bear brown mean large ant black strong tiny cat yellow moody small 如何在每个值周围应用双引号 我如何使用正则表达式来完成此操
  • jsf 页面的中心组件

    我试图将组件放在 jsf 页面的中心 它看起来像这样
  • JPA/Eclipselink 缓存生命周期

    1 我正在使用 Glassfish 2 1 和 EcipseLink 2 0 0 所以实际上使用 JPA 1 0 规范 并且我有一个无状态 EJB 可以查找实体等 据我所知 JPA 1 0 定义了一个在持久性上下文级别 无状态 EJB 的事
  • Spring Data Rest 字段转换器

    我很难使用我的自定义转换器spring data REST项目 无控制器应用程序和严格的java配置 我有两个实体 一个雇员和一个国家 这种关系是 ManyToOne 我相信我们都知道这一点 无论如何 问题在于转换state字段 字段名称是
  • Windows 上的“系统”和“系统空闲进程”PID 是否恒定?

    在我看过的几个 Windows XP 系统上 系统空闲进程 始终具有 PID 0 而 系统 进程始终具有 PID 4 在枚举进程的 Windows 程序中 识别这些进程是否安全由这些 PID 决定 还是在某些情况下它们可能不同 我的生产代码
  • 如何在 Swift 中将“addTarget”添加到 UILabel

    我正在尝试在 Swift 中添加标签 这些标签是在循环中添加的 然后 我想在添加每个事件时为其添加一个 TapGesture 事件 它可以工作 但问题是 调用的函数从标签中获取数据以在单击时使用 但那时标签已被重新定义 并且它从最后添加的标
  • JFreechart,带填充区域的折线图

    我正在尝试创建如下图表 虽然我几乎通过简单地创建折线图并为渲染器自定义形状 绘制来实现了所有目标 但我似乎找不到一种方法来填充系列线下方的区域 任何线索 我该怎么做 您可以使用以下命令创建图表StackedXYAreaRenderer ht
  • Python urllib2 不尊重超时

    以下两行代码永远挂起 import urllib2 urllib2 urlopen https www 5giay vn timeout 5 这是 python2 7 的情况 我没有设置 http proxy 或任何其他环境变量 任何其他网
  • 无法在 Eclipse 中创建 Xtext 项目

    I installed Xtext 2 12 from the Eclipse Marketplace I m using Eclipse Neon 3 Release 4 6 3 Following the directions in t
  • CMake - 强制 find_package 更新缓存变量

    在我的 CMake 项目中 我提供了用户可编辑的 Boost 的默认路径 set PATH BOOST DEFAULT softs boost BOOST VER ARCH gcc GCCVER set PATH BOOST PATH BO
  • 初始页面加载时光滑滑块宽度为 0

    我在使用 Slick Slider 时遇到了一个非常奇怪的问题 有时 在第一页加载时 幻灯片和轨道宽度被设置为 0 我已经尝试了许多解决方案 包括 设置超时然后调用slick 通过JS触发窗口大小调整事件 将所有光滑元素的最小高度设置为 1
  • WordPress 在“save_post”操作中将 post_status 设置为“草稿”

    我有一个适用于我的自定义帖子类型的自定义函数 加工时save post action add action save post my custom function 我想将帖子状态设置为草稿 以防从外部 api 获取自定义数据出现问题 在我
  • jQuery:如何知道表格行何时失去焦点?

    在表行中 tr 有几个输入元素 当 tr 失去焦点时 但不是当用户只是切换到同一 tr 中的不同输入元素时 我需要执行一些 JavaScript 代码 我使用 jQuery 如何做到跨浏览器 我想您正在寻找这种方法 demo http js
  • 从 Access VBA 运行存储过程

    我不断收到以下错误 从字符串转换日期和 或时间时转换失败 这是我正在使用的 vba 以及我的 sql server 存储过程语法 我应该改变什么才能成功运行 Private Sub btnRunStoredProc Click Dim cm
  • 具有 GCD 的后进先出堆栈?

    我有一个 UITableView 它显示与每行中的联系人关联的图像 在某些情况下 这些图像是在第一次显示时从地址簿联系人图像中读取的 如果没有 则它们是基于存储的数据呈现的化身 我目前正在使用 GCD 在后台线程上更新这些图像 但是 这会按
  • 在 JQuery Mobile 中两个不同文件的三个页面之间导航

    为什么我无法从 secondary html 导航到另一个内部页面 page3 我能够从 index html 导航到 secondary html 我的代码如下所示 索引 html 页面 不幸的是 这是行不通的 这只是将多个 HTML 模
  • 设置 OpenCV 2.4.3 和 Microsoft Visual Studio 2012 (Win8 x64)

    我要配置opencv with 视觉工作室2012 on Windows 8 x64 我配置了opencv并且没有编译错误 但是当我执行我的程序时 我收到此错误 程序无法启动 因为MSVCR100D dll你的中缺失了 电脑 我尝试安装适用
  • 更新 Reactor 中对象的状态

    给出以下方法 private Mono
  • 浏览器如何处理过期标头、缓存控制标头、上次修改标头?

    我是一名 Web 开发人员 曾使用过 PHP 和 NET 拥有一年多的网络工作经验 我一直无法彻底理解浏览器缓存功能 我希望这里的网络专家可以帮助我 我心中的问题是 浏览器实际上是如何缓存内容的 它是否请求查看服务器上缓存的文件是否已更改