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])。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。