ETag 标头
ETag
ETag 是 Fiber 的中间件,让缓存更有效,节省带宽,因为如果内容没有改变,网络服务器不需要重新发送完整的响应。
目录
签名
func New(config ...Config) fiber.Handler
示例
导入作为 Fiber 网络框架一部分的中间件包
import (
"github.com/gofiber/fiber/v2"
"github.com/gofiber/fiber/v2/middleware/etag"
)
在你启动你的 Fiber 应用后,你可以使用以下可能性。
默认配置
app.Use(etag.New())
//获取/接收 Etag。"13-1831710635" 在响应头中
app.Get("/", func(c *fiber.Ctx) error {
return c.SendString("Hello, World!")
})
自定义配置
app.Use(etag.New(etag.Config{
Weak: true,
}))
// 获取/接收 Etag。"W/"13-1831710635 "的响应头
app.Get("/", func(c *fiber.Ctx) error {
return c.SendString("Hello, World!")
})
配置
// Config 定义了中间件的配置。
type Config struct {
// 下一步定义了一个函数,当返回真时跳过这个中间件。
//
// 可选。默认值:nil
Next func(c *fiber.Ctx) bool
// Weak 表示使用一个弱的验证器。弱的验证器很容易
// 生成,但是对于比较来说却不那么有用。强
// 验证器是比较的理想选择,但很难有效地生成
// 有效地生成。两个代表的弱 ETag 值
// 的弱 ETag 值可能在语义上是等同的,但并不是
// 逐个字节地相同。这意味着当使用字节范围请求时,弱 ETag 会阻止缓存。
// 但强标记意味着范围内的请求仍然可以被缓存。
Weak bool
}
默认配置
var ConfigDefault = Config{
Next: nil,
Weak: false,
}
本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。