#web-apps #web #cache #http #optimization #cache-busting

libcachebust

编译时缓存破坏的Rust编写的Web应用程序

2个不稳定版本

0.3.0 2023年10月16日
0.2.1 2023年10月16日

#254 in 缓存

MIT/Apache

49KB
495

A photo of Spock showing the Vulkan greeting

libcachebust

愿您的缓存长存且繁荣!

status-badge

什么是缓存破坏?

为了优化网络加载时间,浏览器会缓存静态文件。缓存大大提高了性能,但如何通知浏览器在文件更改时使缓存失效呢?

缓存破坏是解决此问题的简单而有效的方法。有几种方法可以实现这一点,但这个库通过更改文件名以包含文件内容的哈希值来实现。

所以如果您的文件名为 bundle.js,它将变成 bundle.<long-sha256-hash>.js。这使您能够设置非常长的缓存有效期,因为文件名会更改,所以文件名的路径也会更改。因此,对浏览器来说,您正在尝试加载它没有的文件。很酷,不是吗?

功能

  • SHA-256 基于编译时的名称生成
  • 根据提供的MIME过滤器处理文件
  • 根据文件扩展名和/或文件路径排除某些文件的处理
  • 在程序运行时向程序公开修改后的名称
  • 路由前缀(可选)

用法

将此添加到您的 Cargo.toml

libcachebust = 0.2

示例

依赖项

~3–11MB
~119K SLoC