NodejssetHeader と writeHead の違いは何ですか?次の記事では setHeader と writeHead を比較し、その違いについて説明します。
今日、Node
を勉強していたら、Node/http## で
setHeader# を発見しました。 は writeHead と非常に似ています。どちらも応答ヘッダーを設定できます。詳しく説明します。
Parameter
response.setHeader(name, value)复制代码
応答オブジェクトを返す
Function
応答ヘッダーに単一の属性を設定します。注
Example が発生します。
reponse.setHeader('Content-Type', 'text/html')
reponse.setHeader('Set-Cookie', ['type=ninja', 'language=javascript'])
属性を繰り返し設定します
// 返回 content-type = text/html1 reponse.setHeader('Content-Type', 'text/html') reponse.setHeader('Content-Type', 'text/html1')
response.writeHead(statusCode, [statusMessage], [headers])
応答オブジェクトを返す
##Function
は setHeader
Note
と同じ効果があります。
# 複数の属性を設定できます。setHeader は 1 つのみ設定できます。 が発生します。 ## スローされる
writeHead は ServerResponse オブジェクトを返すため、チェーン呼び出しを行うことができますconst body = 'hello world';
response
.writeHead(200, {
'Content-Length': Buffer.byteLength(body),
'Content-Type': 'text/plain'
})
.end(body);
Nodejs は Content-Length が送信された本文の長さと一致するかどうかをチェックしません
setHeader と 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'); });
よりも優先度が高く、writeHead は 1 回しか呼び出すことができないため、呼び出すときは、まずどのヘッダーが頻繁に変更されないかを考慮してから、writeHead## を呼び出します。
#ヘッダーを設定するために
setHeader が呼び出された場合、そのヘッダーは
writeHead
このメソッドが呼び出された場合に渡されます。
response はまだ呼び出されていません (.setHeader())、指定されたヘッダー値はネットワーク チャネルに直接書き込まれ、内部的にはキャッシュされません。ヘッダーの
response.getHeader()
response.setHeader() を使用してください。
#概要
##setHeader はヘッダーを 1 つずつ設定することしかできませんが、writeHead は一度に複数のヘッダーを設定できます
setHeader と writeHead は同時に表示され、setHeader は writeHead にマージされ、writeHead の優先度が高くなります
writeHead はステータス コードとステータス情報を設定できます。setHeader は設定できません。ヘッダーのみを設定できます。
nodejs チュートリアル
!以上がNode の setHeader と writeHead を簡単に比較し、その違いについて説明します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。