レンダリングをここではこう解釈します。
HTMLファイルを作ること。
作る?
はい、HTMLは最初からxxx.htmlファイルとして、作って置いとくことができます。
とはいえ、htmlも中身はタグの書かれたテキストなので
JavaScript、Java、Pythonなどのプログラムから作ることもできます。
print('')
これを
- どこで作るか
- どのタイミングで作るか
がいろいろあるんです。
全体
まず、サーバ側とクライアント側(ブラウザ)があります。
観点1:誰が作るか
- 性能:サーバ >>> クライアント
- 速さ:サーバ >>> クライアント
基本は、個人が持っているパソコン(クライアント)より、会社が立てているパソコン(サーバ)で処理した方が速い。です
作成し直す頻度
htmlの作成は、一度作ったらそれで良い場合と、時間経過によってデータが変わるので(売り切れとか、タスク管理とか)、数分、数秒おきに作り直したい場合など、があります。
もちろん作成し直す頻度は多い方が、重く、遅くなります。
作成タイミング
- ビルド時 >>> アクセス時
ビルド(プログラムを公開する前に作ってちゃっておく)こともできますし、ユーザがアクセスするたびに作ることもできる。
もちろん先に作っておいた方が速い
アクセス時だとしても、一度作ったら同じのを、しばらくそれを使い回すほうが速い。(作るのは時間かかる)
| 名前 | 英語 | 作り手 | 頻度 |
|---|---|---|---|
| SSG | Static Site Generation | サーバ | ビルド時に1回だけ |
| SSR | Server Side Rendering | サーバー | アクセスのたびに毎回 |
| CSR | Client Side Rendering | クライアント | 初回 + 状態変化ごとに再レンダリング |
| ISR | Incremental Static Regeneration | サーバー | アクセス来たら一回使りそれをしばらく使う、指定された時間が過ぎたら、次誰かがアクセスした時に作り直し |