静的サイトと動的サイト——そしてReactやPythonはどこで働くのか
どのWebページもブラウザにはHTML・CSS・JavaScript(=画面を作る3つの基本部品)として届く。本当の分かれ目は「そのHTMLをいつ作るか」である。静的サイトは完成済みのファイルをそのまま送り、動的サイト(=dynamic、アクセスのたびに中身を組み立てるサイト)はデータベース(=データの保管庫)から中身を差し込んでHTMLをその場で作る。ReactやPythonはHTML/CSS/JSを置き換えるのではなく、それを生成・操作する道具である。
根本の違い
- 静的サイト:あるURLに対し、サーバーは同じ完成済みファイルを返すだけである——ディスク上の文書を読んでそのまま送り返す(MDN)。
- 動的サイト:サーバーがアクセスのたびにHTMLを組み立てる。多くはHTMLテンプレート(=穴あきの雛形)にデータベースの中身を差し込む方式であり、同じURLでも利用者ごとに違う内容を返せる(MDN)。
- どちらでもブラウザが受け取るのはHTML/CSS/JSである——違いは「誰が・いつ」それを組み立てるかにある。
ReactとPythonの出番
- ブラウザがそのまま動かせるのはHTML/CSS/JSの3つだけであり、ここは何をしても変わらない。
- React(=リアクト、Meta製のJavaScript用ライブラリ)は、画面のHTMLを「再利用できる部品」として組み立てる。ブラウザ上でその場で、あるいは事前のビルド時に生成し、複雑なUIを手書きHTMLで書かずに済ませる。
- Python(=パイソン、汎用プログラミング言語)は多くの場合、動的サイトのサーバー側で働く——データベースとやり取りし、ログイン確認や業務ロジックを回し、仕上げたHTMLやデータを返す。
では動的サイトは「SNSのようなもの」なのか
- そのとおりである——SNS(X・Instagram等)は動的の典型例で、フィード(=流れてくる投稿一覧)は利用者ごとにデータベースから生成される。
- ブログ・ドキュメント・個人のノートは、利用者ごとに違うページを作る必要が普通はないため、静的で十分である。
- 第三の道(このサイト):SSG(=Static Site Generator、静的サイト生成器)が公開時にReactを一度だけ走らせて全ページを先に作り置きする。Reactで書く快適さを保ったまま、届けるのは素の静的ファイルだけになる。
まとめ
届くのは常にHTML/CSS/JSである。静的=作り置きのファイル、動的=アクセスごとに生成、という違いにすぎない。ReactやPythonはそのHTMLを作るための道具であり、利用者ごとにページが変わらないなら静的を選べばよい——そしてコンテンツ系サイトの大半はそれで足りる。
出典・参考
関連ノート
- Agentic Commerce — ACP and Visibility into Being 'Bought by AI'
- browser-to-api — a Browserbase skill that turns a site into OpenAPI from a CDP trace
- Safe tenant-scoped writes to a cloud database — connection, authentication and RLS in one go
- Cloudflare Wrangler and Pages Functions — the deployment tool and the Functions bundle
- Introduction to the Digital Architect (00) — the reality of the profession and the big picture of an original textbook series
- The textbook for becoming a digital architect — table of contents (learning roadmap)