オブジェクトHTTPCookie
HttpCookie は、HTTP プロトコルによってカプセル化された Cookie オブジェクトです。Cookie を取得および設定するためのさまざまな属性を提供します。また、複数の Cookie の編成と処理もサポートします。http.Requestそしてhttp.Response両方のオブジェクトでサポートされる重要なプロパティ
サーバー側では、次のように渡すことができますHttpRequest.cookiesHTTP リクエスト内のすべての Cookie を取得します。ここでの各 Cookie は HttpCookie オブジェクトであり、Cookie 関連の情報はそのプロパティまたはメソッドを通じて取得または設定できます。たとえば、次のコードを使用して、クライアントから送信された Cookie から対応する属性を読み取ることができます。
1
2
3
4
5
6
7const 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
17const 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 オブジェクトを作成します
1new 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
3new 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 名
1String HttpCookie.name;
value
文字列、クエリ、Cookie 値の設定
1String HttpCookie.value;
domain
Cookie のクエリと設定のための文字列、ドメイン名の範囲
1String HttpCookie.domain;
path
文字列、クエリ、Cookie パス範囲の設定
1String HttpCookie.path;
expires
日付、クエリ、Cookie の有効期限の設定
1Date HttpCookie.expires;
httpOnly
ブール値、Cookie のみが許可されるかどうかをクエリおよび設定しますhttpリクエスト、デフォルトは false
1Boolean HttpCookie.httpOnly;
secure
ブール値、Cookie が https のみを介して渡されるかどうかをクエリおよび設定します。デフォルトは false
1Boolean HttpCookie.secure;
メンバー関数
parse
指定された文字列を解析し、Cookie オブジェクトを設定します。
1HttpCookie.parse(String header);
呼び出しパラメータ:
- header: 文字列。解析する必要があるヘッダー文字列を指定します。
match
与えられたものをテストするurl現在の設定と一致していますか?
1Boolean HttpCookie.match(String url);
呼び出しパラメータ:
- url: テストを指定する文字列url
返される結果:
- Boolean、一致が成功した場合は true を返します
toString
オブジェクトの文字列表現を返します。通常、「[Native Object]」が返されます。オブジェクトは、独自の特性に従って再実装できます。
1String HttpCookie.toString();
返される結果:
- String、オブジェクトの文字列表現を返します。
toJSON
オブジェクトの JSON 形式表現を返します。通常は、オブジェクトによって定義された読み取り可能なプロパティのコレクションを返します。
1Value HttpCookie.toJSON(String key = "");
呼び出しパラメータ:
- key: 文字列、使用されません
返される結果:
- Value、シリアル化可能な JSON を含む値を返します