本系列文章的应用示例已经发布在GitHub上:koa-docs-Zh-CN。您可以通过Fork帮助改进或Star以关注更新。欢迎来到星空。响应(Response)KoaResponse对象是在node的vanillaresponse对象之上的抽象,为HTTP服务器开发提供了很多有用的功能。APIresponse.header响应头对象。response.headers响应头对象。别名是response.header。response.socket请求套接字。response.status获取响应状态。默认情况下,response.status设置为404而不是像节点的res.statusCode默认设置的200。response.status=通过数字代码设置响应状态:100"继续"101"切换协议"102"处理"200"确定"201"创建"202"接受"203"非权威信息"204"无内容"205"重置内容"206"部分内容"207"多状态"208"已举报"226"我用过"300"多选"301"永久移动"302"找到"303"查看其他"304"未修改"305"使用代理"307"临时重定向"308"永久重定向"400"错误请求"401"未经授权"402"需要付费"403"禁止"404"未找到"405"方法不允许"406"不可接受"407"代理需要身份验证"408"请求超时"409"冲突"410"消失"??411"所需长度"412"前提条件失败"413"负载太大"414"uri太长"415"不支持的媒体类型"416"范围不满足"417“期望失败”418“我是茶壶”422“不可处理的实体”423“锁定”424“失败的依赖”426“需要升级”428“需要前置条件”429“请求太多”431“请求头er字段太大"500"内部服务器错误"501"未实现"502"坏网关"503"服务不可用"504"网关超时"505"不支持http版本"506"变体也协商"507"存储空间不足"508"loopdetected"510"notextended"511"networkauthenticationrequired"__注意__:不要太担心记住这些字符串,如果你犯了错误,你可以参考这个列表来更正.response.message的状态随时获取响应消息。默认情况下,response.message与response.status.response.message=将响应的状态消息设置为给定值response.length=将响应的Content-Length设置为给定值。response.length以数字开头返回响应的Content-Length,或者派生自ctx.body,或者undefined.response.body获取响应body.response.body=将响应主体设置为以下之一:stringwritetoBufferwritetoStreampipeObject||ArrayJSON-stringifiednullresponsewithnocontent如果没有设置response.status,Koa会自动设置status为200或204。StringContent-Type默认为text/html或text/plain,默认字符集是utf-8。Content-Length字段也是如此。BufferContent-Type默认为application/octet-stream,Content-Length字段也是如此。StreamContent-Type默认为application/octet-stream。每当流被设置为响应体时,.onerror被用作一个侦听器,它会自动添加到错误事件中以捕获任何错误。此外,无论何时关闭请求(甚至过早关闭),流都将被销毁。如果你不想要这两个特性,就不要直接把stream做成body。例如,当在代理中将正文设置为HTTP流时,您可能不想这样做,因为它会中断底层连接。请参阅:https://github.com/koajs/koa/…了解更多信息。下面是一个不自动销毁流的流错误处理示例:.pipe(传递());});ObjectContent-Type默认为application/json。这包括普通对象{foo:'bar'}和数组['foo','bar']。response.get(field)以不区分大小写的方式获取响应头字段值字段。constetag=ctx.response.get('ETag');response.set(field,value)将响应头字段设置为值:ctx.set('Cache-Control','no-cache');response.append(field,value)追加值为val的附加头字段。ctx.append('链接','
