In der Webentwicklung sind Cookies eine gängige Sitzungsverwaltungsmethode, mit der Client-Authentifizierung, Präferenzen oder andere verwandte Informationen gespeichert werden können. In Node.js können Sie das integrierte http-Modul verwenden, um Cookie-Eigenschaften festzulegen oder zu lesen.
Cookie-Attribute festlegen:
Um Cookie-Attribute festzulegen, müssen Sie zuerst einen http-Server erstellen und die Methode res.setHeader() verwenden, um das Set-Cookie-Feld im Antwortheader festzulegen. Der Wert dieses Felds sollte eine Zeichenfolge sein, bei der es sich um zusätzliche Informationen handelt, die vom Server an den Client gesendet werden, um clientbezogene Informationen oder den Status zu speichern. Diese Zeichenfolge besteht im Allgemeinen aus Schlüssel-Wert-Paaren, wobei der Schlüssel den Namen des Cookies und der Wert den dem Schlüssel entsprechenden Wert darstellt.
Das Folgende ist ein einfaches Node.js-Serverbeispiel, das zeigt, wie Cookie-Attribute festgelegt werden:
const http = require('http'); const server = http.createServer((req, res) => { res.setHeader('Set-Cookie', ['name=John', 'age=30']); res.end('Set cookie successfully'); }); server.listen(3000, () => { console.log('Server listening on port 3000'); });
Im obigen Code verwenden wir die Methode res.setHeader(), um zwei Cookie-Attribute festzulegen, eines ist name=John und das Sonstiges Es ist Alter = 30. Über ein Array können mehrere Cookie-Eigenschaften festgelegt werden.
Cookie-Attribute lesen:
Um Cookie-Attribute zu lesen, müssen wir die entsprechenden Cookie-Informationen aus der Client-Anfrage erhalten. In Node.js können Sie das Attribut req.headers.cookie verwenden, um die Cookie-Informationen im Anforderungsheader abzurufen. Der Wert dieses Attributs sollte eine Zeichenfolge sein, bei der es sich um zusätzliche Informationen handelt, die vom Client an den Server gesendet werden, um clientbezogene Informationen oder den Status zu speichern. Diese Zeichenfolge besteht im Allgemeinen aus Schlüssel-Wert-Paaren, wobei der Schlüssel den Namen des Cookies und der Wert den dem Schlüssel entsprechenden Wert darstellt.
Das Folgende ist ein einfaches Node.js-Serverbeispiel, das zeigt, wie man Cookie-Attribute liest:
const http = require('http'); const server = http.createServer((req, res) => { const cookieHeader = req.headers.cookie; console.log('Cookie Header:', cookieHeader); res.end('Get cookie successfully'); }); server.listen(3000, () => { console.log('Server listening on port 3000'); });
Im obigen Code haben wir die Cookie-Informationen gedruckt, die der Client mithilfe des Attributs req.headers.cookie an den Server gesendet hat.
Optionen zum Setzen von Cookies:
Neben dem Festlegen des Namens und Werts des Cookies können Sie auch einige Optionen verwenden, um das Verhalten des Cookies zu steuern, wie z. B. Ablaufzeit, Pfad, Domäne, Sicherheitsstufe usw. Diese Optionen bestehen aus Attributen im Set-Cookie-Header, die jeweils durch Semikolons getrennt sind.
Im Folgenden sind einige häufig verwendete Cookie-Optionen und ihre Funktionen aufgeführt:
Das Folgende ist ein Node.js-Serverbeispiel, das zeigt, wie Cookie-Attribute mit Optionen festgelegt werden:
const http = require('http'); const cookieOptions = { maxAge: 24 * 60 * 60 * 1000, httpOnly: true, secure: true, sameSite: 'strict' }; const server = http.createServer((req, res) => { res.setHeader('Set-Cookie', ['name=John', 'age=30', `session=${Date.now()}`, `options=${JSON.stringify(cookieOptions)}`]); res.end('Set cookie with options successfully'); }); server.listen(3000, () => { console.log('Server listening on port 3000'); });
Im obigen Code legen wir ein Cookie-Attribut namens „Optionen“ mit dem Wert einer JSON-Zeichenfolge fest, die mehrere Optionen enthält. Dieses Cookie hat eine maximale Lebensdauer von 24 Stunden, kann nur in HTTP-Anfragen verwendet werden, kann nur unter dem HTTPS-Protokoll gesendet werden und muss der Same-Origin-Richtlinie (streng) folgen.
Zusammenfassung:
In Node.js ist das Festlegen und Lesen von Cookie-Eigenschaften sehr einfach. Verwenden Sie die setHeader()-Methode des http-Moduls, um die Set-Cookie-Header-Informationen festzulegen, und verwenden Sie das Attribut req.headers.cookie, um die Cookie-Informationen in der Clientanforderung abzurufen. Verwenden Sie Cookie-Optionen, um das Cookie-Verhalten weiter zu steuern, z. B. Lebenszyklus, Domänenname, Pfad, Sicherheitsstufe usw.
Das obige ist der detaillierte Inhalt vonnodejs legt Cookie-Attribute fest. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!