Set-Cookie Builder
Cookie / Set-Cookie の属性と整合性をブラウザ内で確認します。入力はサーバーへ送信しません。運用事故の一次切り分けに使えます。
状態
ブラウザ内で処理します。入力はサーバーへ送信しません。まずはここで一次切り分けしてください。
使い方
Cookie名/値と属性を入力して「生成」。Set-Cookie文字列をコピーできます。
注意(このツール)
- SameSite=None の場合は Secure を推奨します。
このページについて
何をするツール?
Cookie名・値と各属性を入力して、Set-Cookie ヘッダー文字列を生成します。
SameSiteやSecureなどの条件を事故なく組み立てたいときに便利です。
Set-Cookieの基本
- Set-Cookie はレスポンスヘッダーで、ブラウザに保存を指示します。
- Domain/Path で送信範囲、Expires/Max-Age で期限を指定します。
- SameSite=None を使う場合は Secure が必要になることが多いです。
使いどころ
- ログインCookieの条件を整理したい
- API/SPAでSameSite設定を調整したい
- Domain/Path/期限の組み合わせを検討したい
主な属性
- Domain / Path:送信範囲
- Expires / Max-Age:期限(どちらか一方でも可)
- Secure / HttpOnly:セキュリティ属性
- SameSite:クロスサイト送信制御
構文(書き方)
Set-Cookie は「name=value; Attr1; Attr2=...」のようにセミコロン区切りで属性を並べます。name/value は必須で、属性は必要に応じて追加します。
- Expires はUTC文字列(例: Wed, 21 Oct 2015 07:28:00 GMT)
- Max-Age は秒数(整数)
- Secure/HttpOnly はフラグ(値なし)
SameSiteの考え方(最短)
SameSite は「クロスサイトでCookieを送るか」を制御します。ログインや埋め込み、外部決済などで問題が起きやすいポイントです。
- Lax:多くの一般用途の標準的な選択肢
- Strict:より厳格(外部からの遷移で送られないことがある)
- None:クロスサイト送信を許可(多くの環境でSecure必須)
Expires と Max-Age
Expires は絶対日時、Max-Age は現在からの秒数です。サーバー時刻のズレやタイムゾーンを気にせずに済むため、Max-Age を採用するケースも多いです。
- 両方書く構成もあります(互換性や方針次第)。
- 削除したい場合は Max-Age=0 / Expires を過去にする
セキュリティ観点(推奨の型)
セッションCookieなど機微なCookieは、Secure/HttpOnly を基本にし、必要に応じてSameSiteを調整します。
- HTTPS前提なら Secure を付ける
- JSから不要なら HttpOnly を付ける
- クロスサイト用途が必要なときだけ SameSite=None を検討
運用フロー(おすすめ)
- 目的を決める(セッション/設定/トラッキング等)
- 属性を最小にして生成 → 必要に応じて追加
- Set-Cookie を Cookie Inspect で検証
- 送信側の確認は Request Headers Parser で行う
よくある落とし穴
- SameSite=None に Secure を付け忘れる
- Domain/Path が想定と合わず送信されない
- Expires/Max-Age の指定ミスで即失効
プライバシー/計測観点
Cookieは認証だけでなく計測にも使われます。用途に応じて有効期限やSameSiteを設計し、不要な情報を入れないのが基本です。
このツールでできること
- Set-Cookie の組み立て
- 主要属性の一括指定
- コピーしてそのまま利用
注意(運用)
- ブラウザ実装差や既定値変更で挙動が変わる場合があります。
- 同名Cookieの重複やPath/Domain差分は運用事故の原因になります。
参照仕様
- RFC 6265(HTTP Cookies)
- MDN: Set-Cookie
FAQ
Expires と Max-Age はどちらを使う?
どちらでも構いませんが、Max-Age の方が扱いやすい場合があります。
SameSite=None の条件は?
多くのブラウザで Secure が必須です。
Partitioned は何?
環境によっては分割Cookie(partitioned cookies)のための属性です。用途が明確な場合のみ付けるのがおすすめです。
参考リンク
次に見る(診断順)
site_map ルールに基づいて、次に確認すべきページを表示しています。
- 同名Cookie競合で不安定な時の診断手順 — 同名CookieのPath/Domain差分・上書き順・送信衝突を整理して不安定挙動を解消する
- Content-Type Inspect — Content-Type を解析してMIME/charsetを確認
- Request Headers Parser — リクエストヘッダーを構造化解析
- Response Headers Parser — レスポンスヘッダーを構造化解析
- Request/Response Diff — Request/Response ヘッダー差分を比較