express渲染页面一共有三种方式:将页面作为静态资源 express.static、res.sendFile、res.render。

其中前两种方式都会有默认缓存 Cache-Control: public, max-age=0

如果你正在学习缓存这一章,那这个坑不要踩。 可以试试原生的node启服务

如果你想要继续使用express,还想借此联系缓存这一章,你可以这么做,express.static关闭默认缓存配置+使用模板

app.use(express.static('assets', { // 给静态资源设置响应头
etag: false, //移除默认配置项
cacheControl: false, //移除默认配置项
lastModified: false, //移除默认配置项
setHeaders: (res, path, stat) => {
res.setHeader('Cache-Control', 'no-store'); //自己设置头部信息
}
}))

另外 模板的res.render 返回响应头虽然没有Cache-Control但是它又有其它默认缓存值干扰

Date:Sun, 23 Jun 2024 09:24:29 GMT
Etag:W/"111-i9FchrKyKmHwfUGfPSSJu2adINw"

总之,要学习http缓存,还是放弃express 转为原生node的demo吧,它的响应头比较干净 不会干扰你

express的默认Cache-Control的更多相关文章

  1. [转]ASP.NET Core: Static Files cache control using HTTP Headers

    本文转自:https://www.ryadel.com/en/asp-net-core-static-files-cache-control-using-http-headers/ Every sea ...

  2. 网站 cache control 最佳实践

    推荐阅读: 2020年软件开发趋势 高并发案例 - 库存超发问题 负载均衡的分类及算法 异地多活架构 Postman 的替代品来了 有时,当第二次访问网站时,看起来比较怪,样式不正常. 通常,是因为 ...

  3. Nodejs express中创建ejs项目,解决express下默认创建jade,无法创建ejs问题

    最近在看<Node.js开发指南>,看到使用nodejs进行web开发的时候,准备创建ejs项目遇到问题了, 书上命令为: express -t ejs microblog 可是执行后,仍 ...

  4. 修改Oracle 10g Express Edition默认的8080端口

    http://sucre.blog.51cto.com/1084905/475531 ————————————————————————————————————————————————————————— ...

  5. Springboot 默认cache

    1:Springboot 默认缓存为ConcurrentMapCacheManager(spring-context) 2:再启动类上开启缓存 @SpringBootApplication //相当于 ...

  6. 利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 的管理任务和基本任务

    原文地址:http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0602tham2/index.html 简单介绍 管理不 ...

  7. Symfony2学习笔记之HTTP Cache

    富web应用程序的本质意味着它们的动态.无论你的应用程序多么有效率,每个请求比起静态文件来说总会存在很多的耗费.对于大多数web程序来说,这没什么. Symfony2非常的轻快,无论你做些严重超载的请 ...

  8. HTTP请求中的缓存(cache)机制

    http://www.chaorenmao.com/blog/?p=79 流程 当资源第一次被访问的时候,HTTP头部如下 (Request-Line)  GET /a.html HTTP/1.1Ho ...

  9. 缓存与ABP Redis Cache

    缓存与ABP Redis Cache 为什么要用缓存 为什么要用缓存呢,说缓存之前先说使用缓存的优点. 减少寄宿服务器的往返调用(round-trips). 如果缓存在客户端或是代理,将减少对服务器的 ...

  10. 前端笔记之NodeJS(三)Express&ejs模板引擎&请求识别

    一.Express框架 1.1基本使用 创建http服务器特别麻烦,express框架解决了这个的问题. Express在node界的地位,就相当于jQuery在DOM界的地位.jQuery的核心就是 ...

随机推荐

  1. DAY1--ROS基本认知

    1.ROS基本框架 ROS架构如下图所示,可以将其分为三个层次:OS层.中间层和应用层. 1.1 应用层 应用层是用户直接交互的部分,包含以下核心组件: Master: ROS的核心协调者,负责节点( ...

  2. 使用CAMEL实现RAG过程记录

    本文为学习使用CAMEL实现RAG的学习总结. 参考自官方cookbook,地址:https://docs.camel-ai.org/cookbooks/advanced_features/agent ...

  3. Java 中的 young GC、old GC、full GC 和 mixed GC 的区别是什么?

    Java 中的 young GC.old GC.full GC 和 mixed GC 的区别 在 Java 中,垃圾回收(GC)可以分为几种不同类型,包括 young GC.old GC.full G ...

  4. 通过adb访问SQLite数据库

    根据<第一行代码>第二版进入到数据库的文件夹,但是如果照书本直接cd data/data/包名/databases 的话是会报错的,错误信息如下 cd: /data/data/包名 /da ...

  5. Python标准库学习之logging

    前言 在python程序中,出于调试监测或者追踪(track)的目的,一般会在关键的部位加print语句来输出监测的变量值,但对于复杂的程序来讲,这样的调试手段就远远不够了,这也是logging库存在 ...

  6. vSphere 7.0升级至8.0-vCenter 升级

    近期,vSphere 即将发布新的正式版本,同时 vSphere 7.0 也将于 2025 年 10 月 2 日正式结束生命周期(EOS).届时,博通(Broadcom)将不再为该版本提供技术支持和更 ...

  7. Surrounded Regions——LeetCode进阶路

    原题链接https://leetcode.com/problems/surrounded-regions/ 题目描述 Given a 2D board containing 'X' and 'O' ( ...

  8. theZoo - 恶意软件分析资源库

    theZoo 是一个恶意软件分析资源库,收集了几乎所有版本的恶意软件包括(恶意软件源代码项目.二进制恶意软件程序).需要分析病毒.恶意软件的朋友可以在项目中下载某个恶意软件来分析. 功能特性 恶意软件 ...

  9. curl ifconfig.me 查看Linux服务器公网IP地址

    命令作用:curl ifconfig.me 用于查看Linux服务器公网IP地址. 使用场景:配置Linux服务器IP白名单的时候,需要知道服务器的IP地址,这就到此命令大显身手的时候了.

  10. GC面试重点:垃圾回收机制

    你知道哪些垃圾回收算法?垃圾回收从理论上非常容易理解,具体的方法有以下几种: 1. 标记-清除:2. 标记-复制:3. 标记-整理:4. 分代回收. 如何判断一个对象是否应该被回收?这就是所谓的对象存 ...