SSR: Server Side Rendering
リクエストがきたらサーバー側でページを生成してクライアントに返す。
リクエストが来た後にページを生成するため、表示が遅い。
ページ移動のたびに都度都度データベースとやり取りする。
SSG: Static Site Generation
ページを事前に生成しておく。
リクエスが来たら生成しておいたページを返す。
表示が早い。
CSR: Client Side Rendering
クライアント側でページを生成する。
SSRが遠くの工場で生成してから配送するという考え方で、
CSRは家の近くに工場を置いてそこで生成し、すぐに配送といった感じ。
ページ移動のたびに都度都度データベースとやり取りする。
SSG最強じゃない?
ストックしたサイトが古くなる問題がある。
記事更新されても検知する機能とかない。
だから記事が古くなって行く。
Next.jsはISRという機能がある。
ページに賞味期限を設け、そのストックが消滅する。
リクエスト来て、賞味期限が切れている場合、最新バージョンが作られる。
ISRにon demand機能をつけた。
賞味期限ではなく、しかるタイミングで更新してくれる。
そもそもこのタイミングで更新するべきである。というタイミングで更新してくれる。