/note/tech

SSRみたいなフロント用語の使い方改めませんか運動

  • (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になる