response.writeHead


response.writeHead(statusCode[, statusMessage][, headers])

查看英文版 

發送一個響應頭給請求。 狀態碼是一個三位數的 HTTP 狀態碼,如 404。 最后一個參數 headers 是響應頭。 第二個參數 statusMessage 是可選的狀態描述。

例子:

const body = 'hello world';
response.writeHead(200, {
  'Content-Length': Buffer.byteLength(body),
  'Content-Type': 'text/plain' });

 

該方法在消息中只能被調用一次,且必須在 response.end() 被調用之前調用。

如果在調用該方法之前調用 response.write() 或 response.end(),則隱式的響應頭會被處理並調用該函數。

response.setHeader() 設置的響應頭會與 response.writeHead() 設置的響應頭合並,且 response.writeHead() 的優先。

// 返回 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 是以字節(而不是字符)為單位的。 上面的例子行得通是因為字符串 'hello world' 只包含單字節字符。 如果響應主體包含高級編碼的字符,則應使用 Buffer.byteLength()來確定在給定編碼中的字節數。 Node.js 不會檢查 Content-Length 與已發送的響應主體的長度是否相同。

如果響應頭字段的名稱或值包含無效字符,則拋出 TypeError 錯誤。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM