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,
}

本文章首发在 LearnKu.com 网站上。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://learnku.com/docs/gofiber/2.x/eta...

译文地址:https://learnku.com/docs/gofiber/2.x/eta...

上一篇 下一篇
贡献者:1
讨论数量: 0
发起讨论 只看当前版本


暂无话题~