同じ1ページ、5通りの届き方
luagate/web-rendering-v2Webレンダリング23 枚Web 開発
上から下へ、全 23 枚そのまま並べています。
発表モードで開く同じ1ページ、5通りの届き方
目次
今日ずっと追いかける1ページ
この講座ページを、最後まで例に使います。まず完成形を見てください。
利用者に見えている画面
その画面を作っているHTML
問いはひとつだけ
CSR・SSR・SSG・ISR・RSC は、どれも別々の技術に見えて、答えているのは同じ問いです。
- さっきのHTMLを「いつ」作るか — 利用者が来たとき / それより前
- さっきのHTMLを「どこで」作るか — サーバー / 利用者のブラウザ
- この2つの答えの組み合わせが、そのまま手法の名前になっている
- 以降のスライドは、すべてこの2点だけを見ていきます
CSR — ブラウザで作る
サーバーは空の入れ物だけを返し、中身はブラウザが後から組み立てます。
ブラウザ
利用者の手元
Webサーバー
ファイルの置き場
APIサーバー
データの置き場
/lesson/python-intro をください
①
空のHTMLと app.js をどうぞ
②
app.js が動いた。講座データをください
③
受講者 1,284人 です
④
CSRで最初に届くHTML
④が終わるまで、利用者の画面には何も出ていません。
②の直後に見えている画面
②で実際に届いたHTML
CSRで起きること
組み立てをブラウザに任せた結果、得るものと失うものがはっきり分かれます。
確認クイズ
確認クイズ 解答
SSR — 頼まれてからサーバーで作る
組み立てをサーバー側に戻します。往復の回数が減ります。
ブラウザ
利用者の手元
Webサーバー
ここで組み立てる
APIサーバー
データの置き場
/lesson/python-intro をください
①
講座データをください
②
受講者 1,284人 です
③
1,284人 まで入ったHTMLをどうぞ
④
SSRで最初に届くHTML
最初に見た完成形が、そのまま最初の1通で届いています。
④の直後に見えている画面
④で実際に届いたHTML
ハイドレーション — 見えると動くは別
SSRでもJavaScriptが不要になるわけではありません。ここを取り違えると計測を誤ります。
- ④の時点で「見える」— 文字はもうHTMLに入っている
- app.js が届いて実行されて初めて「押せる」— ボタンに処理が付く
- この後付け作業をハイドレーションと呼ぶ
- 見えてから押せるまでの間に押されたクリックは、取りこぼしになる
SSG — 頼まれる前に作っておく
利用者が来る前、ビルドのときに組み立ててしまいます。
ビルド
公開作業のとき
配信元
出来上がりの置き場
ブラウザ
利用者の手元
受講者 1,284人 のHTMLを置いておく
① 公開時
/lesson/python-intro をください
② 後日
置いてあるHTMLをそのままどうぞ
③
SSGの弱点は、HTMLを見ても分からない
届くHTMLはSSRとまったく同じです。違うのは作られた時刻で、実際の受講者は既に1,509人に増えています。
利用者に見えている画面
届いたHTML(ビルド時に作られたもの)
ISR — 古いまま返して、裏で作り直す
SSGの速さを保ったまま、SSGのズレを時間で縮める仕組みです。
ブラウザ
利用者の手元
配信元
出来上がりの置き場
APIサーバー
データの置き場
ください
① 1人目 — 前回生成から一定時間が過ぎている
まず古い 1,284人 を返す
②
最新は? → 1,509人 で作り直す
③ 裏で
ください → 1,509人 が返る
④ 2人目
4つの手法を「いつ」「どこで」で並べる
名前を覚えるより、左の2列を言えるようになれば十分です。
RSC — コードそのものを送らない
サーバーコンポーネントは、実行結果だけがブラウザに渡り、中身のコードは渡りません。
サーバーだけで動くコンポーネント
ブラウザに届くもの
RSCの位置づけ
CSR・SSR・SSG・ISR とは並びが違い、ページ単位ではなく部品単位の話です。
- 手法を選ぶ単位が、ページから部品に細かくなった
- 動かない部分はサーバーで済ませ、押せる部分だけブラウザに送る
- 結果、ブラウザに届くJavaScriptの量が減り、ハイドレーションも軽くなる
- Next.js App Router で 2022年10月から使え、React 19(2024年12月)で正式版。2026年8月時点の状況です
確認クイズ
確認クイズ 解答
どれを選ぶか
ページの性質から選びます。手法から入ると必ず迷います。
まとめ
手法の名前は結論ではなく、2つの問いへの答えの組み合わせです。
- 問いは「そのHTMLを、いつ・どこで作るか」だけだった
- 早く作るほど速く、遅く作るほど正確 — このどちらを取るかの判断
- 受講者 1,284人 がいつの値なのかを言えるなら、手法を理解している
- RSCはこの判断を、ページ単位から部品単位に細かくしたもの
"
手法の名前は結論ではない。そのHTMLをいつ、どこで作ったのか。それを言えることが、速さと正確さのどちらを取ったかを言えるということ。