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