突然の質問
小学1年生の子供に、「お父さん、Cookieとセッションってなにがちがうの?」と聞かれたらどうしますか?
小学1年生にも分かりやすく教えてあげられますか?
僕はできません。(子供もいません。)
そもそも駆け出しなので、違いを明確に言語化できる自信がありません。
誰にでも説明できる状態まで理解すべし!ってよく言われますよね。
「小学1年生が理解できるまで」とはいかないかもですが、駆け出しエンジニアくらいにはスッと入ってくるように言語化してみようと思います。
それでは説明!
一言で言うと、
「Cookieはブラウザ側に保存されてるけど、セッションはサーバー側で管理しているんだよ~」です。
小学生がイメージしやすいように言い換えると、
「Cookieはみんなに配られるものだけど、セッションは職員室にあって、その鍵を持った人しか開けられない箱なんだよ~」
ですかね。
さらに補足すると、
「セッションの鍵にはよくCookieが使われるんだよ~」
ともいえる気がします。
要するに、値を保存している場所が違うのです。
CookieはChromeやEdgeなどのブラウザ(クライアント側)に保存されますが、セッションはサーバー側で管理されるものです。
(クライアント..?サーバー..?ってなった人はこちらを見ると分かりやすいかもしれません)
他にも保存期間など違いはあるのですが、一番大きな違いはここだと思っています。
おわりに
とはいっても自分自身まだまだひよっこなので、興味がある人はちゃんと調べましょう!
参考