Open3
Cookieとセッションについて

プロになるためのweb技術入門を読んで勉強になった部分をメモる
いい感じにまとまったらQiitaで記事にしてもいいかも

Cookieとセッションの違い
Cookieとは
ステートレスなHTTP通信において状態を保持するための仕組み。例えばユーザーがサイトでログインした際にユーザーのIDをCookieとしてブラウザに渡しておき、次アクセス時にブラウザがCookieをサーバーに渡すことでユーザーを識別・ログイン状態でアクセスできる。Cookieはデフォルトでは暗号化されていないため、第三者に見られてしまう可能性あり
セッションとは
Cookieに直接データを入れるのではなくセッションIDという一意の値を入れて状態を管理する方式。ユーザーがサイトでログインした際にセッションIDを発行してそれをブラウザに返し、サーバー側にユーザーIDを保存。次アクセス時はセッションIDをサーバに渡し、IDに紐ずくユーザーIDを利用できる。Cookieだけの時とは違いセッションIDでやり取りするのでセキュリティ的にはこちらの方が良い(がどのみちセッションIDがバレてしまうとセッションハイジャックの危険があるので通信の暗号化は必要)
生のデータをブラウザに保存するかサーバに保存するかの違い?

ざっくりSPAの仕組み
サーバ側でHTMLを作るのではなく、ブラウザ側で空のHTMLからJSを実行して全てのHTMLを生成。ブラウザ側ですでにHTMLはあるのでページ遷移などしても読み込みが走らないのでuxが良い。データ取得や更新は非同期で行われデータ部分のみが切り替わるので特にリロードは起きない。
初回で全てのjsなどのリソースを読み込むので表示が遅くなったり、ブラウザにリソースは保持されるので規模が大きいサイトだとパフォーマンスに影響が出そう。あとはシンプルにseoの問題。