gpt4 book ai didi

javascript - 我怎样才能让 express 做基于校验和的缓存?

转载 作者:搜寻专家 更新时间:2023-11-01 00:43:05 25 4
gpt4 key购买 nike

我知道 Express 用于静态内容的 maxAge 指令:

app.use(express.static(__dirname + '/public', { maxAge: 86400000 }));

但是我想建立一个系统:

  • 浏览器缓存任何没有改变的资源
  • 浏览器获取已更改资源的最新版本

我知道这通常是通过校验和完成的,即:将校验和作为其 URL 的一部分提供所有资源。旧 URL 永远缓存,新内容意味着新 URL。

如何在 express 中进行设置?

最佳答案

一些研究表明,这称为指纹识别。参见 http://guides.rubyonrails.org/asset_pipeline.html#what-is-fingerprinting-and-why-should-i-care-questionmark (该文档适用于 Rails,但 HTTP 概念当然与 Node 相同)。

Node Static Asset这样做是为了 express 。

var staticAsset = require('static-asset');
app.use(staticAsset(__dirname + "/public/") );

然后在模板中:

<script src="{{ assetFingerprint("/client.js") }}"></script>

还有Static Expiry其工作方式类似。

关于javascript - 我怎样才能让 express 做基于校验和的缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27942658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com