Koa 面试题 目录

Koa 中如何设置响应头?

推荐答案

在 Koa 中,可以通过 ctx.set 方法来设置响应头。ctx.set 方法接受两个参数:第一个参数是响应头的字段名,第二个参数是字段值。如果需要设置多个响应头,可以传递一个对象作为参数。

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

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

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

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

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

本题详细解读

1. ctx.set 方法的使用

ctx.set 是 Koa 提供的一个便捷方法,用于设置 HTTP 响应头。它可以接受两种形式的参数:

  • 单个键值对:第一个参数是响应头的字段名,第二个参数是字段值。

  • 对象形式:传递一个对象,对象的键值对分别对应响应头的字段名和字段值。

2. 响应头的作用

响应头是 HTTP 响应的一部分,用于向客户端传递额外的信息。常见的响应头包括:

  • Content-Type:指定响应体的 MIME 类型,例如 application/json 表示 JSON 数据。
  • Cache-Control:控制缓存行为,例如 no-cache 表示不缓存响应。
  • X-Powered-By:通常用于标识服务器使用的技术栈。

3. 其他设置响应头的方式

除了 ctx.set,还可以直接操作 ctx.response 对象的 headers 属性来设置响应头:

不过,推荐使用 ctx.set,因为它更简洁且易于理解。

4. 注意事项

  • 设置响应头时,字段名不区分大小写,但通常使用首字母大写的格式。
  • 如果多次设置同一个响应头字段,后面的设置会覆盖前面的设置。
  • 某些响应头字段(如 Content-Length)会自动由 Koa 计算并设置,通常不需要手动设置。
纠错
反馈