Koa 面试题 目录

Koa 的响应 (Response) 对象有哪些常用属性和方法?

推荐答案

Koa 的响应 (Response) 对象常用的属性和方法包括:

属性

  • response.status: 设置或获取 HTTP 响应状态码。
  • response.message: 设置或获取 HTTP 响应状态消息。
  • response.body: 设置或获取响应体内容。
  • response.headers: 设置或获取响应头。
  • response.type: 设置或获取响应内容的 MIME 类型。
  • response.length: 设置或获取响应体的长度。
  • response.lastModified: 设置或获取响应体的最后修改时间。
  • response.etag: 设置或获取响应体的 ETag。

方法

  • response.set(field, value): 设置响应头字段。
  • response.append(field, value): 追加响应头字段。
  • response.remove(field): 移除响应头字段。
  • response.redirect(url, [alt]): 重定向到指定的 URL。
  • response.attachment([filename]): 设置响应头为附件下载。
  • response.is(types...): 检查响应类型是否匹配给定的类型。
  • response.get(field): 获取响应头字段的值。

本题详细解读

属性详解

  • response.status: 用于设置或获取 HTTP 响应的状态码。例如,response.status = 200 表示请求成功。
  • response.message: 用于设置或获取 HTTP 响应的状态消息。例如,response.message = 'OK'
  • response.body: 用于设置或获取响应体的内容。可以是字符串、Buffer、对象、流等。
  • response.headers: 用于设置或获取响应头。可以通过 response.headers['Content-Type'] = 'application/json' 来设置响应头。
  • response.type: 用于设置或获取响应内容的 MIME 类型。例如,response.type = 'text/html'
  • response.length: 用于设置或获取响应体的长度。例如,response.length = 1024
  • response.lastModified: 用于设置或获取响应体的最后修改时间。例如,response.lastModified = new Date()
  • response.etag: 用于设置或获取响应体的 ETag。例如,response.etag = '12345'

方法详解

  • response.set(field, value): 用于设置响应头字段。例如,response.set('Content-Type', 'application/json')
  • response.append(field, value): 用于追加响应头字段。例如,response.append('Set-Cookie', 'foo=bar')
  • response.remove(field): 用于移除响应头字段。例如,response.remove('Content-Type')
  • response.redirect(url, [alt]): 用于重定向到指定的 URL。例如,response.redirect('/new-location')
  • response.attachment([filename]): 用于设置响应头为附件下载。例如,response.attachment('file.txt')
  • response.is(types...): 用于检查响应类型是否匹配给定的类型。例如,response.is('json') 返回 true 如果响应类型是 JSON。
  • response.get(field): 用于获取响应头字段的值。例如,response.get('Content-Type') 返回 application/json
纠错
反馈