このサイトは非公式の日本語訳です。Cloudflare・EmDashプロジェクトが運営するサイトではありません。

この記事のゴール:ブラウザにURLを入力してからページが表示されるまでに、何がどの順で動くかを説明できるようになる
読む時間:5分
前提知識:前提知識なし

表示されるまでの流れ

サーバーDNSブラウザサーバーDNSブラウザHTMLを読み込んでページを表示するドメイン名(example.com)のIPアドレスを問い合わせるIPアドレスを返すIPアドレスあてにページをリクエストするHTMLを返す
図のテキストを読む
sequenceDiagram
    participant U as ブラウザ
    participant D as DNS
    participant S as サーバー
    U->>D: ドメイン名(example.com)のIPアドレスを問い合わせる
    D-->>U: IPアドレスを返す
    U->>S: IPアドレスあてにページをリクエストする
    S-->>U: HTMLを返す
    Note over U: HTMLを読み込んでページを表示する
用語 1文の説明
ブラウザ Webからページを取得して表示するプログラムです。
ドメイン名 example.com のような、サイトの名前です。
DNS ドメイン名をIPアドレスに変換する仕組みです。Cloudflareは「インターネットの電話帳」とたとえています。
サーバー クライアントと呼ばれる利用者にサービスを提供する、ソフトウェアまたはハードウェアです。
HTML Webページの構造を指定する記述言語(HyperText Markup Language)です。

ブラウザ、サーバー、HTMLの説明は、MDN Web Docsの用語集(日本語版)に基づいています。

EmDashのサイトでサーバーがすること

リクエスト公開済みのエントリーを読HTMLを返すブラウザサーバー(AstroとEmDash)データベース
図のテキストを読む
flowchart LR
    U["ブラウザ"] -- "リクエスト" --> W["サーバー<br/>(AstroとEmDash)"]
    W -- "公開済みのエントリーを読む" --> DB["データベース"]
    W -- "HTMLを返す" --> U
  • Astroでアクセス時に描画するページは、リクエストがあるたびにサーバーで作られます。Astro公式は、この処理をする環境を「ランタイム(リクエスト時にページを生成するサーバー環境)」と説明しています。
  • EmDashのサイトは、サーバーがデータベースから公開済みのエントリーを読み、HTMLを作って返します。
  • Astroは、ブラウザで描画するよりもサーバーで描画することを重視する「サーバーファースト」の設計です。Astro公式は、これをPHPやWordPressなど従来のサーバーサイドのフレームワークと同じアプローチと説明しています。

ドメインとEmDashのサイト

  • Cloudflare Workersに最初にデプロイすると、サイトには workers.dev のURLが割り当てられます。
  • 自分のドメインを使うには、そのドメインが、Workerと同じCloudflareアカウントで管理されている有効なドメインである必要があります。

AIに聞いてみよう

根拠にした公式ページ

  • Cloudflareラーニングセンター「DNSとは?」:https://www.cloudflare.com/ja-jp/learning/dns/what-is-dns/
  • Astro公式「オンデマンドレンダリング」:https://docs.astro.build/ja/guides/on-demand-rendering/
  • Astro公式「Astroを選ぶ理由」:https://docs.astro.build/ja/concepts/why-astro/
  • EmDash公式「Cloudflareへのデプロイ」(本サイトの訳):https://docs.emdashcms.com/deployment/cloudflare/
  • EmDash公式「アーキテクチャ」(本サイトの訳):https://docs.emdashcms.com/concepts/architecture/
  • MDN Web Docsの用語集「ブラウザー」:https://developer.mozilla.org/ja/docs/Glossary/Browser
  • MDN Web Docsの用語集「サーバー」:https://developer.mozilla.org/ja/docs/Glossary/Server
  • MDN Web Docsの用語集「HTML」:https://developer.mozilla.org/ja/docs/Glossary/HTML

次に読むページ