response.writeHead(statusCode[, statusMessage][, headers])
版本 | 变化 |
---|---|
v14.14.0 | 允许将标头作为数组传递。 |
v11.10.0、v10.17.0 | 从 |
v5.11.0、v4.4.5 | 如果 |
v0.1.30 | 添加于:v0.1.30 |
参数
statusCode
<number>statusMessage
<string>headers
<Object> | <Array>- 返回: <http.ServerResponse>
向请求发送响应标头。状态代码是 3 位 HTTP 状态代码,例如 404
。最后一个参数 headers
是响应标头。可以选择将人类可读的statusMessage
作为第二个参数。
headers
可能是 Array
,其中键和值在同一个列表中。它不是元组列表。因此,even-numbered 偏移量是关键值,而odd-numbered 偏移量是关联值。该数组的格式与 request.rawHeaders
相同。
返回对 ServerResponse
的引用,以便可以链接调用。
const body = 'hello world';
response
.writeHead(200, {
'Content-Length': Buffer.byteLength(body),
'Content-Type': 'text/plain'
})
.end(body);
此方法只能在消息上调用一次,并且必须在调用
之前调用。response.end()
如果在调用此函数之前调用了
或response.write()
,则会计算隐式/可变标头并调用此函数。response.end()
当标头已设置为
时,它们将与传递给 response.setHeader()
的任何标头合并,并且传递给 response.writeHead()
的标头优先。response.writeHead()
如果调用了这个方法并且没有调用
,它会直接将提供的header值写入网络通道而不进行内部缓存,并且header上的response.setHeader()
不会产生预期的结果。如果需要在未来可能检索和修改标题的渐进式填充,请改用response.getHeader()
。response.setHeader()
// Returns content-type = text/plain
const server = http.createServer((req, res) => {
res.setHeader('Content-Type', 'text/html');
res.setHeader('X-Foo', 'bar');
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('ok');
});
Content-Length
以字节为单位,而不是字符。使用
确定正文的长度(以字节为单位)。 Node.js 不检查Buffer.byteLength()
Content-Length
和已传输的正文长度是否相等。
尝试设置包含无效字符的标头字段名称或值将导致引发
。TypeError
相关用法
- Node.js http2.Http2ServerResponse 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])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。