response.writeHead(statusCode[, statusMessage][, headers])
版本 | 变化 |
---|---|
v11.10.0、v10.17.0 | 从 |
v8.4.0 | 添加于:v8.4.0 |
参数
statusCode
<number>statusMessage
<string>headers
<Object>- 返回: <http2.Http2ServerResponse>
向请求发送响应标头。状态代码是 3 位 HTTP 状态代码,例如 404
。最后一个参数 headers
是响应标头。
返回对 Http2ServerResponse
的引用,以便可以链接调用。
为了与 HTTP/1 兼容,可以将人类可读的 statusMessage
作为第二个参数传递。但是,由于 statusMessage
在 HTTP/2 中没有任何意义,因此该参数将无效并且会发出进程警告。
const body = 'hello world';
response.writeHead(200, {
'Content-Length': Buffer.byteLength(body),
'Content-Type': 'text/plain; charset=utf-8',
});
Content-Length
以字节而不是字符给出。 Buffer.byteLength()
API 可用于确定给定编码中的字节数。在出站消息上,Node.js 不会检查Content-Length 和正在传输的正文的长度是否相等。但是,在接收消息时,当 Content-Length
与实际负载大小不匹配时,Node.js 会自动拒绝消息。
在调用
之前,该方法最多可以在一条消息上调用一次。response.end()
如果在调用此函数之前调用了
或response.write()
,则会计算隐式/可变标头并调用此函数。response.end()
当标头已设置为
时,它们将与传递给 response.setHeader()
的任何标头合并,并且传递给 response.writeHead()
的标头优先。response.writeHead()
// Returns content-type = text/plain
const server = http2.createServer((req, res) => {
res.setHeader('Content-Type', 'text/html; charset=utf-8');
res.setHeader('X-Foo', 'bar');
res.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8' });
res.end('ok');
});
尝试设置包含无效字符的标头字段名称或值将导致引发
。TypeError
相关用法
- Node.js http.ServerResponse response.writeHead(statusCode[, statusMessage][, headers])用法及代码示例
- Node.js response.writeHead()用法及代码示例
- Node.js response.writeContinue()用法及代码示例
- Node.js response.write()用法及代码示例
- Node.js http.ServerResponse response.statusCode用法及代码示例
- Node.js http2.Http2ServerResponse response.removeHeader(name)用法及代码示例
- Node.js response.removeHeader()用法及代码示例
- Node.js http.ServerResponse response.getHeaderNames()用法及代码示例
- Node.js http2.Http2ServerResponse response.hasHeader(name)用法及代码示例
- Node.js http.ServerResponse response.removeHeader(name)用法及代码示例
- Node.js http.ServerResponse response.hasHeader(name)用法及代码示例
- Node.js response.setHeader()用法及代码示例
- Node.js http.ServerResponse response.getHeader(name)用法及代码示例
- Node.js http.ServerResponse response.getHeaders()用法及代码示例
- Node.js http2.Http2ServerResponse response.setHeader(name, value)用法及代码示例
- Node.js response.hasHeader()用法及代码示例
- Node.js response.getHeaders()用法及代码示例
- Node.js http2.Http2ServerResponse response.getHeaders()用法及代码示例
- Node.js http.ServerResponse response.socket用法及代码示例
- Node.js response.addTrailers()用法及代码示例
- Node.js http.ServerResponse response.statusMessage用法及代码示例
- Node.js http2.Http2ServerResponse response.getHeader(name)用法及代码示例
- Node.js response.getHeaderNames()用法及代码示例
- Node.js http.ServerResponse response.setHeader(name, value)用法及代码示例
- Node.js http.ServerResponse response.addTrailers(headers)用法及代码示例
注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 response.writeHead(statusCode[, statusMessage][, headers])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。