記事は「プログラム」ではなく「ファイル」として届く ― 速い・落ちにくい・狙われにくい仕組み
このサイト自体が、これからご説明する仕組みの上で動いています。記事を「公開」したあと、それが読者のブラウザに届くまでに何が起きているのか ―― その届け方の仕組みを、なるべく専門用語を使わずにお話しします。
先に結論をお伝えします。公開後の記事は「動いているプログラム」ではなく「できあがったファイル」として届きます。この一点が、表示の速さ・止まりにくさ・狙われにくさのすべてにつながっています。これは @nano-cms/core(ケイズ・ソフトウェアが開発している CMS)が、一般的な CMS とは違う届け方をしているためです。
公開すると、「ページ」ではなく「ファイル」ができます
WordPress などの一般的な動的 CMS では、読者がページを開くたびに、サーバー上のプログラムがデータベースに問い合わせ、その場でページを組み立てて返します。注文が入るたびに一から料理を作るレストランのようなものです。注文が重なれば、その分だけ待たされます。
@nano-cms/core は、別の作り方をします。記事を公開した瞬間に、表示に必要なファイルを「作り置き」しておきます。読者が来たときには、できあがったものをそのまま渡すだけ。毎回ゼロから組み立て直すことはありません。
できあがったファイルは、置き場所を選びません
そして、できあがったファイルは「動くプログラム」ではないので、置き場所を選びません。世界中に置かれた配信拠点(こうした拠点を「エッジ」と呼びます)に、サイトを丸ごと配置できます。読者には、その人にいちばん近い拠点から届きます。このサイトも、いまその形で配信されています。
編集や公開を担う裏側の仕組みに一時的な不具合が起きても、すでに配られている公開サイトは影響を受けません。最後に公開された内容を、そのまま出し続けます。読者から見える部分と、編集する人が使う部分が切り離されているからです。
この届け方が、速さ・止まりにくさ・狙われにくさを生みます
「動くプログラムではなくファイルを、読者の近くから渡す」 ―― この届け方そのものが、次の 3 つを同時に生みます。
- 速い:毎回組み立てず、近くの拠点から渡すだけなので、最初の反応がすぐ返ります。
- 落ちにくい:配信の通り道に、詰まって止まる「動く部品」がありません。アクセスが急に増えても、近くの拠点がファイルを返すだけです。
- 狙われにくい:読者に見せている配信側に、攻撃の的になる「動くプログラム」がそもそもありません。
なぜこの 3 つが成り立つのか、実際の数字(最初の反応までの時間や、動的方式との比較)を交えた詳しい説明は、なぜ速くて、落ちなくて、狙われにくいのか ― nano-cmsの静的配信にまとめています。
「ファイルだと不便では?」も、心配いりません
作り置き方式と聞くと、「検索のような動きのある機能は無理では」「共通部分の一括変更が大変では」という印象があるかもしれません。どちらも成り立ちます。
- 記事検索のような機能も、サイトを静的に保ったまま実現できます ―― 仕組みは 記事検索つきでも静的サイト ── どの CDN でも配れる仕組み で。
- 料率やお知らせのような共通データも、1 か所直せば関係するページだけが自動で作り直されます ―― 直すのは1か所、反映は正確に全体へ で。
つまり、動的 CMS の便利さは保ったまま、配信は静的の速さと安全を得る、という両取りです。
公開後の記事を「動くプログラム」から「できあがったファイル」に変え、それを読者の近くから配る ―― @nano-cms/core のこの届け方が、公開した後の強さの土台になっています。nano-cmsが「公開した後」でどう違うのかの全体像は、似ているようで、公開後がまるで違う ― nano-cmsの選びどころをご覧ください。いまご覧になっているこのサイト自体が、その仕組みで動いている実例です。