オブジェクト組み込みオブジェクト

オブジェクトHTTPCookie

HttpCookie は、HTTP プロトコルによってカプセル化された Cookie オブジェクトです。Cookie を取得および設定するためのさまざまな属性を提供します。また、複数の Cookie の編成と処理もサポートします。http.Requestそしてhttp.Response両方のオブジェクトでサポートされる重要なプロパティ

サーバー側では、次のように渡すことができますHttpRequest.cookiesHTTP リクエスト内のすべての Cookie を取得します。ここでの各 Cookie は HttpCookie オブジェクトであり、Cookie 関連の情報はそのプロパティまたはメソッドを通じて取得または設定できます。たとえば、次のコードを使用して、クライアントから送信された Cookie から対応する属性を読み取ることができます。

1 2 3 4 5 6 7
const http = require('http'); const server = new http.Server(8080, function(request) { const cookies = request.cookies; const name = cookies.get('name'); request.response.write(`Hello ${name}!`); }); server.start();

ここで使用するのはHttpRequest.cookiesプロパティはリクエスト内のすべての Cookie を取得します。次に、cookie.get メソッドを使用して cookie の名前を渡し、cookie の値を取得します。

クライアントに Cookie を送信するには、HttpCookie オブジェクトを通じて新しい Cookie を作成し、それを HttpReponse.cookies コレクションに追加します。以下に例を示します。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
const http = require('http'); const server = new http.Server(8080, function(request) { const cookies = request.cookies; let name = cookies.get('name'); if (name) { request.response.write(`Hello ${name} again!`); } else { name = 'User'; request.response.cookies.add(new http.Cookie('name', name, { expires: new Date(Date.now() + 900000) })); request.response.write(`Welcome ${name}!`); } }); server.start();

上の例では、まず HttpServletRequest.cookies を取得し、そこから name という名前の Cookie の値を読み取ろうとします。 Cookie が存在する場合は、リクエストに対する応答を送信し、Cookie の値を使用してクライアントに挨拶します。 Cookie が存在しない場合は、新しい Cookie オブジェクトを作成し、それを HttpServletResponse.cookies コレクションに追加します。名前と値を持つ最初のパラメーターは、Cookie 名と対応する値を指定するために使用されます。同時に、expires 属性で Cookie の有効期限を指定しますが、ここでは現在時刻に 15 分を加えた時刻を有効期限として指定します。最後に、戻り値の内容にウェルカム メッセージを追加します。

相続関係

コンストラクタ

HttpCookie

HttpCookie コンストラクター、新しい HttpCookie オブジェクトを作成します

1
new HttpCookie(Object opts = {});

呼び出しパラメータ:

  • opts: オブジェクト。作成された Cookie のプロパティを指定します。

opts で設定できるオプションは次のとおりです。

1 2 3 4 5 6 7 8 9
{ "name": "", // specify the name of the cookie "value": "", // specify the value of the cookie "expires": Date, // specify the expires time of the cookie "domain": "", // specify the domain of the cookie "path": "", // specify the path of the cookie "secure": false, // specify the secure of the cookie "httpOnly": false, // specify the httpOnly of the cookie }

HttpCookie コンストラクター、新しい HttpCookie オブジェクトを作成します

1 2 3
new HttpCookie(String name, String value, Object opts = {});

呼び出しパラメータ:

  • name: 文字列、作成された Cookie の名前を指定します。
  • value: 文字列、作成された Cookie の値を指定します
  • opts: オブジェクト、作成された Cookie の他の属性を指定します

opts で設定できるオプションは次のとおりです。

1 2 3 4 5 6 7
{ "expires": Date, // specify the expires time of the cookie "domain": "", // specify the domain of the cookie "path": "", // specify the path of the cookie "secure": false, // specify the secure of the cookie "httpOnly": false, // specify the httpOnly of the cookie }

メンバーのプロパティ

name

文字列、クエリ、および設定された Cookie 名

1
String HttpCookie.name;

value

文字列、クエリ、Cookie 値の設定

1
String HttpCookie.value;

domain

Cookie のクエリと設定のための文字列、ドメイン名の範囲

1
String HttpCookie.domain;

path

文字列、クエリ、Cookie パス範囲の設定

1
String HttpCookie.path;

expires

日付、クエリ、Cookie の有効期限の設定

1
Date HttpCookie.expires;

httpOnly

ブール値、Cookie のみが許可されるかどうかをクエリおよび設定しますhttpリクエスト、デフォルトは false

1
Boolean HttpCookie.httpOnly;

secure

ブール値、Cookie が https のみを介して渡されるかどうかをクエリおよび設定します。デフォルトは false

1
Boolean HttpCookie.secure;

メンバー関数

parse

指定された文字列を解析し、Cookie オブジェクトを設定します。

1
HttpCookie.parse(String header);

呼び出しパラメータ:

  • header: 文字列。解析する必要があるヘッダー文字列を指定します。

match

与えられたものをテストするurl現在の設定と一致していますか?

1
Boolean HttpCookie.match(String url);

呼び出しパラメータ:

  • url: テストを指定する文字列url

返される結果:

  • Boolean、一致が成功した場合は true を返します

toString

オブジェクトの文字列表現を返します。通常、「[Native Object]」が返されます。オブジェクトは、独自の特性に従って再実装できます。

1
String HttpCookie.toString();

返される結果:

  • String、オブジェクトの文字列表現を返します。

toJSON

オブジェクトの JSON 形式表現を返します。通常は、オブジェクトによって定義された読み取り可能なプロパティのコレクションを返します。

1
Value HttpCookie.toJSON(String key = "");

呼び出しパラメータ:

  • key: 文字列、使用されません

返される結果:

  • Value、シリアル化可能な JSON を含む値を返します