🍪

100秒で理解するHTTP Cookie

2024/06/04に公開

はじめに

この記事の内容は、以下の動画でも解説しているので、ぜひ見てみてください。他にもWebに関する解説動画を投稿しているので、良ければチャンネル登録よろしくお願いします!

https://youtu.be/5FNLLEgxv_8?si=hGKAF1tmMMIWNLwc

Cookieとは?

Cookieとは、一言で言うと、サーバーからブラウザに送信される小さな文字列データのことです。

HTTP Cookie (ウェブ Cookie、ブラウザー Cookie) は、サーバーがユーザーのウェブブラウザーに送信する小さなデータであり、ブラウザーに保存され、その後のリクエストと共に同じサーバーへ返送されます

HTTP Cookie - MDN

...と言っても、これだと難しくてよく分からないですよね。そこで、今回の記事では「Cookieとは何なのか?」について、順を追って解説していきたいと思います。

HTTPはステートレス

まず、覚えておかないといけないのは、HTTPがステートレスなプロトコルであるということです。ステートレスとは、「状態が無い」という意味で、以前送ったリクエストやレスポンスについては、まったく覚えていないことを指します。

例えば、あるWebサイトにログインする場合を考えてみましょう。最初のリクエストでユーザー名とパスワードを送信して、ログインが成功したとしても、その次のリクエストで、サーバーはあなたが誰か忘れてしまいます。

これでは、毎回ログインし直さないといけないので不便ですよね。そこで、この問題を解決するためにCookieが登場します。

具体的な流れ

Cookieを使った具体的な流れを説明していきます。先ほどの例と同様に、ユーザー名とパスワードを送信して、ログインが成功した場合を考えてみましょう。

リクエストを受け取ると、サーバーはレスポンス内容と共に、Cookieを送信します。このCookieには、あなたが誰なのかを示す情報やIDなどが含まれていて、このCookieをブラウザが保存します。

次に、再度リクエストを送るときに、ブラウザは保存してあるCookieを一緒に送ります。

そうすると、サーバーはこのCookieの情報をみて、「このIDはさっきログインした人だな」と思い出すことができます。これで、ユーザーは毎回ログインする必要が無くなります。

このように、Cookieを使うことで、サーバーはユーザーの状態を保持し、ユーザーに合わせた画面を提供することができます。これにより、ログイン状態の維持やショッピングカートの中身の保持など、便利な機能が実現できるのです。

おわりに

「100秒で理解する」シリーズは、他にもいくつか記事を書いています。この記事が役に立ったと思った方は、他の記事もご覧ください!

参考文献

Discussion