前端/移动开发面试题更新 2026-08-05

请说明在 Koa 框架中实现请求重定向的常见方式,并简述其使用场景。

前端/移动开发风险判断技术原理方案权衡KoaNode.js

考察说明

考查对 Koa 框架中重定向 API 的掌握程度及实际应用理解。

回答思路

  1. 【回答框架 1】Koa 中实现请求重定向主要通过上下文对象 ctx 的 redirect 方法。该方法接收一个目标 URL 作为参数,并可选地设置状态码,默认状态码为 302。调用 ctx.redirect('/path') 即可让客户端跳转到指定路径。
  2. 【回答框架 2】使用场景包括:用户登录后跳转到原页面、表单提交后跳转避免重复提交、以及将旧路径重定向到新路径以保持链接有效。
  3. 【回答框架 3】重定向也可以手动设置状态码和 Location 头实现,例如 ctx.status = 301 并设置 ctx.set('Location', '/new-path'),这适用于需要永久重定向或自定义响应头的情况。
  4. 【回答框架 4】在异步中间件中,redirect 方法可以在任何需要的地方调用,但需要注意在响应发送前执行,否则会抛出错误。
  5. 【关键点 1】ctx.redirect(url) 默认返回 302 临时重定向。
  6. 【关键点 2】可通过 ctx.status 自定义状态码,如 301 永久重定向。
  7. 【关键点 3】重定向必须在响应头发送前调用,否则报错。
  8. 【关键点 4】手动设置 Location 头也是一种替代方案。
  9. 【易错点 1】重定向目标如果包含中文或特殊字符,需要先进行 URL 编码,否则可能导致跳转失败。
  10. 【易错点 2】在重定向后继续执行后续中间件不会影响已发送的响应,但可能造成逻辑混乱。