2021年11月30日

「SessionとCookieの違いを調べたんですが、昨日は両方一緒で現代はSessionのみ使われる、でOKですか?」という後輩くんはどうしてあげたらいい?

勉強になります……
28
よんてんごP@難病エンジニア💊着々とフォロバ中🙇 @yontengoP

後輩くん「SessionとCookieの違いを調べたんですが」 ☑web①「Sessionはログイン機能に使う」 ☑web②「Cookieもログイン機能に使う」 ☑web③「Cookieは安全じゃないのでSessionが使われる」 後輩くん「なので、機能は両方一緒。 現代ではSessionのみ使われる、でOKですか?」 ワイ「ウーム…🤔」 pic.twitter.com/RWVHjQotU6

2021-11-30 08:55:00
拡大
拡大
拡大
よんてんごP@難病エンジニア💊着々とフォロバ中🙇 @yontengoP

どこからどうツッコミを入れていくべきか、というのと この手のサイトの見分け方(?)みたいのもお伝えせねば、というのと 一方で「じゃあおれはCookieとセッションについて正確無比に理解しているのか🤔」という自問自答よ

2021-11-30 09:07:01
よんてんごP@難病エンジニア💊着々とフォロバ中🙇 @yontengoP

キミらならどっから教える🤔❔ あるいはどの本とか読んでもらう?🤔

2021-11-30 09:14:33
よんてんごP@難病エンジニア💊着々とフォロバ中🙇 @yontengoP

この各種サイトに書かれてる内容を全て鵜呑みにしてしまうと、 ☑️現代のサイトでCookieを使ってるサイトなどない‼️←まちがい ☑️仮に使っていたらそのサイトはセキュアではない‼️←まちがい ☑️Cookieを使ってる場合は全てセッションに置き換えよう‼️←まちがい っていう理解になりそうなのよね…🤔

2021-11-30 09:08:52
よんてんごP@難病エンジニア💊着々とフォロバ中🙇 @yontengoP

スマン追加で、 Cookieとセッションについて説明してる最中に後輩くんから追加質問で 1️⃣このCookieとセッションについての理解は、皆さんどのくらいの現場経験後に出来ましたか? 2️⃣使い分けは100人ITマンがいても全員「この場合はコッチ」って明確な正解がありますか? とのこと。

2021-11-30 09:40:20
よんてんごP@難病エンジニア💊着々とフォロバ中🙇 @yontengoP

個人的には 「んー、僕の場合は基本情報取るときに覚えたかなぁ」ってのと 「明確な正解と言われると難しいのでは…🤔」と思ったりするんだけど 皆さま各位のご意見も聞きたいところ。

2021-11-30 09:41:22

わらびー @BPPhantomtw

@yontengoP クッキー☆は自分の端末にデータが有る。セッションはサーバー側にデータが有る。どっちでも同じようなことはできるけど、サーバー側にデータがあったほうが色々都合がいいので今はセッションを使うのが主流。

2021-11-30 22:04:28
indigo @indigo_twi

@yontengoP いつも笑えたり笑えなかったりのツイートありがとうございます。 この辺りは時間割いてきちっと教えた方が今後の本人のためだと思います。

2021-11-30 09:04:32
NEKO🏝沖縄-虚弱ITエンジニア @nyanko_super

@yontengoP ネットでつまみ食いする前に、技術本読んで体系的に勉強すれば? で終わりのような。。。

2021-11-30 12:43:34
MY @my2102203

サーバー「何者だ!」 ブラウザ「これ、手元のクッキーにあったセッションIDです」 サーバー「よし通れ…む、おぬし前にもここを通ったな?」 というイメージ。 twitter.com/yontengoP/stat…

2021-11-30 22:09:21
kei @awhina46_py

session Cookie 違い で何個か記事を見るのがいちばん良い気がする twitter.com/yontengop/stat…

2021-11-30 21:57:22
ひまパパ @hima_papa0831

サーバーとクライアントの間で状態を保持させるためにセッションという仕組みを導入する際、多数のセッションを区別するために一意のIDを発行するのだけどそのIDをCookieという仕組み上に保存して以後の通信に添えて送りサーバーに「自分が何者なのか」を認識させる とか? twitter.com/yontengoP/stat…

2021-11-30 21:53:21
天野遠景@がんばれない @tokagetail

技術要素の話をしてるのに「~機能に使う」みたいなことになってる時点であれよね…その技術は何を実現していて、どういう用途があり、その特性がこういう機能/実装に使われている、という理解をしないと永遠に「FWの使い方を覚えただけ」レベル。こういうのは会話すればわかるからやっぱり面接大事。 twitter.com/yontengoP/stat…

2021-11-30 21:45:26
ぶっかん@エンジニア/IT企業経営 @bukkan817

RT見ると理解してない人多いのね… ①〜③全部の理解が正しくないしOKじゃないので、変な調べかたしてないか不安になるし、どうやって調べたかを確認かなぁ… twitter.com/yontengop/stat…

2021-11-30 21:30:54
わさい @sfc_wsi

素朴にどういうバックグラウンドを持った人が書いてるのか気になる。 SessionはStatelessなプロトコルにStateを実装するためのアイデアでCookieはその実現方法という認識。 twitter.com/yontengop/stat…

2021-11-30 17:46:34
ぴぐお@どしたんズ @systemotaku45

セッションはいくかあるイメージだな。 ①通信の接続-切断まで ②振分サーバの保持 ③アプリの処理位置 ②、③がCookieに書き込まれてブラウザに保持される。 使われ方 初回アクセスでAサーバのアプリにログインする。ブラウザ閉じる。 もう一回アクセスするとAサーバにログインした状態が保持。 twitter.com/yontengoP/stat…

