対象試験と出題頻度
Cookie(クッキー)は、ITパスポート・情報セキュリティマネジメント・基本情報技術者・応用情報技術者で出題されるテーマです。
「Cookieの定義を選べ」という直球の問題から、サードパーティCookieやSecure属性といったセキュリティ観点の問題まで幅広く登場し、HTTPの基本仕様として確実に押さえておく必要があります。
詳細をクリックして確認
ITパスポート
情報セキュリティマネジメント
基本情報技術者
応用情報技術者
★★★★☆
ランクA(重要)必ず覚えておくべき
用語の定義
情報処理試験を勉強していると、「Cookieって結局何?キャッシュと何が違うの?」と混乱しがちです。
Cookie(クッキー)とは、一言で言うと
「Webサーバの指示でブラウザにデータを保存させ、次回アクセス時にそのデータをサーバへ送り返す仕組み」
のことです。
イメージとしては、「常連客の顔を覚えられない店主が、お客さんに『会員カード』を渡して、次回来店時に提示してもらう」こと。
店主(Webサーバ)は来店するたびに客の顔を忘れてしまいますが、会員カード(Cookie)を見せてもらえば「前回も来てくれた方ですね」と判別できます。これがCookieの考え方です。
📊 Cookieの基本情報
| 項目 | 内容 |
|---|---|
| 正式名称 | HTTP Cookie |
| 保存場所 | クライアント側(Webブラウザ) |
| 主な用途 | セッション管理(ログイン状態の維持)、ユーザー設定の保持、アクセス解析 |
| 送受信方法 | HTTPヘッダー(Set-Cookie / Cookie) |
解説
HTTPは本来「ステートレス」なプロトコルです。リクエストとレスポンスのやり取りが終わるたびに、サーバは相手が誰だったかを忘れてしまいます。
しかし、ショッピングサイトのカートやログイン状態のように「前回の操作を引き継いでほしい」場面は日常的に存在します。この矛盾を解消するために生まれたのがCookieです。
▶ Cookieのやり取りの流れ(クリックで展開)
①ブラウザが初めてWebサーバにアクセスすると、サーバはHTTPレスポンスヘッダーの「Set-Cookie」フィールドに保存させたい情報(セッションIDなど)を含めて返します。
②ブラウザは受け取った情報を自身の記憶領域に保存します。
③次回以降、同じサーバにアクセスする際、ブラウザはHTTPリクエストヘッダーの「Cookie」フィールドに保存済みのデータを載せて送信します。
④サーバはリクエスト内のCookieを参照し、「この利用者はログイン済みだ」「カートに商品が入っている」と判断して、適切なレスポンスを返します。
▶ Cookieの主な属性(クリックで展開)
Cookieにはサーバ側から動作を細かく制御するための属性が存在します。ここだけは確実に押さえてください。
| 属性名 | 役割 |
|---|---|
| Secure | HTTPS通信時のみCookieを送信する。平文のHTTPでは送らないため盗聴を防止できる。 |
| HttpOnly | JavaScriptからの読み取りを禁止する。クロスサイトスクリプティング(XSS)によるCookie窃取を防ぐ。 |
| SameSite | 他サイトからのリクエスト時にCookieの送信を制限する。CSRF対策として機能する。 |
| Expires / Max-Age | Cookieの有効期限を指定する。未指定の場合はブラウザを閉じると消える(セッションCookie)。 |
| Domain / Path | Cookieを送信する対象のドメインやディレクトリを指定する。 |
▶ ファーストパーティCookieとサードパーティCookieの違い(クリックで展開)
ファーストパーティCookieは、現在訪問しているWebサイトのドメインから発行されるCookieです。ログイン状態の維持やカート管理など、そのサイト自体の機能に使われます。
サードパーティCookieは、訪問中のサイトとは別のドメイン(主に広告配信サーバ)から発行されるCookieです。複数サイトをまたいだ利用者の閲覧履歴を追跡(トラッキング)する目的で使われており、プライバシー保護の観点から主要ブラウザが段階的にブロックを進めています。
では、この用語が試験でどのように出題されるか見ていきましょう。
💡 Cookieの核心を3行で
・WebサーバがHTTPレスポンスヘッダー(Set-Cookie)でブラウザにデータを保存させ、次回リクエスト時にHTTPリクエストヘッダー(Cookie)で送り返す仕組み
・保存場所はサーバではなくクライアント(ブラウザ)側。有効期限はサーバが設定する
・Secure属性はHTTPS限定送信、HttpOnly属性はJavaScriptからの読み取り禁止と整理する
試験ではこう出る!
Cookieは、IP・SG・FE・APの全試験区分で繰り返し出題されている定番テーマです。
出題パターンは大きく3つに分かれます。
📊 過去問での出題実績(クリックして表示)
| 試験回 | 出題内容 | 問われたポイント |
|---|---|---|
| IP R6 問61 |
cookieを説明したものを選ぶ問題。 | ・Cookieの定義を正確に選べるか ・キャッシュ、バナー、トラックバックとの区別 |
| SG R5 科目A 問10 |
HTTPのcookieに関する記述で適切なものを選ぶ問題。 | ・CookieはHTTPヘッダーの一部として送信される ・「サーバに保存」「ブラウザが暗号化」はひっかけ |
| AP R7春 午前 問41 |
cookieにSecure属性を設定したときのブラウザの動作を選ぶ問題。 | ・Secure属性=HTTPS時のみ送信 ・HttpOnly属性やPath属性の動作がひっかけ |
| AP R4春 午前 問40 |
サードパーティcookieをブロックする設定の効果を選ぶ問題。 | ・サードパーティCookieのブロック=トラッキング防止 ・キャッシュやデジタル証明書との混同がひっかけ |
📝 IPA試験での出題パターン
パターン1:「Cookieの定義を選べ」
Cookieの説明文を4つの選択肢から選ぶ基本問題。IP・FEレベルで頻出。「WebサーバがWebブラウザにデータを保存させる仕組み」を選べば正解。キャッシュ(ページのローカル保存)との混同が狙われる。
パターン2:「Cookieの技術的な仕様を問う」
「HTTPヘッダーで送受信される」「保存場所はブラウザ側」「有効期限はサーバが設定する」といった仕様の正誤を判定させる形式。SG R5 科目A 問10がこの典型。
パターン3:「Cookie属性のセキュリティ効果を問う」
APレベルで増えている出題。Secure属性・HttpOnly属性・SameSite属性それぞれの効果を正確に区別できるかが問われる。各属性の名前と効果を1対1で対応づけておけば即答できる。
試験ではここまででOKです。Cookieの内部的なデータ構造やRFC仕様の詳細まで問われることはないので、深追いは不要です。
【確認テスト】理解度チェック
ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。
Q. HTTPのCookie(クッキー)に関する記述として、最も適切なものはどれでしょうか?
- A. Cookieに含まれる情報はWebサーバのデータベースに保存され、クライアント側には一切保存されない。
- B. Cookieに含まれる情報はHTTPヘッダーの一部として送受信され、Webブラウザ側に保存される。
- C. CookieはWebブラウザがアクセスしたWebページをファイルとしてローカルに一時保存する仕組みである。
正解と解説を見る
正解:B
解説:
CookieはWebサーバがHTTPレスポンスヘッダー(Set-Cookie)でブラウザに保存を指示し、次回以降のリクエスト時にHTTPリクエストヘッダー(Cookie)でサーバへ送り返される仕組みです。保存場所はクライアント(ブラウザ)側です。
選択肢Aは誤りです。Cookieの保存場所はサーバではなくブラウザです。セッション情報をサーバ側で管理する仕組みは存在しますが、Cookie自体はクライアントに保存されます。選択肢Cはキャッシュ(Webキャッシュ)の説明です。Cookieはページそのものを保存するのではなく、セッションIDやユーザー設定などの小さなデータを保存する仕組みです。
よくある質問(FAQ)
Q. Cookieとキャッシュはどう違いますか?
Cookieは「セッションIDやユーザー設定など、サーバとやり取りするための小さなデータ」を保存する仕組みです。一方、キャッシュは「HTMLファイルや画像などWebページの構成要素そのもの」をブラウザにローカル保存し、再アクセス時の表示速度を上げる仕組みです。保存する対象と目的がまったく異なります。
Q. 「Cookieを受け入れますか?」というポップアップは何のためにありますか?
EU一般データ保護規則(GDPR)や日本の改正個人情報保護法などの法規制により、Webサイトはユーザーの同意を得たうえでCookieを利用する義務があります。特にサードパーティCookieによるトラッキングはプライバシーへの影響が大きいため、事前に利用目的を明示して承諾を求める仕組みが普及しました。
Q. CookieにはセッションIDしか保存できないのですか?
セッションID以外のデータも保存できます。言語設定やテーマ設定(ダークモードなど)、ショッピングカートの中身、広告のターゲティング情報など、サーバが「Set-Cookie」で指定したデータであれば保存対象になります。ただし、ブラウザごとにCookie1つあたりのサイズ上限(一般的に4KB程度)やドメインあたりの個数上限が設定されているため、大量のデータを保存する用途には向きません。
Q. Cookieが漏えいするとどのような被害がありますか?
最も深刻なのはセッションハイジャックです。CookieにセッションIDが含まれている場合、攻撃者がそのCookieを盗み取ると、正規の利用者になりすましてログイン済みの状態でサイトを操作できてしまいます。クロスサイトスクリプティング(XSS)攻撃でCookieを窃取されるケースが典型例であり、これを防ぐためにHttpOnly属性やSecure属性を設定します。