HTTP 304 错误的详细解释

2023-11-13

Not Modified 客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。

如果客户端在请求一个文件的时候,发现自己缓存的文件有 Last Modified ,那么在请求中会包含 If Modified Since ,这个时间就是缓存文件的 Last Modified 。因此,如果请求中包含 If Modified Since,就说明已经有缓存在客户端。只要判断这个时间和当前请求的文件的修改时间就可以确定是返回 304 还是 200 。对于静态文件,例如:CSS、图片,服务器会自动完成 Last Modified 和 If Modified Since 的比较,完成缓存或者更新。但是对于动态页面,就是动态产生的页面,往往没有包含 Last Modified 信息,这样浏览器、网关等都不会做缓存,也就是在每次请求的时候都完成一个 200 的请求。

因此,对于动态页面做缓存加速,首先要在 Response 的 HTTP Header 中增加 Last Modified 定义,其次根据 Request 中的 If Modified Since 和被请求内容的更新时间来返回 200 或者 304 。虽然在返回 304 的时候已经做了一次数据库查询,但是可以避免接下来更多的数据库查询,并且没有返回页面内容而只是一个 HTTP Header,从而大大的降低带宽的消耗,对于用户的感觉也是提高。

当这些缓存有效的时候,通过 HttpWatch 查看一个请求会得到这样的结果:
第一次访问 200
鼠标点击二次访问 (Cache)
按F5刷新 304
按Ctrl+F5强制刷新 200

如果是这样的就说明缓存真正有效了。以上就是我对 HTTP 304 的一个理解。

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

HTTP 304 错误的详细解释 的相关文章

  • 实战: 跨年烟花代码的实现(附源码)

    目录 前言 一 pandas是什么 二 代码结构 1 介绍主html代码 2 js文件介绍 GameCanvas js script js 运行效果 前言 本文章将介绍跨年烟花代码的实现以及源代码 提示 以下是本篇文章正文内容 一 pand
  • 【H5】 svg内text、image、path标签的使用

    H5 svg内text image path标签的使用 text标签 div style width 500px height 500px border 2px solid pink margin 50px auto 0 div
  • 兼容ios不支持的日期格式

    前段时间开发了一个关于订单展示的页面 要求根据时间筛选出离当前时间最近的订单信息进行展示 因为服务器返回的时间格式都是 YYYY MM DD 也没想那么多 直接拿过来就用了 在安卓上排序都很正常 在测试的时候发现苹果手机展示的订单根本就没有
  • 前端学习之常见标签的使用(2)

    目录 h标签 p标签 br标签 字符实体 img标签 a标签 mailto链接 base标签 锚点 div span video H5新增 audio H5新增 h标签 h标签 标题标签 在HTML中 一共有六级标题标签 h1 h6 在显示
  • innerHTML与XSS攻击

    HTML5为所有元素提供了一个innerHTML属性 既能获取对象的内容又能向对象插入内容 属性值 HTML标签 文本 浏览器会将属性值解析为相应的DOM树 HTML解析器在浏览器中是底层代码比JavaScript方法快很多 同时意味着替换
  • css改变svg颜色_如何使用CSS混合模式和SVG动态更改产品图像的颜色

    css改变svg颜色 To better explain that title right off the bat here s what we re about to learn and it s easier than you thin
  • 移动端页面禁止放大缩小

    安卓 在index html文件中添加meta标签 IOS 在 src app vue 中 script 标签内添加代码
  • 动态一键换肤实现思路和demo

    前言 浏览器切换样式无非是通过css 总共有以下三种方法 内联style 注入style 注入link 那么我们想要实现一键换肤 那么我们为了剥离干净dom和css 我们只能选择style和link这两种方法 核心思路 在html的head
  • 前端学习——JavaScript原生实现购物车案例

    一 购物车案例 1 1 案例介绍 今天我们来写另外一个购物车案例 说实话对于我来说这个是花了将近三个小时的时间然后才做出来的 里面可能还存在一些我没有发现的问题 但是能完成基本的功能 对于一些基本的需求都是可以完成的 下面照旧是案例实现的g
  • 基于vue-cli3模板的axios封装项目

    为了更便捷的使用项目框架 本模板为空白项目 但是已经为大家封装了axios方法和post get请求 内有基础案例 请大家按着自己项目需要进行修改使用 axios interceptors response use response gt
  • ElementUi常用组件创建前端页面

    elementui 创建前端页面
  • angular:路径找不到时会跳回主页

    本地起服时 如果输入的路径无法匹配现有规则 则会跳转至主页 带来一定困扰 最好是统一显示或者导航至特定页面 以便debug const routes Routes path component PageNotFoundComponent
  • 12.HTML5下一代的HTML标准介绍与初识尝试

    关注回复 学习交流群 加入 安全开发运维 答疑交流群 请朋友们 多多点击文中的广告 支持作者更新更多文章 目录 本文为作者原创文章 为尊重作者劳动成果禁止非授权转载 若需转载请在 全栈工程师修炼指南 公众号留言 或者发送邮件到 master
  • 大学生简单个人静态HTML网页设计作品 DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下载 HTML5期末大作业 (1)

    HTML5期末大作业 动漫电影主题 电影动漫言叶之庭 4页 带音乐 HTML CSS JavaScript 期末作业HTML代码 学生网页课程设计期末作业下载 web网页设计制作成品 大学生毕设网页设计源码HTML 1 临近期末 你还在为H
  • 微信小程序:图片高度设置无效问题

    控制台查看元素 显示其style中多了一个没有设置的高度值 找了很久发现是因为image标签设置了mode widthFix 此时高度会自适应 样式中设置高度无效
  • flex布局详解

    声明 本人的所有博客皆为个人笔记 作为个人知识索引使用 因此在叙述上存在逻辑不通顺 跨度大等问题 希望理解 分享出来仅供大家学习翻阅 若有错误希望指出 感谢 flex基本概念 任何一个容器都可以指定为Flex布局 例如 box displa
  • 【H5】 svg画扇形饼图

    H5 svg画扇形饼图 效果图如下 封装代码如下 代码内有详细注解哦
  • JavaScript 实现html导出为PDF文件

    相信各位前端工程狮们在一些报表项目 管理系统项目中都会遇到在这样的需求 申请报 表格 简历等等图文信息有导出为PDF文件 下面是记录我在项目中完成该需求的代码dome 发布出来也是希望对大家有些帮助 1 整体思路 将HTML元素打印或导出为
  • 测试基础知识

    常见测试分类 按测试阶段划分 单元测试 针对程序源码进行测试 国内是开发自测 集成测试 又称接口测试 针对模块间的访问地址进行测试 系统测试 对整个系统进行测试 包括功能 兼容性 文档等 验收测试 分为内测和公测 按代码可见度划分 黑盒测试
  • 基于html5的国家历史文物网站的设计与实现-计算机毕业设计源码63653

    目 录 摘 要 Abstract 第 1 章