2021-11-30 15:36:20
こばっと @KOBAT_

ここでRailsみたいにCookieに暗号化してセッション情報持たせる実装の話とかしだすと、よりわけわかめ twitter.com/yontengop/stat…

2021-11-30 14:04:00
おむかれー @OmeletteCurry19

こういうのは、調べさせて、説明させるのが良いと思う。そのPJにおいて重要なものほど。自分もそうして理解が進んだ。 Cookie周りの仕様および図解 qiita.com/OmeletteCurry1… twitter.com/yontengoP/stat…

2021-11-30 13:09:20
グリーングリーン @greengreen1007

なんだろsessionもcookieもHTTPSで使ってんだからよっぽど大丈夫じゃね。 パーシステンス機能だとcookieはバンバン使うし、googleだかはcookieはセキュアじゃないから移行するとかどうだの言ってたような気がするからユーザ情報含まれるようやつはcookieは不適なのはなんとなくわかるけどね。 twitter.com/yontengoP/stat…

2021-11-30 12:36:08
ITエンジニアの備忘録的技術ブログ【仮】のなかの人 @DepthbombM

Sessionはサーバー側で持ち、Cookieはクライアント側で持つ その前提が無いと適切に理解できないかなと😁 twitter.com/yontengoP/stat…

2021-11-30 12:22:37
CLERK @clerk_1983

クッキーは銀行やMcDonald's窓口での整理番号(文脈によっては整理券そのものを指したり)ですかね。 当然乗っ取りもできる😜 twitter.com/yontengoP/stat…

2021-11-30 12:12:05
ナシェモン@キャリアコンサルタント @nassyemon

「フランス料理とオーリブオイルの違いについて調べたんですが」 twitter.com/yontengoP/stat…

2021-11-30 17:21:21

コメント

🚮 @recyclebin5385 2021年11月30日
なんで対立概念になってんだよ
10
thee tsurumi @gs263 2021年12月1日
session使うにはcookieも必要 cookieだけでステートレスも可能 の理解なんだが、違うの? 先輩が何故ウーンと唸っちゃったのか、わからなかった、、、
4
フックん @ohayou828 2021年12月1日
リプ含めてSeesionの概念知らずに自分の知ってるFWのSession機能だけで説明しようとしてて色々酷い、、
4
RGB000 @19666_61 2021年12月1日
cookie(クライアント)にユーザ個人情報を保存するのは改変・窃取等できて安全じゃないからsession変数(サーバサイド)に保存する(ただしsession機能が内部でcookieの機能を使ってクライアントを識別・認証している)って話やな。一側面では正しい(だから面倒くさい)
5
RGB000 @19666_61 2021年12月1日
19666_61 対立概念になりやすいのはPHPとかだと生のcookieと(IDやり取りだのを隠匿した)session機能の使い心地がそんなに変わらず、「cookieじゃなくてsessionを使え」は一定の正しさを持つため
1
ToteOf Canva @ToteOfCanvas 2021年12月1日
19666_61 Secure、HttpOnlyかつSameSite=Strictのクッキーってどうやって改変・窃取するんですか?
0
alan smithee @alansmithy2010 2021年12月1日
gs263 ガラケのブラウザにcookie機能がなかった頃はsession IDをurlに持たせてたのよ(cookieに持たせるような情報を、urlのsession IDをキーにサーバに持たせていた)
2
alan smithee @alansmithy2010 2021年12月1日
alansmithy2010 googleにSESSIONID付きurlが掲載されるのを嫌って無くなって行った手法ではある
2
RGB000 @19666_61 2021年12月1日
ToteOfCanvas ブラウザでCookie設定項目を見ると、見れますし、改変できます(これは私のミスで、ユーザ固有の情報・運営側がユーザに公開せずサービス内で秘匿したい情報とか言うべきだった)
0
TKS @TKS86059877 2021年12月1日
CookieとSessionの比較する前にSessionが何か理解できてるかの確認が必要そう。 「現代ではSessionのみ使われるでOKですか?」って言葉は「データの参照にセッションIDが必要でその主な保存先がCookie」ってことが分かってたら出てこないと思う
4
ばしにぃ @hiro_orso_viola 2021年12月1日
Sessionって言葉の意味が広すぎるよね…
3
みこみこ。 @MikoMiko2048 2021年12月1日
タイトル読んで今日は違うのかな?と思った
1
Yeme @yer_meme 2021年12月1日
SessionとCookieは別レイヤーの概念っスよ……
0
きゃっつ(Kats)⊿ @grayengineer 2021年12月1日
Sessionを実現するためにCookieを利用してるよね
1
きゃっつ(Kats)⊿ @grayengineer 2021年12月1日
おそらくだけど、このやり取りの参加者の頭の中にあるのは、Session=ASPなどのフレームワークで用意された機能で、セキュリティ管理、ライフスパン管理なども含めて全部やってくれる(フレームワーク内部ではCookieを使ってその機能を実装している)。Cookie=ブラウザのCookie制御をプログラムコードで直接制御する、っていうことなのかもね。
0
小判@忘れないあの日の歌と空 @asami_konno 2021年12月1日
まとめタイトルの「昨日は両方一緒で現代は〜」って誤字が絶妙で笑っちゃった。 さておき、元ツイに引っ張られてかログイン機能に限って話してる人がちらほら居るみたいやね。かなりざっくり言うとCookieもSessionもブラウザごとに固有の情報を保持する仕組みで、保持する場所がブラウザ側かサーバー側かで異なってくる。 そもそも、なぜそんな機能が必要なのか、HTTP接続は基本的にステートレスでリクエスト/レスポンスごとに本来は独立してるってところから説明しないと後輩くんは納得しないんじゃないかな?
1