【IT用語】クッキーとキャッシュ
プログラミングを学習し始めてから、IT用語もたくさん出てきました(当然です)。
その中でもクッキーとキャッシュについては、聞いたことはあるけどよくわからないと思っていたので、少し調べてみたことを書いていきます。
クッキーとキャッシュは、ひとことで言うと、データを一時的に保存しておくこと。
つまり、「履歴を残す仕組み」ということ。
また、クッキーはセッションと協力プレイでデータを保存している。
それぞれの違いを見ていきます。
クッキーとは
Webサイトにアクセスした「ユーザーの情報」をユーザーのブラウザ内に一時的に保存しているファイルのこと。
何かしらのサイトにユーザー情報を入力してログインすると、自動的に保存される。これによって、サイトを離れてもログイン状態を保持し続けたり、再度ログインが簡単にできたりする。
例えば、久しぶりにFacebookにログインしようと思ってログイン画面に遷移したとき、もう既にフォームに情報が入っていて、ログインボタンを押すだけみたいなことありますよね。これはクッキーにログイン情報が保存されているため。
セッションとは
クッキーと同様に情報を一時的に保存するファイルのこと。
ただ、クッキーは「誰が」というユーザー情報を保存するのに対して、セッションは「何を」という行動の情報を保存する。クッキーとセッションの協力プレイとはこのこと。
また、クッキーはクライアントのブラウザ上のみに保存されるが、セッションはサーバーにも保存される。
保存期間について、クッキーはサイトを離れても一定期間は情報を保持し続けるが、セッションはユーザーがブラウザを離れると削除される。
キャッシュとは
これもデータを一時的に保存しておく機能のことですが、ポイントは「サイト情報表示の高速化」ですかね。
クッキーやセッションと違って、誰がどうしたという情報ではなく、単純に過去にユーザーがアクセスしたWebページの情報(HTMLやCSSなど)を一時保存しておいて、再度そのサイトにユーザーからのアクセスが合ったときに、あ、またこれですね!と常連のお客さんにすぐ出せる状態にしているイメージ。
検索履歴が残ってるっていうのはこういうことですね。
これらの機能の使い道
ユーザーの僕たちからすると、使い道というより、アクセスデータが残ってるのはアプリやサイトをスムーズに利用できるし便利だなーというくらい。むしろ、クッキーにユーザー情報が残るということは、セキュリティ面に気をつけないといけないし、キャッシュが溜まってくると動作が重くなってしまったりというデメリットもある。
一方、これらの機能はWebサービスを提供する側にとって、アクセス解析やマーケティングに重要なデータとして扱われている。
ただ、クッキーについて、最近は国内外で規制の動きが広がっていて、個人情報の取り扱いに関して厳しくなっている。
終わりに
あまり意識して使ったことはなかったけど、クッキーおかげで入力の手間が省けたり、キャッシュのおかげでウェブページの速やかな読み込みができたりと、そのメリットは意外と大きい。また、その便利さの裏にデメリットもあるため、定期的に削除したり、自分のPC以外からログインした場合はクッキーを削除しておく必要があることがわかりました。