VUE3.0 をすぐに始める方法:
今日、 Node
Node/http
のsetHeaderとwriteHead が非常に似ていることがわかりました。詳しく説明します。
パラメータ
response.setHeader(name, value)コピー コード
http.ServerResponse
応答オブジェクトを返し、
応答ヘッダーに単一の属性を設定します。
プロパティ
を
無効
TypeError
されます。'text/html')
応答。setHeader('Set-Cookie', ['type=ninja', ' language=javascript']) は
属性を繰り返し設定します
// content-type = text/html1 を返します response.setHeader('Content-Type', 'text/html') response.setHeader('Content-Type', 'text/html1')
パラメータ
response.writeHead(statusCode, [statusMessage], [headers])
statusCode http ステータス コード
statusMessage ステータス メッセージ (オプション)
ヘッダー属性オブジェクトまたは配列 (オプション)
return http.ServerResponse
応答オブジェクトを返す
関数は
setHeader
は 1 つだけ設定でき
、
無効なプロパティ フィールド名または値を設定する
前に呼び出す必要があることresponse.end()
注意してください
。たとえば、
writeHead は ServerResponse オブジェクトを返すため、連鎖呼び出しを行うことができます
TypeError
const body = 'hello world'; 応答 .writeHead(200, { 'Content-Length': Buffer.byteLength(body), 'コンテンツタイプ': 'テキスト/プレーン' }) .end(body);
ここでの Content-Length は文字数ではなくバイト数です。 Buffer.byteLength() はテキストの長さを決定するために使用されます。
Nodejs は、Content-Length が送信されたテキストの長さと一致しているかどうかをチェックしません。
// return content-type = text/plain const サーバー = 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 は
setHeader
writeHead
setHeader
優先度が高く、 writeHead は 1 回しか呼び出すことができないため、呼び出すときは、まずどのヘッダーが頻繁に変更されないかを考慮してからwriteHead
ヘッダーを設定するためにsetHeader
が呼び出された場合は writeHead を
それをwriteHead
マージに渡します。
このメソッドが呼び出され、 response.setHeader()
が呼び出されなかった場合)、指定されたヘッダー値はネットワーク チャネルに直接書き込まれ、内部的にキャッシュされません。ヘッダーのresponse.getHeader()
) は期待した結果を生成しません。 ヘッダーを段階的に設定する必要があり、将来的に取得および変更される可能性がある場合は、代わりにresponse.setHeader()
使用してください。
setHeader はヘッダーを 1 つずつ設定することしかできませんが、writeHead は
一度に複数の setHeader を設定でき、繰り返し呼び出すことができます。setHeader
と writeHeader は同時に setHeader にマージされます。
は
ステータス コードとステータス情報を設定できますが、setHeader は設定できません。ヘッダーのみを設定できます。