【发布时间】:2018-02-22 03:05:36
【问题描述】:
初始请求 第二次请求 我正在使用节点模块(express-cache-ctrl)在代理上启用缓存。
app.use(cache.public(3600));
我的静态资产上有一个带有 max-age 的 Cache-control 标头。我无法弄清楚为什么它们会在刷新时重新加载而不是从浏览器缓存中提供。
编辑:`
var onProxyRes = function(proxyRes, req, res) {
if ( proxyRes.headers["content-type"] == "text/css" ||
proxyRes.headers["content-type"] == "application/javascript") {
proxyRes.headers["Cache-Control"] = "public, max-age=86400";
}
//在这里添加一些东西来修改代理响应 };` 尝试在代理响应上手动添加缓存标头也不会缓存资产
【问题讨论】:
-
您似乎正在使用 Chrome DevTool 的网络面板。默认情况下,选中“禁用缓存”之前的复选框。你取消选择了吗?
-
@shaochuancs 禁用缓存没有被选中
-
这很奇怪。如果 DevTool 没有禁用缓存,根据您的截图没有任何问题。
-
@shaochuancs 顺便说一句,我在代理级别设置我的标题。我不认为这应该是一个问题,但我现在不确定
-
或许你可以在原服务器设置
Cache-Control标头再试一次?
标签: javascript node.js http browser-cache cache-control