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