今回はWebブラウザを使うときによく耳にするCookie/Session/キャッシュについて記載します。
Cookie
、Session
、キャッシュ
ってWebでよく聞く、似たようなものじゃないの?と思うかもしれませんが、違うものなのでそれぞれ紹介していきます。
ちなみに、今回タイトルはAIに決めてもらいました。今までの自分のブログと毛色が違うタイトルになりましたが、いいタイトルになったと思います。
Session
まず、Sessionとは一体なんでしょうか?
Sessionは複数のリクエストを同一ユーザーと認識すること(機能)です。
HTTPは状態を持たないため同じブラウザでリクエストしても同じユーザーとは認識できないという特徴があります。
同じユーザーとは認識できるようにするのがSessionの役割です。
セッションとは、ウェブサーバー上で動作しているアプリケーションがユーザーの情報を一時的に保存する仕組みです。一般的に、この情報はサーバーのメモリやデータベースに保存されます。
例えば、ユーザーがウェブサイトを訪れると、セッションが開始され、セッションIDが生成されます。 IDはこの後説明するCookieとしてブラウザに保存されます。 ユーザーが再びサイトを訪れると、IDに基づいてサーバー側の情報が呼び出されます。
例えば、ChromeでCookieを確認するには、以下にアクセスすることで確認できます。
- chrome://settings/siteData
Cookie
Sessionで「複数のリクエストを同一ユーザーと認識する」と説明しました。
Cookieはユーザー識別を実現させるための手段なので、Sessionとは異なります。(Sessionは目的や機能を表しています)
Cookieはユーザーのブラウザに直接保存される小さなテキストファイルです。
サーバーがテキストファイルをブラウザに送信し、ブラウザは保存して次回のサーバーへのリクエスト時に同じCookieを送り返します。
Cookieはクライアント側のマシン(主にブラウザ)にのみ保存され、セッションはブラウザだけでなく、サーバーにも情報が保存されます。
キャッシュ
キャッシュについては「キャッシュを削除してください」という言葉を聞いたことがある方もいるかもしれません。
キャッシュは、よく使うデータへのアクセスを速くするために、より高速な記憶装置に一時的に保存する仕組みのことを指します。 Webサイトのキャッシュは、頻繁にアクセスされるコンテンツを保存し、その情報を呼び出すことで表示速度を高速化します。
例えば、一度アクセスしたウェブページの画像やJSやCSS などのデータを保存して、次回以降同じページにアクセスしたときに再度読み込む必要がなくなり、ページの表示速度が速くなります。
JSやCSS などのデータを更新した場合に変更が反映されない場合は、コンテンツを保存している可能性があるため、「キャッシュを削除してください」といわれることがあります。
最後に
似たような言葉ですが、明確に意味が分かれていると思います。
主に、セキュリティ面で使用すると思うので、気になる方はさらに深掘りしてみてください!