So löschen Sie Cookies in nativem Node.js

PHPz
Freigeben: 2023-04-05 10:45:51
Original
672 Leute haben es durchsucht

Bei der Entwicklung von Webanwendungen mit Node.js sind Cookies die häufigste Methode, um Benutzerinformationen beizubehalten. Manchmal müssen wir jedoch die Cookies des Benutzers in der Anwendung löschen. In diesem Artikel stellen wir vor, wie man Cookies nativ in Node.js löscht.

Um Cookies zu löschen, müssen Sie zunächst verstehen, wie Cookies gesetzt werden. Im Allgemeinen setzen wir das Cookie auf eine Liste von Attributen und geben es dann als Header der Antwort an den Client zurück. Hier ist zum Beispiel ein Codeausschnitt, der ein Cookie setzt:

const http = require('http');

http.createServer((req, res) => {
  // 设置cookie
  res.setHeader('Set-Cookie', ['userId=12345']);
  // 发送响应
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(3000);
Nach dem Login kopieren

Dieser Code verwendet die Methode res.setHeader, um das Cookie zu setzen, und setzt das Attribut userId auf 12345 Code>. In diesem Fall wird jedes Mal, wenn der Client diese URL anfordert, ein Attribut namens Cookie in den Anforderungsheader mit dem Wert userId=12345 eingefügt. res.setHeader方法设置cookie,将userId属性设置为12345。在这种情况下,每次客户端请求这个URL时,都会在请求头中包含名为Cookie的属性,值为userId=12345

要清除cookie,我们需要在响应头中设置一个名为Set-Cookie的属性,并将其值设置为userId加上一个空字符串,如下所示:

const http = require('http');

http.createServer((req, res) => {
  // 清除cookie
  res.setHeader('Set-Cookie', ['userId=; Max-Age=0']);
  // 发送响应
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(3000);
Nach dem Login kopieren

这段代码中,我们将Max-Age属性设置为0,告诉浏览器立即删除cookie。当请求到达服务器时,服务器将收到一个空的cookie,因此可以清除用户保存的信息。

我们还可以使用expires属性将cookie的有效期设置为过去的时间,以便立即清除cookie。例如:

const http = require('http');

http.createServer((req, res) => {
  // 清除cookie
  res.setHeader('Set-Cookie', ['userId=; expires=Thu, 01 Jan 1970 00:00:00 GMT']);
  // 发送响应
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(3000);
Nach dem Login kopieren

这段代码将过期时间设置为1970年1月1日,这意味着cookie已经过期。当请求到达服务器时,服务器将收到一个过期的cookie,因此可以将其删除。

需要注意的是,在原生Node.js中设置和清除cookie很容易,但在实际应用中,我们通常使用一些Node.js框架和第三方包来处理cookie相关的操作。例如,Express框架中有一个称为cookie-parser的中间件,可用于解析和设置cookie。这种方式会更加易于操作,且代码更加简洁明了。

综上所述,通过设置Max-Ageexpires

Um Cookies zu löschen, müssen wir ein Attribut namens Set-Cookie im Antwortheader festlegen und seinen Wert auf userId plus eine leere Zeichenfolge setzen, wie unten gezeigt: 🎜 rrreee🎜In diesem Code setzen wir das Attribut Max-Age auf 0, um den Browser anzuweisen, das Cookie sofort zu löschen. Wenn die Anfrage den Server erreicht, erhält der Server ein leeres Cookie und kann daher die gespeicherten Informationen des Benutzers löschen. 🎜🎜Wir können das Attribut expires auch verwenden, um das Ablaufdatum des Cookies auf einen Zeitpunkt in der Vergangenheit festzulegen, sodass das Cookie sofort gelöscht werden kann. Beispiel: 🎜rrreee🎜Dieser Code setzt das Ablaufdatum auf den 1. Januar 1970, was bedeutet, dass das Cookie abgelaufen ist. Wenn die Anfrage den Server erreicht, erhält der Server ein abgelaufenes Cookie, sodass es gelöscht werden kann. 🎜🎜Es ist zu beachten, dass es in nativem Node.js einfach ist, Cookies zu setzen und zu löschen. In tatsächlichen Anwendungen verwenden wir jedoch normalerweise einige Node.js-Frameworks und Pakete von Drittanbietern, um Cookie-bezogene Vorgänge abzuwickeln. Das Express-Framework verfügt beispielsweise über eine Middleware namens cookie-parser, die zum Parsen und Setzen von Cookies verwendet werden kann. Diese Methode wird einfacher zu bedienen sein und der Code wird prägnanter und klarer sein. 🎜🎜Zusammenfassend lässt sich sagen, dass die Cookies des Benutzers gelöscht werden können, indem die Attribute Max-Age und expires gesetzt werden. Es ist einfach, Cookies mit nativem Node.js zu löschen, aber in der Praxis ist es oft besser, Node.js-Frameworks und Pakete von Drittanbietern zu verwenden, um Cookie-bezogene Vorgänge abzuwickeln. 🎜

Das obige ist der detaillierte Inhalt vonSo löschen Sie Cookies in nativem Node.js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!