3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【React】CSR・SSR・SSGの違いについて

Posted at

はじめに

SSRCSRSSGなどのレンダリング手法についての認識を整理するために、本記事を作成しました。

この記事は個人的なアウトプットを目的として作成したものです。そのため、誤った情報や不足している内容が含まれている可能性があります。もし間違いや気になる点がございましたら、ぜひご指摘いただけますと幸いです

CSR (Client Side Rendering)

クライアントからのリクエストに対して、サーバーは空のHTMLJavaScriptを返します。その後、ブラウザ上でJavaScriptが実行され、動的にHTMLを生成・レンダリングすることで画面が表示されます。

CSRの説明でよく「JavaScriptHTMLをレンダリングしている」と言われるのは、最初に受け取るHTMLが空の状態であり、その後JavaScriptが実行されて画面が描画されるためです。

メリット

  • 初回読み込み時にすべてのデータを一括取得するため、2回目以降の動作が高速になる

デメリット

  • 初回読み込み時にすべてのデータを取得・処理する必要があるため、ページが表示されるまでの時間が長くなる
  • 空のHTMLが返されるため、Webクローラーがページの内容を認識できず、SEOに不利

SSR (Server Side Rendering)

クライアントからのリクエストに対して、サーバー側でHTMLを生成し、レンダリング済みの状態で返します。

メリット

  • サーバー側でレンダリングを行うため、初回のページ表示が速い
  • クライアント側でJavaScriptを実行する必要がないため、デバイスのマシンスペックに依存しにくい
  • サーバーでHTMLを生成するため、Web クローラーがページ内容を認識しやすく、SEOに有利

デメリット

  • ページ遷移のたびにサーバーへリクエストを送り、HTMLをレンダリングするため、2回目以降の動作がCSRより遅くなる

SSG (Static Site Generation)

ビルド時にサーバーでHTMLを生成し、静的ファイルとして提供します。

メリット

  • 事前にHTMLが生成されているため、高速なレンダリングが可能
  • SSRと同様にクライアントのマシンスペックに依存しない

デメリット

  • ビルド時にHTMLを生成するため、リアルタイムで更新されたデータをすぐに反映できない

終わりに

CSRSSRSSGにはそれぞれメリット・デメリットがあり、用途によって適切なレンダリング手法を選択することが重要です。今後も最新情報をキャッチアップしながら適切に活用していきたいと思います。

参考

『【Next.js14】CSR・SSR・SSG・ISRの違いと実装方法』Qiita

『CSR,SSR,SSG,ISRについて理解する』Zen

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?