この章では、Webサイトがブラウザに表示されるまでの流れを学びます。
細かい技術仕様をすべて覚える必要はありません。まずは、ブラウザがサーバーにファイルを取りに行き、返ってきたデータをもとにページを組み立てている、という全体像をつかみましょう。
ブラウザとは
ブラウザは、Webページを見るためのアプリケーションです。
Chrome、Safari、Firefox、Edgeなどがブラウザです。
ブラウザは、単に画面を表示するだけではありません。
- URLをもとにWebサイトへアクセスする
- サーバーからHTMLを受け取る
- HTML内で指定されたCSS、JavaScript、画像を読み込む
- HTMLとCSSをもとに画面を組み立てる
- JavaScriptを実行して操作に反応する
Web制作で作ったHTML、CSS、JavaScriptは、最終的にブラウザに読み込まれて表示されます。
つまり、Web制作では「ブラウザがどう読むか」を意識することが大切です。
サーバーとは
サーバーは、Webサイトのファイルやデータを置いておく場所です。
ブラウザからリクエストが来ると、サーバーは必要なファイルやデータを返します。
たとえば、トップページにアクセスした時、サーバーはHTMLを返します。
HTMLの中でCSSや画像が指定されていれば、ブラウザはそれらも追加で取りに行きます。
クライアントとサーバー
Webの説明では、クライアントとサーバーという言葉がよく出てきます。
クライアントは、リクエストを送る側です。
Web制作では、主にブラウザをクライアントと考えます。
サーバーは、リクエストを受け取り、レスポンスを返す側です。
| 役割 | 例 |
|---|---|
| クライアント | ブラウザ、スマホアプリ |
| サーバー | Webサーバー、APIサーバー |
Webページを見る時は、ブラウザが「このページをください」とサーバーに依頼し、サーバーが「このHTMLです」と返します。
URLを入力した時に起きること
ブラウザにURLを入力すると、ざっくり次の流れでページが表示されます。
- ブラウザにURLを入力する
- ドメインからアクセス先のサーバーを探す
- ブラウザがサーバーへリクエストを送る
- サーバーがHTMLを返す
- ブラウザがHTMLを読む
- HTML内のCSS、JavaScript、画像を追加で読み込む
- ブラウザが画面を組み立てる
この流れの途中でどこかが失敗すると、ページが表示されなかったり、見た目が崩れたりします。
リクエストとレスポンス
ブラウザからサーバーへ送る依頼をリクエストと呼びます。
サーバーからブラウザへ返ってくる結果をレスポンスと呼びます。
ブラウザ: /about/ のページをください
サーバー: 200 OK。HTMLを返します
ブラウザ: /assets/style.css をください
サーバー: 200 OK。CSSを返します
ブラウザ: /images/main.jpg をください
サーバー: 404 Not Found。画像が見つかりませんWeb制作でよく見る 404 は、リクエストしたファイルやページが見つからないというレスポンスです。
HTMLだけでは完成しない
ブラウザが最初に受け取るのは、多くの場合HTMLです。
しかし、WebページはHTMLだけで完成しているわけではありません。
HTMLの中には、CSS、JavaScript、画像、フォントなどの読み込み指定が含まれています。
<link rel="stylesheet" href="/assets/css/style.css">
<script src="/assets/js/main.js" defer></script>
<img src="/images/main-visual.jpg" alt="">この指定を見つけると、ブラウザはそれぞれのファイルを追加で取りに行きます。
そのため、CSSのパスが間違っていると見た目が崩れます。画像のパスが間違っていると画像が表示されません。
静的サイトと動的サイト
Webサイトには、大きく分けて静的サイトと動的サイトがあります。
静的サイトは、あらかじめ作られたHTML、CSS、JavaScript、画像などのファイルを配信するサイトです。
動的サイトは、アクセス時にサーバー側で処理を行い、状況に応じてHTMLやデータを返すサイトです。
| 種類 | 例 |
|---|---|
| 静的サイト | LP、コーポレートサイト、ポートフォリオ |
| 動的サイト | WordPress、ECサイト、会員サイト、管理画面 |
Web制作では、静的サイトも動的サイトも扱うことがあります。
ただし、どちらの場合でも、最終的にはブラウザがHTML、CSS、JavaScript、画像を読み込んで画面を表示する点は共通しています。
Web制作で意識したいこと
Webサイトが表示される流れを知っておくと、トラブルの原因を分けて考えられます。
- URLが間違っているのか
- ドメインやDNSの問題なのか
- サーバーが返していないのか
- ファイルのパスが間違っているのか
- ブラウザに古いキャッシュが残っているのか
- JavaScriptでエラーが出ているのか
いきなり全部を疑うのではなく、流れに沿って順番に確認します。
この章のまとめ
- ブラウザはWebページを見に行くアプリケーション
- サーバーはリクエストに対してファイルやデータを返す場所
- Webページは、HTML、CSS、JavaScript、画像などを読み込んで表示される
- リクエストとレスポンスの流れを知ると、表示トラブルを切り分けやすくなる
- まずは「ブラウザが取りに行き、サーバーが返し、ブラウザが組み立てる」と理解すればよい