1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CSR, SSR, SSGの違いについて説明するためのメモ

Posted at

概要

技術選定の際に理解しておいた方が良い概念をまとめました。

CSR(Client Side Rendering)

画面描画までの流れ

  1. クライアントがサーバーへリクエストする
  2. サーバーが空のHTML, JavaScriptを含めてクライアントへレスポンスする
  3. クライアントが上記ファイルを使ってレンダリング(HTMLを生成)する
  4. クライアントは最初のレンダリング以降、必要なデータのみサーバーから取得する

メリット

  1. ページ更新時は必要なデータのみ更新すれば良いため、ページ遷移が速い
  2. Webサーバーとの重い通信が初期表示時のみとなる

デメリット

  1. 初回表示が遅いため、SEOに悪影響を及ぼす可能性が高い

対応しているフレームワーク、ライブラリ

  • React
  • Next.js
  • Vue.js
  • Nuxt.js
  • Angular

適したユースケース

  • 頻繁にデータを更新するアプリ
    • チャット、SNSなど
  • 部分的なコンテンツを更新するアプリ
    • map系など

要するに

webサイトに初めてアクセスする時は初期ロードとレンダリングするから初期ロードには時間がかかるけど、それ以降は必要なデータのみロードするだけなので、動作はサクサク

SSR(Server Side Rendering)

仕組み

  1. クライアントがサーバーへリクエストする
  2. サーバー側でHTMLを生成しクライアントへレスポンスする
  3. ブラウザ側でサーバーから送られたHTMLを表示する

メリット

  1. サーバー側でレンダリングしているので初期表示が速い(SEO対策)
  2. ブラウザ側に負荷がかからない(ブラウザに依存しない)

デメリット

  1. サーバー側の処理に負荷がかかる
  2. ページ遷移ごとにサーバーからHTMLを取得するので通信が重く、更新が遅い

対応しているフレームワーク、ライブラリ

  • Nuxt.js(Reactベース)
  • Next.js(Vueベース)
  • Angular Universal(Angularベース)

適したユースケース

  • SEOが重要視されるサイト
    • ニュースサイト
  • リアルタイムで商品情報が更新されるサイト
    • Eコマース

要するに

webサイトに初めてアクセスしたときはサーバー側でHTMLを生成(レンダリング)しているので、
すぐにブラウザに表示可能だけど、ただページ遷移が遅い。

SSG(Static Site Generation)

仕組み

  1. サーバー側は事前に静的ファイルをビルドしておく
  2. クライアントがサーバーへリクエストする
  3. サーバーは事前にビルドしておいた静的ファイルをクライアントへレスポンスする。

メリット

  • 静的ファイルを返すだけなので非常に高速

デメリット

  • リアルタイム更新ができない

適したユースケース

  • 更新が少ないもの
    • ブログ

対応しているフレームワーク、ライブラリ

  • Gatsby,
  • Next.js,
  • Hugo,
  • Jekyll

要するに

事前に静的ファイルをビルドしているので非常に高速だが、リアルタイム更新はできない

比較

特徴 CSR SSR SSG
初期ロード速度 遅い 速い
SEO 悪い 良い 良い
動作性 高い 低い
サーバー負荷 低い 高い 低い
更新頻度 高い 低い
適したケース 動的サイト コンテンツ重視のサイト ブログ

まとめ

参考

https://tech-blog.rakus.co.jp/entry/20240927/rendering#%E6%A6%82%E8%A6%81

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?