Koa 面试题 目录

Koa 中如何获取请求头?

推荐答案

在 Koa 中,可以通过 ctx.request.headerctx.headers 来获取请求头。以下是示例代码:

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

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

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

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

本题详细解读

1. ctx.request.headerctx.headers 的区别

  • ctx.request.header 是 Koa 提供的请求对象 ctx.request 的一个属性,用于获取请求头信息。
  • ctx.headersctx.request.header 的别名,两者实际上是等价的,可以互换使用。

2. 请求头的结构

请求头是一个对象,包含了客户端发送的所有 HTTP 请求头信息。例如:

3. 使用场景

获取请求头在以下场景中非常有用:

  • 身份验证:通过 Authorization 头来验证用户身份。
  • 内容协商:通过 Accept 头来决定返回的内容类型。
  • 缓存控制:通过 If-Modified-SinceIf-None-Match 头来实现缓存控制。

4. 注意事项

  • 请求头中的键名通常是全小写的,例如 user-agent 而不是 User-Agent
  • 如果请求头中不存在某个字段,访问该字段时会返回 undefined

通过以上方式,你可以在 Koa 中轻松获取并处理请求头信息。

纠错
反馈