0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Cookieってなんぞや

Last updated at Posted at 2025-01-26

抽象的な説明より、実際に見た方が早い。

結論から言うと、Cookieとはサーバからプレゼントされた秘密のコードを保存したエクセル表のようなファイル。
ただのファイルなのです。それが以下。
Path:"C:\Users\User-Name\AppData\Local\Google\Chrome\User Data\Default\Network\Cookies"
image.png

メモ帳で開く。QiitaもCookieを採用しているので当然ヒットしているが、文字化けする。
これはデータベース方式で保存されているため。
image.png

全く同じファイルをデータベースを開く専用のアプリで開くと、エクセルのような表形式で確認できる。
隠していますが右にセッションIDなどがあります。
image.png

イメージがついた所で、Cookie利用の流れ

1."qiita.com"にブラウザ(Chrome、Edge等)がアクセス。「Cookieを保存するか」に「はい」を選択
2.返答でサーバからセッションIDなどが送信される。
3.ブラウザは、そのセッションIDなどの情報を先ほどのファイルの表に保存しておく。
4.後日、"qiita.com"にアクセスする際、Cookieを先に確認し、表に"qiita.com"があれば、そこに保存されているセッションID等を使って自動でログイン等したりする。

これだけです。

さらに理解を深めようのコーナー

image.png

上記の図から分かるように、Cookieはドメイン(図にあるaccounts.google.comや、.chatgpt.com等)で別けて保存されています。
つまり、"accounts.google.com"のセッションIDは".chatgpt.com"では適用されません。
ドメインが異なると、セッションIDも使いまわせず別になるということですね。当たり前か。

また、Cookieはブラウザ毎に保存場所が異なります。
Chromeは、『C:\Users\User-Name\AppData\Local\Google\Chrome\~』
Edgeは、『C:\Users\User-Name\AppData\Local\Microsoft\Edge\』

なので、Chromeで自動ログインできても、EdgeのCookieファイルには保存されていない場合、Edgeからは自動ログインできません。

まとめるとCookeの特徴は、
・ドメインが異なると、セッションIDは使いまわせない
・ブラウザが異なると、Cookieファイルは別のためセッションIDは使いまわせない

となります。

ドメインの件については当たり前のように感じますよね。だってGmailのセッションIDで、Qiitaにアクセスされても困りますし。
しかしこれはSSO(シングルサインオン)を利用する際、大きな障害となります。
この話はまた他の機会に

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?