tencent cloud

Tencent Cloud EdgeOne

Cookies

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-11-04 10:15:25
AI翻訳・品質チェック済み
Cookiesは一連のcookie操作インターフェースを提供します。
注意:
Cookiesオブジェクトはname + domain + pathを一意のキーとして、Cookieオブジェクトセットを管理します。

コンストラクタ

new Cookies(cookieStr?: string, isSetCookie?: boolean): Cookies;

パラメータ

パラメータ名
タイプ
必須
説明
cookieStr
string
いいえ
Cookie文字列またはSet-Cookie文字列。
isSetCookie
boolean
いいえ
パラメータcookieStrがSet-Cookie文字列であるかどうかを示します。デフォルトはfalseです。

方法

get

cookies.get(name?: string): null | Cookie | Array<Cookie>;
指定された名前のCookieオブジェクトを取得します。複数のnameが一致する場合、Cookieの配列を返します。

パラメータ

パラメータ名
タイプ
必須
説明
name
string
いいえ
Cookie 名。値の説明は以下のとおりです。
デフォルトのname
すべてのCookieオブジェクトを取得することを示します。
指定されたname
指定されたnameのCookieオブジェクトを取得することを示します。複数の一致が存在する場合、Cookie配列を返します。
Cookieオブジェクトの属性は以下の通りです。詳細はMDN公式ドキュメントSet-Cookieを参照してください。
属性名
タイプ
読み取り専用
説明
name
string
はい
Cookie の名前。
value
string
はい
Cookie の値。
domain
string
はい
Cookie の作用ドメイン。
path
string
はい
Cookie の作用パス。
expires
string
はい
Cookie の最長有効時間です。値は HTTP Date ヘッダー標準に準拠します。
max_age
string
はい
Cookie は max_age 秒経過後に失効します。単位は秒(s)です。
samesite
string
はい
Cookie のクロスサイトリクエストフォージェリ(CSRF)攻撃に対する保護を制御します。
httponly
boolean
はい
JavaScript による Cookie へのアクセスを禁止し、HTTP リクエストでのみ送信されます。
secure
boolean
はい
Cookie は HTTPS リクエストプロトコルでのみ送信されます。

set

cookies.set(name: string, value: string, options?: Cookie): boolean;
Cookieを上書き追加します。trueを返した場合は追加成功を示し、falseを返した場合は追加失敗を示します(cookiesの数量制限を超えた場合です。詳細はcookiesサイズ制限を参照してください)。
注意
name + domain + pathを一意のキーとして、Cookieを上書き追加します。

パラメータ

パラメータ名
タイプ
必須
説明
name
string
はい
Cookie の名前。
value
string
はい
Cookie の値。
options
いいえ
Cookie 属性の設定項目。

append

cookies.append(name: string, value: string, options?: Cookie): boolean;
Cookieを追加します。同じnameで複数のvalueがある場合に使用します。trueを返した場合は追加成功を示し、falseを返した場合は追加失敗を示します(valueが重複しているか、cookiesの数量制限を超えています。詳細はcookiesサイズ制限を参照してください)。
注意
name + domain + pathを一意のキーとしてCookieを追加します。

パラメータ

パラメータ名
タイプ
必須
説明
name
string
はい
Cookie の名前。
value
string
はい
Cookie の値。
options
いいえ
Cookie 属性の設定項目。

remove

cookies.remove(name: string, options?: Cookie): boolean;
Cookieを削除します。
注意
name + domain + pathを一意のキーとしてCookieを削除します。

パラメータ

パラメータ名
タイプ
必須
説明
name
string
はい
Cookie の名前。
options
いいえ
Cookie 属性の設定項目です。このうち、属性 domain と path は * をサポートし、すべてに一致することを示します。

利用制限

特殊文字の自動エスケープ

name値に文字 \\" ( ) , / : ; < = > ? @ [ ] \\\\ { }、0x00~0x1F、0x7F~0xFFが含まれる場合、自動的にエスケープされます。
value値に文字 , 、 ; \\" \\\\、0x00~0x1F、0x7F~0xFFが含まれる場合、自動的にエスケープされます。

Cookieサイズ制限

Cookie属性nameのサイズは64Bを超えません。
Cookie属性value、domain、path、expires、max_age、samesiteの合計サイズは1KBを超えません。
cookiesエスケープ後の全フィールドの合計長は4KBを超えません。
cookiesに含まれるCookieオブジェクトの総数は64個を超えません。

サンプルコード

function handleEvent(event) {
const request = event.request;

// Cookieリクエストヘッダーを解析します(不正なフラグメントは自動的に無視されます)
const cookies = new Cookies(request.headers.get('Cookie') || '');

// ログイン状態マークcookieを読み取ります。
// getはnull / 単一のCookie / Cookie配列(同名重複)を返す可能性があります。
const loginState = cookies.get('login_state');
const loggedIn = loginState !== null &&
!Array.isArray(loginState) &&
loginState.value === '1';

if (!loggedIn) {
// 未ログイン:ログインページにリダイレクトし、リターンアドレスを付与します。
const backUrl = encodeURIComponent(request.url);
return event.respondWith(Response.redirect(`https://www.example.com/login?back_url=${backUrl}`, 302));
}

// ログイン済み:オリジンへのアクセスを許可します。
return;
}

関連参考






ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック