PUBLIC
WEBクッキー6 MIN READ

TERM 008

Cookie

ブラウザがサイトへ送り返す、小さな状態

Cookieは、Webサイトがブラウザへ保存を依頼し、条件に合う次回以降のHTTPリクエストで自動送信される小さなデータです。セッション識別や設定保持に使われます。

01SET保存を指示
02STOREブラウザが保持
03SEND条件に合えば送信
OVERVIEW

ブラウザがサイトごとに保持して送信する小さなデータの全体像。

CONTENTSこの記事の目次

QUICK OVERVIEW

30秒でつかむ

01SCOPE

送信範囲

DomainとPathで、どのリクエストへ送るかを限定します。

02SECURE

通信の限定

Secure属性でHTTPS通信にだけ送信させます。

03HTTPONLY

スクリプトから隠す

HttpOnly属性でJavaScriptからの読み取りを防ぎます。

01 — DEFINITION

Cookieとは
何か

Cookieは、Webサイトがブラウザへ保存を依頼し、条件に合う次回以降のHTTPリクエストで自動送信される小さなデータです。セッション識別や設定保持に使われます。

02 — HOW IT WORKS

仕組みを
3段階で見る

細部へ入る前に、入力から結果までの役割を順番に捉えます。

INPUTPROCESSOUTPUT
01SET

保存を指示

サーバーが値と送信条件をレスポンスへ付ける。

02STORE

ブラウザが保持

期限、ドメイン、セキュリティ属性と一緒に保存する。

03SEND

条件に合えば送信

後続リクエストのCookieヘッダーへ自動で付ける。

PROCESS

Cookieを理解するときの、最小の処理単位です。

03 — ESSENTIALS

押さえるべき
3つの要点

名前だけでなく、この3点の関係まで理解すると実装へつなげやすくなります。

01SCOPE

送信範囲

DomainとPathで、どのリクエストへ送るかを限定します。

02SECURE

通信の限定

Secure属性でHTTPS通信にだけ送信させます。

03HTTPONLY

スクリプトから隠す

HttpOnly属性でJavaScriptからの読み取りを防ぎます。

04 — REAL WORLD EXAMPLE

ログイン状態を維持する

ログイン後、サーバーは推測困難なセッションIDをCookieとして返します。

SCENARIO / COOKIESTEP BY STEP
  1. 01

    セッションIDへSecureとHttpOnlyを付ける

  2. 02

    ブラウザが次回リクエストへ自動添付する

  3. 03

    サーバーがIDからログイン状態を照合する

RESULTパスワードを毎回送らず、複数ページで同じ認証状態を利用できます。

05 — WATCH OUT

理解するときの
注意点

便利な仕組みほど、守備範囲と失敗の前提を明確にします。

01

機密情報そのものを置かない

ブラウザに保持されるため、必要最小限の識別子だけを入れます。

02

CSRF対策を組み合わせる

自動送信される性質を悪用されないようSameSiteやトークンで保護します。

IN ONE SENTENCE

Cookieとは?

ブラウザがサイトごとに保持して送信する小さなデータ

KEEP EXPLORING

WEBSession掲載中WEBHTTP掲載中SECURITYAuthentication掲載中