ホームページ  >  記事  >  ウェブフロントエンド  >  ネイティブ Node.js で Cookie をクリアする方法

ネイティブ Node.js で Cookie をクリアする方法

PHPz
PHPzオリジナル
2023-04-05 10:29:44675ブラウズ

Node.js を使用して Web アプリケーションを開発する場合、Cookie はユーザー情報を保持する最も一般的な方法です。ただし、場合によっては、アプリケーションでユーザーの Cookie をクリアする必要があります。この記事では、Node.js でネイティブに Cookie をクリアする方法を紹介します。

Cookie をクリアするには、まず Cookie がどのように設定されているかを理解する必要があります。一般的に、Cookie に属性のリストを設定し、それを応答ヘッダーとしてクライアントに返します。たとえば、次は Cookie を設定するコード スニペットです:

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);

このコードは、res.setHeader メソッドを使用して Cookie を設定し、userId 属性を設定します。 12345 まで。この場合、クライアントがこの URL をリクエストするたびに、Cookie という名前の属性が値 userId=12345 とともにリクエスト ヘッダーに含まれます。

Cookie をクリアするには、図に示すように、応答ヘッダーに Set-Cookie という名前の属性を設定し、その値を userId と null 文字列に設定する必要があります。以下:

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);

このコードでは、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);

このコードは、有効期限を 1970 年 1 月 1 日に設定します。これは、Cookie の有効期限が切れたことを意味します。リクエストがサーバーに到達すると、サーバーは期限切れの Cookie を受信するため、削除できます。

ネイティブ Node.js では Cookie の設定とクリアは簡単ですが、実際のアプリケーションでは通常、Cookie 関連の操作を処理するためにいくつかの Node.js フレームワークとサードパーティ パッケージを使用することに注意してください。たとえば、Express フレームワークには、Cookie の解析と設定に使用できる cookie-parser というミドルウェアがあります。この方法は操作が簡単で、コードはより簡潔で明確になります。

要約すると、Max-Age 属性と expires 属性を設定することでユーザーの Cookie をクリアできます。ネイティブ Node.js を使用して Cookie をクリアするのは簡単ですが、実際には、Cookie 関連の操作を処理するには Node.js フレームワークとサードパーティ パッケージを使用する方が良いことがよくあります。

以上がネイティブ Node.js で Cookie をクリアする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。