跳到主要内容
版本: v2.x

ETag

ETag 是 Fiber 的中间件,通过避免在内容未更改时网络服务器重新发送完整响应,使缓存更高效并节省带宽。

签名

func New(config ...Config) fiber.Handler

示例

导入 Fiber Web 框架中的中间件包

import (
"github.com/gofiber/fiber/v2"
"github.com/gofiber/fiber/v2/middleware/etag"
)

初始化 Fiber 应用后,可以使用以下方式

// Initialize default config
app.Use(etag.New())

// Get / receives Etag: "13-1831710635" in response header
app.Get("/", func(c *fiber.Ctx) error {
return c.SendString("Hello, World!")
})

// Or extend your config for customization
app.Use(etag.New(etag.Config{
Weak: true,
}))

// Get / receives Etag: "W/"13-1831710635" in response header
app.Get("/", func(c *fiber.Ctx) error {
return c.SendString("Hello, World!")
})

配置

属性类型描述默认值
WeakboolWeak 表示使用弱验证器。弱 ETag 易于生成,但在比较时不太有用。false
下一个func(*fiber.Ctx) boolNext 定义一个函数,当返回 true 时跳过此中间件。nil

默认配置

var ConfigDefault = Config{
Next: nil,
Weak: false,
}