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

在 Express 框架中,用于向客户端发送 HTTP 响应的 res 对象通常提供了哪些常用方法?请列举并简要说明它们各自的主要用途。

前端/移动开发编码实现技术原理ExpressNode.js

考察说明

考查对 Express 响应对象常用 API 的熟悉程度以及能否区分其不同用途。

回答思路

  1. 【回答框架 1】响应对象 res 是 Express 中负责构造和发送 HTTP 响应的核心对象,它封装了 Node.js 原生 http 模块的响应对象。常用的方法按功能可分为发送响应、设置状态码、设置响应头和重定向等几类。
  2. 【回答框架 2】发送响应的常用方法包括:res.send(body) 用于发送任意类型响应,自动设置 Content-Type 和 Content-Length;res.json(obj) 专门用于发送 JSON,等价于 res.send(JSON.stringify(obj)) 并设置 JSON 头;res.end([data]) 用于结束响应,可附带数据但不设置任何格式。
  3. 【回答框架 3】设置状态码的方法:res.status(code) 用于设置 HTTP 状态码,并返回 res 以支持链式调用,例如 res.status(201).json(...);res.sendStatus(code) 会同时设置状态码并发送其标准文本描述,如 res.sendStatus(404) 发送 404 和 'Not Found'。
  4. 【回答框架 4】设置响应头的方法:res.set(field, value) 或 res.set(obj) 用于设置响应头;res.type(type) 快捷设置 Content-Type;res.header 与 res.set 等价。另外 res.cookie(name, value) 和 res.clearCookie(name) 用于管理 Cookie。
  5. 【回答框架 5】其他常用方法:res.redirect([status], url) 执行重定向,默认 302;res.format(obj) 根据请求的 Accept 头选择不同格式的响应;res.attachment([filename]) 设置 Content-Disposition 为附件;res.download(path) 发送文件并提示下载;res.get(field) 可以获取已设置的响应头。
  6. 【关键点 1】res.send 和 res.json 是发送响应体的核心方法,前者自动处理类型,后者强制 JSON。
  7. 【关键点 2】res.status 链式调用可设置状态码并继续发送响应。
  8. 【关键点 3】res.redirect 实现重定向,默认状态码为 302。
  9. 【关键点 4】res.set 和 res.type 用于设置响应头,尤其 Content-Type。
  10. 【关键点 5】res.sendStatus 自动附带状态码的文本描述。
  11. 【易错点 1】res.send 会多次调用或混合使用 res.send 与 res.json 可能导致已发送头部错误。
  12. 【易错点 2】res.redirect 默认是 302,若需要永久重定向应显式指定 301。
  13. 【易错点 3】res.end 不会自动设置 Content-Type,适合简单结束响应,避免与 res.send 混用。