/note/tech
- (1) データフェッチの場所
- クライアントサイドデータフェッチ(CSDF):ブラウザからAPIサーバーに対して直接データを問い合わせること。CSRという言葉が抱えていた意味の1つ
- サーバーサイドデータフェッチ(SSDF):Next.js等のフルスタックFWサーバーで、バックエンドAPIに対してデータを問い合わせること。SSRという言葉が抱えていた意味の1つ
- (2) データフェッチの頻度やタイミング
- スタティックデータフェッチ(SDF):ビルド時にデータを取得する。旧SG的なもの
- インクリメンタルデータフェッチ(IDF):stale-while-revalidateな感じでデータを取得する。旧ISR的なもの
- ダイナミックデータフェッチ(DDF):リクエスト毎にデータを取得するもの。SSRという言葉が抱えていた意味の1つ
- (3) レンダリングの場所
- クライアントサイドレンダリング(CSR):フロントエンドでReactコンポーネント→HTMLの変換を行う。documentなどブラウザのAPIに依存できるが、遅くなる。SPAや、Next.jsのdynamic importでssr: falseを指定した場合がこれ
- サーバーサイドレンダリング(SSR):サーバー側でReactコンポーネントをHTMLに変換してフロントエンドに返すこと。Server Componentからの変換も含む
- (4) レンダリングのタイミング
- スタティックレンダリング(SR):ビルド時にReactコンポーネント→HTMLの変換を行う
- ダイナミックレンダリング(DR):リクエスト発生時にReactコンポーネント→HTMLの変換を行う
- (5) ナビゲーション
- クライアントサイドナビゲーション(CSN):ブラウザからJSベースでサーバーサイドにページ情報をリクエストし、JS上でルーティングする。SPAで遷移する場合や、Next.jsでrouter.push()した場合もこれ
- サーバーサイドナビゲーション(SSN):ブラウザリロードやlocation.hrefの更新など、ブラウザの標準的な方法で遷移すること。レスポンスのContent-Typeが基本的にtext/htmlになる
(2023/06/01)