npm 包 @medley/etag 使用教程

阅读时长 3 分钟读完

介绍

@medley/etag 是一个用于生成 HTTP 标准中的 ETag 值的 npm 包。通过使用该包,前端开发者可以轻松地生成 ETag 值,进而实现更好的缓存策略。

本文将介绍如何使用该包以及其深度和学习意义,并提供示例代码供参考。

安装

要安装 @medley/etag 包,您可以运行以下命令:

用法

使用 @medley/etag 生成 ETag 值非常简单,您只需传入一个字符串或一个可读流即可。以下是使用示例:

-- -------------------- ---- -------
----- ---- - ------------------------
----- -- - --------------

-- ----- ---- -
----- ------ - ----------- --------

-- ----- ---- -
----- ---------- - -------------------------------------
----- -------- - -----------------

当您使用 @medley/etag 生成 ETag 值时,包会生成一个基于传入值的强校验器(strong validator)。如果您传入的是字符串,这个强校验器就是一个 md5 值;如果传入的是可读流,那么根据流的内容,生成的就是一个基于内容的强校验器。

深度和学习意义

在使用 @medley/etag 包时,请注意以下几点:

  1. 如果您只是想简单地生成 ETag 值,可以直接使用 @medley/etag

  2. 根据 HTTP 标准,ETag 值应该基于响应的整个实体内容,包括任何可能修改内容的元数据。因此,如果您的响应体由多个部分组合而成,请对每个部分都生成 ETag 值,并将结果连接在一起。

  3. 您还应该注意,ETag 值的性能消耗很大,这主要是因为它需要计算基于内容的摘要(content digest)。因此,您应该谨慎地使用 ETag 值,以避免阻塞 I/O 操作或消耗大量的 CPU 时间。

示例代码

以下是一个使用 @medley/etag 的实际示例,其中使用了多部分响应体:

-- -------------------- ---- -------
----- ---- - ------------------------
----- -- - --------------

-------- ---------------------- --------- -
  ----- ---------- - -------------------------------------
  ----- --------- - ---------- ----
  ----- --------- - ---------- ----
  ----- -------- - -----------------

  ----- ------------ - ----------------------------------------

  -- --------------------------------- --- ------------- -
    ----------------------- ---- -----------
    ---------------
  - ---- -
    ----------------------- -
      --------------- -------------
      ------- -------------
    ---
    -------------------- ----
    -------------------- ----
    --------------------------
  -
-

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6006734e890c4f72775837d7

纠错
反馈