随机推荐

  • 远程服务器无密登入设置

    现在还在输密码进入服务器的话 如果频次高的话 显得就很浪费时间 实际上可以通过无密登陆服务器 只需要设置好ssh就可以 这样只要你打开你电脑的终端不管是Mac OS还是Linux输入ssh root 远程服务器IP 这个命令就会自动登陆到远
  • 如何保障数仓数据质量?

    有赞数据报表中心为商家提供了丰富的数据指标 包括30 页面 100 数据报表以及400 不同类型的数据指标 它们帮助商家更合理 科学地运营店铺 同时也直接提供分析决策方法供商家使用 并且 每天在跑的底层任务和涉及的数据表已经达到千级别 面对
  • 【Python 1-10】Python手把手教程之——一篇讲透if语句以及if语句的特殊用法

    作者 弗拉德 来源 弗拉德 公众号 fulade me if 简单示例 假设你有一个汽车列表 并想将其中每辆汽车的名称打印出来 对于大多数汽车 都应以首字母大写的方式打印其名称 但对于汽车名 bmw 应以全大写的方式打印 下面的代码遍历一个
  • 技术至简-7:2G/3G/4G/5G基站系统中混合调制的技术框架

    2G 3G 4G 5G基站系统并非采用单一的调制技术 是数字调制和模拟调制的综合 是QAM调制与IQ调制的综合 是幅度调制与相位调制的综合 1 调制模型 在此模型中 包含了三种调制 1 数字基带调制 PSK QAM调制 2 模拟基带调制 I
  • Git日常问题: 什么是LFS?及其错误解决办法

    文章目录 Git LFS 错误 Git LFS 解决办法 Git LFS 错误 本地已经存在一个git仓库 想将其推送到一个远程仓库 结果遇到了git lfs错误 打印如下 git remote rename origin old orig
  • 解决DCNv2在Linux上安装失败的问题

    项目场景 今天同学安装 DCN Deformable Convolutional Networks 可变形卷积网络 v2的 PyTorch 版本时遇到了很多问题 弄了将近一天也没解决 于是求助笔者帮忙解决 这里记录一下成功的解决方案 问题描
  • MATLAB算法实战应用案例精讲-【回归算法】XGBoost算法(附Java、Python和R语言代码)

    目录 前言 xgboost面试过程中几个高频问题 1 xgboost如何处理缺失值
  • 什么是JDBC?并写出JDBC的开发流程。

    JDBC Java DataBase Connectivity 直译为 java数据库连接 实际上jdbc是java中的一套和数据库交互的api application program interface 应用程序编程接口 因为java程序
  • 【uni-app】修改原生导航栏文字和文字样式

    修改文字 uni setNavigationBarTitle 这是修改后的导航栏文字 title 首页 修改文字颜色以及导航栏背景色 uni setNavigationBarColor frontColor ffffff 文字颜色 back
  • SystemVerilog-$cast详解

    cast在子类与父类之间的复制 1 子类cast给父类 cast father cls child cls 之前有提到 cast是将两个类型强制转换 cast A B 将B强制类型转换给A 应用在类上 就是句柄的强制赋值操作 那么在子类和父
  • Global Illumination_Screen-Space Directional Occlusion(SSDO)

    之前我们了解过AO SSAO HBAO 可参照之前文章Vulkan SSAO 屏幕空间环境光遮蔽 DirectX11进阶9 AO SSAO Particle System GPU Global Illumination Horizon Ba
  • 常用椭圆曲线介绍

    chat gpt生成 对应python的miracl core python库 ED系列 一 ED25519 ED25519使用的椭圆曲线是Curve25519 它是一种高效且安全的椭圆曲线 由Daniel J Bernstein等人设计
  • 游戏渲染技术:前向渲染 vs 延迟渲染 vs Forward+渲染(二)

    GTA5 2 前向渲染 前向渲染是三个光照技术中最简单的 也是游戏图形渲染中最常见的技术 出于这个原因 也是光照计算最昂贵的技术 它不允许在场景中出现大量的动态光源 大部分使用前向渲染的图形引擎会采用一些技术来模拟场景中大量的光源的情况 例
  • 区间预测

    区间预测 MATLAB实现QRCNN BiLSTM卷积双向长短期记忆神经网络分位数回归时间序列区间预测 目录 区间预测 MATLAB实现QRCNN BiLSTM卷积双向长短期记忆神经网络分位数回归时间序列区间预测 效果一览 基本介绍 模型描
  • php比较两个二维数组是否相同,多维数组

    欢迎加入 新群号码 99640845 几天前跟同事讨论一个很有趣的问题 一直想写下来结果总没有时间 今天终于有时间了 如题 php如何比较两个二维数组是否相同 这个问题我在群里也问了很多人 大多数就是遍历了 有的人遍历一次 有的人遍历两次
  • 微信Banner广告位置设置

    在微信中banner广告的调用 并没有在微信官方文档中解释得比较明白 也没有简单明了的示例 所以我们在这里讨论一下banner广告的实现 微信中的banner广告的位置属性只有 left top 意味着只有左对齐和上对齐 而且 微信中的这个
  • 3D模型学会了「唱、跳、Rap、篮球」,程序员们全沉迷「鸡你太美」

    继 B 站之后 GitHub 网友也开始沉迷 鸡你太美 让 3D 姿态也学会了 唱 跳 Rap 篮球 而且动作准确度和连贯性似乎一点也不输练习时长两年半的练习生 看了这段 demo 之后 网友戏称 你的律师函已经在路上了 这段 看到停不下来
  • 万字解析GPT的情感与意识,它是一只被人类操控的“风筝”

    来源 AI未来指北 编辑整理 周小燕 郭晓静 AI未来指北 栏目由腾讯新闻推出 邀约全球业内专家 创业者 投资人 探讨AI领域的技术发展 商业模式 应用场景 伦理及版权争议 丨划重点 一部分基础工作可能会被AI产品替代 然而 创意工作 管理
  • Webpack打包-打包详细流程

    Webpack Webpack是一个现代化的静态模块打包器 支持JavaScript CSS 图片等资源的打包 它将所有模块及其依赖项视为静态资源 并创建一个依赖关系图 将这些资源转换为有效的输出文件 通过Webpack 可以将多个文件打包
  • HTTP 304 错误的详细解释

    Not Modified 客户端有缓冲的文档并发出了一个条件性的请求 一般是提供If Modified Since头表示客户只想比指定日期更新的文档 服务器告诉客户 原来缓冲的文档还可以继续使用 如果客户端在请求一个文件的时候 发现自己缓存