
So starten Sie schnell mit VUE3.0:
Als ich heute Node stellte ich fest , dass setHeader und writeHead in Node/http sehr ähnlich sind. Lassen Sie uns ausführlich darüber sprechen.
Parameter
Response.setHeader(Name, Wert) Codename kopieren
http.ServerResponse gibt das Antwortobjekt zurückund
legt ein einzelnes Attribut für den Antwortheader fest.
Beachten Sie, dass
Das
TypeError ausgelöst wird. 'text/html')
Antwort. setHeader('Set-Cookie', ['type=ninja', 'sprache=javascript']) setzt wiederholt ein Attribut
// gibt content-type = text/html1 zurück
Response.setHeader('Content-Type', 'text/html')
Response.setHeader('Content-Type', 'text/html1') 
Parameter
Response.writeHead(statusCode, [statusMessage], [headers])
statusCode http-Statuscode
statusMessage-Statusmeldung (optional)
Header-Attributobjekt oder Array (optional)
http.ServerResponse Rückgabeantwortobjekt

Die Funktion
ist die gleiche wie die setHeader
Es kann nur eine festgelegt werden
und
der Name oder Wert des Eigenschaftsfelds
muss response.end()
sein
Zeichen
führen dazu, dass TypeError ausgelöst wird.
Da es sich bei writeHead um ein ServerResponse-Objekt handelt, können wir Kettenaufrufe durchführen.
const body = 'hello world';
Antwort
.writeHead(200, {
'Content-Length': Buffer.byteLength(body),
'Content-Type': 'text/plain'
})
.end(body); Content-Length wird hier in Bytes angegeben, nicht in Zeichen. Buffer.byteLength() wird verwendet, um die Länge des Textes zu bestimmen.
Nodejs prüft nicht, ob Content-Length mit der Länge des übertragenen Textes übereinstimmt.
// Return 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 hat eine höhere Priorität als setHeader und kann nur einmal aufgerufen werden. Überlegen Sie daher beim Aufrufen, welche Header sich nicht häufig ändern, und rufen Sie dann writeHead
um den setHeader festzulegen Übergeben Sie es an writeHead merge
Wenn diese Methode aufgerufen wird und response.setHeader() nicht aufgerufen wurde, wird der bereitgestellte Header-Wert direkt in den Netzwerkkanal geschrieben und nicht intern zwischengespeichert. response.getHeader() “ im Header führt nicht zu den erwarteten Ergebnissen. Wenn der Header inkrementell gefüllt und möglicherweise in der Zukunft abgerufen und geändert werden muss, verwenden Sie stattdessen response.setHeader() .
setHeader kann Header nur einzeln festlegen, writeHead kann viele
setHeader gleichzeitig festlegen und kann nur einmal aufgerufen werden.
setHeader und writeHead werden gleichzeitig zu writeHead zusammengeführt writeHead hat eine hohe Priorität.
writeHead kann Statuscodes und Statusinformationen festlegen. setHeader kann nicht festgelegt werden, nur der Header kann festgelegt werden