6日でできる 新HTML&CSS入門|インターネットを支えるサーバ

見えないサーバの働きを知れば、インターネットの流れがもっとよく分かる。

私たちは毎日のように、スマートフォンやパソコンを使ってWebサイトを閲覧したり、メールを送受信したり、動画を視聴したりしています。

画面を操作するとすぐに結果が返ってくるため、利用者から見ると、すべての処理が自分の端末だけで行われているように感じるかもしれません。しかし実際には、インターネット上にあるさまざまなサーバと通信することで、多くのサービスが成り立っています。

たとえば、ブラウザでWebサイトを開くときには、接続先を調べるDNSサーバや、HTMLや画像などを送るWebサーバが関わっています。また、家庭や会社のネットワークに接続するときには、パソコンやスマートフォンへネットワーク設定を自動的に割り当てるDHCPサーバが働いています。

このように、インターネットでは一つのサーバがすべての処理を担当しているわけではありません。それぞれ異なる役割を持つサーバが連携しながら、利用者からの要求を受け取り、必要な情報や機能を提供しています。

サーバについて学ぶときは、高性能なコンピュータの形だけを思い浮かべるのではなく、何らかのサービスを提供する側という役割に注目することが大切です。

ここでは、サーバとクライアントの基本的な関係から、DHCPサーバ、DNSサーバ、Webサーバの働き、そしてブラウザにWebページが表示されるまでの流れを、やさしく順番に見ていきます。

サーバはサービスを提供する側

サーバとは、ネットワークを通してほかの機器やソフトウェアへ、情報や機能を提供するコンピュータ、またはソフトウェアのことです。

英語のserverには、提供するもの、仕えるものという意味があります。レストランで利用者に料理を提供するスタッフをイメージすると、サーバの役割を理解しやすくなります。

インターネット上のサーバは、利用者から送られた要求を受け取り、その内容に応じた情報や処理結果を返します。

たとえば、WebサーバはWebページを提供し、メールサーバはメールの送受信を担当します。DNSサーバはドメイン名に対応するIPアドレスを調べ、DHCPサーバはネットワークに接続した機器へIPアドレスなどの設定情報を配布します。

用語説明
サーバネットワークを通して情報や機能を提供するコンピュータやソフトウェア
サービスWebページの配信、メールの送受信、名前解決など、サーバが提供する機能
リクエストサーバに対して送る要求
レスポンスリクエストに対してサーバが返す応答

サーバは、必ずしも特別な外観をした大型コンピュータとは限りません。

一般的なパソコンでも、サーバ用のソフトウェアを動かせば、Webサーバやファイルサーバとして利用できます。また、家庭用ルータのような小さな機器にも、DHCPサーバやDNSの中継機能が組み込まれています。

つまり、サーバという言葉は、機器の形や大きさよりも、サービスを提供する役割を表していると考えると分かりやすいでしょう。

クライアントはサービスを利用する側

サーバからサービスを受け取る側をクライアントといいます。

クライアントには、パソコンやスマートフォンなどの機器だけでなく、Webブラウザやメールソフトなどのソフトウェアも含まれます。

たとえば、ブラウザでWebサイトを閲覧する場合、ブラウザがクライアントとしてWebサーバにページを要求します。Webサーバは要求を受け取ると、HTMLや画像などのデータをレスポンスとして返します。

利用場面サーバクライアント
Webサイトの閲覧WebサーバWebブラウザ
メールの送受信メールサーバメールソフトやメールアプリ
ファイルの共有ファイルサーバパソコンのファイル管理ソフト
動画の視聴動画配信サーバブラウザや動画アプリ
名前解決DNSサーバパソコンやスマートフォン
ネットワーク設定DHCPサーバネットワークに接続する機器

スマートフォンでWebメールを使う場面を考えてみましょう。

スマートフォンのブラウザはWebサーバへ画面データを要求します。メールを表示するときには、メールサーバに保存されている情報も利用されます。

この場合、スマートフォンやブラウザはサービスを利用するクライアントであり、Webページやメールを提供するコンピュータがサーバです。

サーバとクライアントは役割によって決まる

サーバとクライアントは、機器の種類だけで固定されるものではありません。

同じコンピュータでも、ある通信ではサーバになり、別の通信ではクライアントになることがあります。

たとえば、Webサーバが別のデータベースサーバへ情報を問い合わせる場合を考えてみましょう。

ブラウザとの通信では、Webサーバはサービスを提供する側です。しかし、データベースサーバへ情報を要求するときには、Webサーバ自身がクライアントとして動作します。

通信の組み合わせサーバ側クライアント側
ブラウザとWebサーバWebサーバブラウザ
WebサーバとデータベースサーバデータベースサーバWebサーバ
パソコンとDNSサーバDNSサーバパソコン
パソコンとDHCPサーバDHCPサーバパソコン

このように、サーバとクライアントはコンピュータそのものの名前ではなく、その通信でどちらがサービスを提供し、どちらが利用するかによって決まります。

図1:サーバとクライアントの基本的な関係

この図から分かること

クライアントは、利用したいサービスをサーバへ要求します。この要求がリクエストです。

サーバはリクエストの内容を確認し、必要な情報や処理結果をクライアントへ返します。この応答がレスポンスです。

Webサイトを閲覧する場合は、ブラウザがクライアントとなり、Webサーバへページを要求します。Webサーバは、要求されたHTMLや画像などをブラウザへ返します。

インターネット上のサービスは、クライアントが一方的に情報を受け取るだけではありません。クライアントから要求を送り、サーバが応答を返すという双方向のやり取りによって成り立っています。

サーバでは専用のOSやソフトウェアが動いている

サーバとして使用されるコンピュータでは、LinuxやWindows ServerなどのOSが利用されます。

OSは、CPU、メモリ、ストレージ、ネットワーク機器などを管理し、その上でサーバ用のソフトウェアを動かすための基盤になります。

分類主な役割
サーバ本体CPU、メモリ、ストレージなどを備えたコンピュータ
OSハードウェアやネットワークを管理する基本ソフトウェア
サーバソフトウェアWeb、メール、DNSなどのサービスを提供する
データHTML、画像、メール、利用者情報など、提供する内容

Webサーバであれば、LinuxやWindows Serverの上でWebサーバソフトウェアを動かします。代表的なWebサーバソフトウェアにはApache HTTP Server、Nginx、Microsoft IISなどがあります。

サーバ用のOSには、複数の利用者から同時に届く要求を安定して処理したり、長期間連続して動作したりするための機能が求められます。

そのため、一般的な利用者向けのパソコンと比べて、サーバでは次のような点が重視されます。

重視される点内容
安定性長時間連続してサービスを提供できること
可用性障害が起きてもサービスを止めにくいこと
処理性能多数のリクエストを処理できること
セキュリティ不正アクセスや情報漏えいを防げること
保守性更新、監視、バックアップなどを行いやすいこと

ただし、学習用のWebサーバであれば、通常のパソコンや仮想マシンでも十分に構築できます。サーバの本質は大きさや価格ではなく、ネットワークを通してサービスを提供していることです。

1台のサーバで複数の機能を提供できる

サーバは、1台につき1種類のサービスしか提供できないわけではありません。

1台のコンピュータ上で、Webサーバ、DNSサーバ、ファイルサーバなど、複数のサーバソフトウェアを同時に動かすこともできます。

それぞれのサービスは、IPアドレスやポート番号などを使って通信を区別します。

ただし、多くの利用者が使う大規模なシステムでは、処理の負荷や障害の影響を分散するために、役割ごとにサーバを分けることがあります。

構成特徴
1台に複数のサービスをまとめる機器の台数や管理コストを抑えやすい
役割ごとにサーバを分ける負荷や障害の影響を分散しやすい
同じ役割のサーバを複数用意する多数のアクセスへ対応しやすい
クラウド上に構築する必要に応じて性能や台数を変更しやすい

個人の学習環境や小規模なWebサイトでは、1台のサーバに複数の役割を持たせることがあります。

一方、多くの利用者がアクセスするWebサービスでは、Webサーバを複数台用意したり、データベースサーバを別にしたりすることで、安定して処理できる構成にします。

DHCPサーバはネットワーク設定を自動で配布する

パソコンやスマートフォンがネットワーク上で通信するためには、IPアドレスなどの設定が必要です。

これらの設定を自動的に割り当てる仕組みがDHCPです。DHCPの機能を提供するサーバをDHCPサーバといいます。

家庭のWi-Fiにスマートフォンを接続すると、通常は利用者がIPアドレスを手入力しなくても、すぐにインターネットを利用できます。

これは、家庭用ルータに組み込まれたDHCPサーバ機能が、スマートフォンへ必要な設定を自動的に配布しているためです。

DHCPサーバは、主に次のような情報をクライアントへ渡します。

設定情報役割
IPアドレスネットワーク上で機器を識別する
サブネットマスク同じネットワークの範囲を判断する
デフォルトゲートウェイ外部ネットワークへ通信するときの送り先
DNSサーバのアドレスドメイン名からIPアドレスを調べる問い合わせ先
使用期限割り当てたIPアドレスを利用できる期間

DHCPがない環境では、利用者がそれぞれの機器に異なるIPアドレスを手動で設定しなければなりません。

このとき、複数の機器に同じIPアドレスを設定すると、通信が正常に行えなくなることがあります。また、デフォルトゲートウェイやDNSサーバの設定を間違えても、インターネットへ接続できません。

DHCPサーバを利用すれば、必要な設定をまとめて自動配布できるため、設定ミスを減らしやすくなります。

DHCPによるIPアドレス割り当ての流れ

ネットワークへ接続したばかりのクライアントは、まだ自分が使用するIPアドレスを持っていません。

そのため、ネットワーク上にDHCPサーバがないかを探し、IPアドレスの割り当てを依頼します。

一般的な流れは次のようになります。

手順処理
1クライアントがDHCPサーバを探す
2DHCPサーバが利用可能なIPアドレスを提案する
3クライアントが提案されたアドレスの使用を要求する
4DHCPサーバがIPアドレスの割り当てを確定する

DHCPによって割り当てられるIPアドレスには、通常、一定の使用期限があります。これをリース期間といいます。

利用中の機器は、必要に応じて期限の延長を要求します。ネットワークから長期間離れた機器のIPアドレスは、別の機器へ再利用できるようになります。

これにより、限られた範囲のIPアドレスを効率よく利用できます。

DNSサーバは名前とIPアドレスを結び付ける

インターネット上で通信相手を特定するためには、IPアドレスが必要です。

しかし、人がWebサイトへアクセスするときは、通常、数字で構成されたIPアドレスではなく、www.example.comのようなドメイン名を使用します。

ドメイン名とIPアドレスを対応付ける仕組みがDNSです。その問い合わせに応答するサーバをDNSサーバといいます。

用語説明
ドメイン名人が覚えやすいように付けられたWebサイトやサーバの名前
IPアドレスネットワーク上で通信先を識別する番号
DNSドメイン名とIPアドレスを対応付ける仕組み
DNSサーバドメイン名に対応するIPアドレスなどを調べるサーバ
名前解決ドメイン名から対応するIPアドレスを調べる処理

DNSは、電話帳や住所録に似た役割を持っています。

利用者は相手の名前を指定し、DNSサーバはその名前に対応するネットワーク上の住所を調べます。

たとえば、ブラウザにwww.example.comと入力すると、パソコンはDNSサーバへ、このドメイン名に対応するIPアドレスを教えてほしいという問い合わせを送ります。

DNSサーバからIPアドレスを受け取ると、ブラウザはそのアドレスを使ってWebサーバへ接続します。

DNSは複数のサーバで情報を管理している

インターネット上には非常に多くのドメイン名があるため、1台のDNSサーバだけですべての情報を管理しているわけではありません。

DNSは階層的な構造を持ち、複数のDNSサーバが役割を分担しています。

問い合わせを受けたDNSサーバが答えを持っていない場合は、ほかのDNSサーバへ順番に問い合わせながら、目的の情報を探します。

DNSに関わる仕組み主な役割
キャッシュDNSサーバクライアントから問い合わせを受け、必要な情報を調べる
ルートDNSサーバドメイン名の階層をたどる最初の手掛かりを示す
TLD DNSサーバcomやjpなどの領域に関する情報を管理する
権威DNSサーバ対象ドメインの正式な情報を管理する

一度調べた結果は、一定時間キャッシュDNSサーバやパソコンに保存されます。

同じWebサイトへ再びアクセスするときは、保存されている情報を利用できるため、毎回すべてのDNSサーバへ問い合わせる必要はありません。

この一時的な保存をDNSキャッシュといいます。

DNSキャッシュによって問い合わせ回数を減らし、Webサイトへの接続を速くできます。ただし、WebサーバのIPアドレスが変更された直後などは、古い情報が一時的に残ることもあります。

WebサーバはWebページのデータを提供する

Webサーバは、HTTPやHTTPSを使って、Webページに必要なデータをクライアントへ提供するサーバです。

ブラウザからリクエストを受け取ると、要求されたHTML、画像、動画、文書などを探し、HTTPレスポンスとして返します。

Webサーバが提供する主なデータ内容
HTMLWebページの文章や構造
画像写真、イラスト、ロゴなど
動画・音声ブラウザ上で再生するメディア
文書PDFなどのダウンロードファイル
プログラムの処理結果検索結果、商品情報、利用者ごとの画面など

Webサーバに保存されたHTMLファイルをそのまま返すページを、静的なWebページといいます。

一方、ニュースサイトやショッピングサイトのように、利用者や時間によって表示内容が変わるページでは、プログラムがデータベースなどから情報を取得し、その結果をもとにHTMLを生成します。このようなページを動的なWebページといいます。

ページの種類HTMLの用意方法主な例
静的なWebページあらかじめ作成したHTMLファイルを返す会社案内、固定された説明ページ
動的なWebページリクエストに応じてHTMLを生成する検索結果、会員ページ、通販サイト

どちらの場合でも、ブラウザはWebサーバから返されたHTMLなどを受け取り、その内容を解析して画面に表示します。

図2:DHCP・DNS・Webサーバの役割分担

この図から分かること

Webページを表示するまでには、複数のサーバが異なる役割を担当しています。

最初にDHCPサーバが、パソコンへIPアドレス、デフォルトゲートウェイ、DNSサーバのアドレスなどを配布します。これによって、パソコンはネットワーク上で通信するための準備を整えます。

次に、ブラウザへ入力されたドメイン名に対応するIPアドレスをDNSサーバへ問い合わせます。

WebサーバのIPアドレスが分かると、ブラウザはそのWebサーバへ接続し、表示したいページを要求します。Webサーバは要求されたHTMLや画像などをレスポンスとして返します。

DHCPサーバ、DNSサーバ、Webサーバは、それぞれ別の仕事を担当しています。これらが順番に働くことで、利用者は複雑なネットワーク設定やIPアドレスを意識せずにWebサイトを閲覧できます。

Webシステムは複数の構成要素で動いている

Webシステムとは、ブラウザからWebサイトやWebサービスを利用できるようにする仕組み全体を指します。

小規模なWebサイトであれば、ブラウザとWebサーバだけの単純な構成に見えることもあります。しかし、実際にはDNSサーバ、ネットワーク機器、データベースサーバなど、複数の構成要素が関わる場合があります。

構成要素主な役割
クライアントURLの入力や画面操作を受け付け、サーバへリクエストを送る
DHCPサーバクライアントへネットワーク設定を配布する
DNSサーバドメイン名に対応するIPアドレスを調べる
WebサーバHTMLや画像などをクライアントへ返す
アプリケーションサーバプログラムを実行し、必要な処理を行う
データベースサーバ商品情報や利用者情報などを保存、検索する
ルータネットワーク間でデータを中継する

たとえば、オンラインショップの商品ページを表示するとき、Webサーバだけで処理が完了するとは限りません。

Webサーバがアプリケーションサーバへ処理を依頼し、アプリケーションサーバがデータベースサーバから商品名や価格、在庫数などを取得することがあります。

取得した情報からHTMLを作成し、最終的にWebサーバを通してブラウザへ返します。

利用者から見ると一つのWebページですが、その裏側では複数のサーバが連携している場合があります。

Webサーバとアプリケーションサーバの違い

Webサーバとアプリケーションサーバは、どちらもWebシステムで使われますが、担当する処理が異なります。

Webサーバは、主にブラウザからHTTPリクエストを受け取り、HTMLや画像などを返します。

アプリケーションサーバは、プログラムを実行して、検索、ログイン、購入処理などを行います。

比較項目Webサーバアプリケーションサーバ
主な役割HTTPリクエストの受付とデータの配信Webサービスの処理を実行
主な処理HTMLや画像などを返す検索、計算、認証、登録など
扱う内容静的なファイルや処理結果プログラムや業務処理
連携先ブラウザ、アプリケーションサーバWebサーバ、データベースサーバ

実際のシステムでは、Webサーバとアプリケーションサーバの機能が同じソフトウェアや同じコンピュータ上で動くこともあります。

学習するときは、ブラウザとの通信を受け付ける役割と、プログラムの処理を行う役割を分けて考えると理解しやすくなります。

データベースサーバはWebサービスの情報を保存する

データベースサーバは、大量のデータを整理して保存し、必要な情報を検索したり更新したりするためのサーバです。

ショッピングサイトであれば、商品名、価格、在庫数、注文情報などがデータベースに保存されます。

会員制のWebサービスでは、利用者名、メールアドレス、ログイン情報などが管理されます。

Webサービスデータベースに保存される情報の例
ショッピングサイト商品、価格、在庫、注文履歴
予約サイト利用者、日時、空き状況、予約内容
ニュースサイト記事、公開日時、投稿者、分類
会員サイトアカウント、プロフィール、利用履歴
学習サイト教材、問題、回答、学習状況

ブラウザから検索操作が行われると、アプリケーションサーバは検索条件を受け取り、データベースサーバへ問い合わせます。

データベースサーバは条件に合う情報を返し、アプリケーションサーバがその情報をブラウザ向けの表示内容へ変換します。

このように、Webシステムでは、画面を配信するサーバとデータを管理するサーバが役割を分担しています。

ブラウザへURLを入力したときの流れ

利用者がブラウザへURLを入力してからWebページが表示されるまでには、複数の処理が行われます。

大きな流れを整理すると、次のようになります。

手順処理内容
1パソコンやスマートフォンがネットワークへ接続する
2DHCPサーバからIPアドレスなどの設定を取得する
3利用者がブラウザへURLを入力する
4DNSサーバへドメイン名を問い合わせる
5WebサーバのIPアドレスを取得する
6ブラウザがWebサーバへ接続する
7ブラウザがHTTPリクエストを送る
8Webサーバが要求されたデータを探す
9WebサーバがHTTPレスポンスを返す
10ブラウザが受け取ったHTMLなどを解析する
11Webページを画面に表示する

最初に、クライアントはネットワーク上で通信するための設定を持っている必要があります。

家庭や会社のネットワークでは、DHCPサーバからIPアドレスなどが自動的に割り当てられるのが一般的です。

次に、利用者がブラウザへURLを入力すると、DNSサーバを使って接続先のIPアドレスを確認します。

IPアドレスが分かると、ブラウザはWebサーバとの接続を開始します。HTTPSを利用するWebサイトでは、このとき暗号化通信の準備も行われます。

接続が完了すると、ブラウザは表示したいページを指定したHTTPリクエストを送信します。

Webサーバはリクエストを受け取り、要求されたHTMLなどをHTTPレスポンスとして返します。

最後にブラウザが受信したHTMLを解析し、見出し、文章、画像などを画面に配置します。

リクエストはクライアントから送られる要求

Webサーバとクライアントの通信は、基本的にクライアントからリクエストを送ることで始まります。

Webページを表示したい場合、ブラウザはWebサーバへ、指定したページを送ってほしいという要求を送信します。

HTTPで使用される代表的なリクエスト方法には、GETやPOSTがあります。

リクエスト方法主な用途
GETWebページやデータを取得する
POST入力フォームなどのデータをサーバへ送る
PUTサーバ上のデータを更新または作成する
DELETEサーバ上のデータを削除する

Webページを閲覧するときによく使われるのがGETです。

たとえば、ブラウザからお知らせページへアクセスすると、ブラウザはWebサーバへGETリクエストを送信します。

Webサーバは指定されたページを探し、見つかった場合はHTMLを返します。

問い合わせフォームへ氏名やメッセージを入力して送信するときには、POSTが使われることがあります。

ただし、実際にどの方法を使うかはWebサイトの設計によって異なります。

レスポンスには処理結果とデータが含まれる

Webサーバは、リクエストを受け取ると、その処理結果をHTTPレスポンスとして返します。

レスポンスには、HTMLや画像などのデータだけでなく、要求が正常に処理されたかどうかを示す情報も含まれます。

代表的なHTTPステータスコードは次のとおりです。

ステータスコード意味
200リクエストが正常に処理された
301ページが別の場所へ恒久的に移動した
302ページが一時的に別の場所へ移動している
403アクセスが許可されていない
404要求されたページが見つからない
500Webサーバ内部でエラーが発生した
503一時的にサービスを提供できない

正常にページを取得できた場合は、一般的に200が返されます。

存在しないURLへアクセスした場合は、404が返されることがあります。これは、Webサーバへ接続できなかったという意味ではなく、Webサーバが要求されたページを見つけられなかったことを表しています。

500や503が返された場合は、Webサーバやその裏側の処理に問題が起きている可能性があります。

ステータスコードを理解すると、Webページが表示されない原因がクライアント側にあるのか、サーバ側にあるのかを判断しやすくなります。

HTMLを受け取ったブラウザが画面を作る

Webサーバから返されるHTMLは、完成したWebページの画像ではありません。

HTMLは、見出し、段落、一覧、リンクなど、ページ内の情報がどのような役割を持つかを示す文書です。

ブラウザは受け取ったHTMLを上から読み取り、要素同士の関係を整理して画面を組み立てます。

HTMLに画像などの読み込みが指定されている場合、ブラウザはその画像を取得するための新しいHTTPリクエストをWebサーバへ送ります。

そのため、多くのWebページでは、最初のHTMLを受け取っただけですべての通信が終了するわけではありません。

ブラウザの処理内容
HTMLの受信WebサーバからHTMLデータを受け取る
HTMLの解析見出しや段落などの構造を読み取る
追加データの確認画像など、別途必要なファイルを見つける
追加リクエスト必要なファイルをWebサーバへ要求する
画面の描画受け取った内容を画面上に表示する

Webページが少しずつ表示されることがあるのは、ブラウザがデータを受け取りながら、解析と画面表示を進めているためです。

Webサーバは多数のクライアントへ同時に応答する

一般に公開されているWebサイトには、複数の利用者が同じ時間帯にアクセスします。

Webサーバは、それぞれのクライアントから届くリクエストを区別し、要求されたページを返します。

アクセス数が少ないWebサイトであれば、1台のWebサーバでも処理できる場合があります。しかし、利用者が増えると、1台だけでは処理しきれなくなる可能性があります。

そのため、大規模なWebサービスでは、同じ役割を持つWebサーバを複数台用意し、リクエストを分散させます。

対策主な目的
サーバの性能を高くする1台で処理できる量を増やす
Webサーバを複数台にするリクエストを分散する
キャッシュを利用する同じデータを毎回作り直す処理を減らす
画像などを別サーバから配信するWebサーバの負荷を減らす
データベースを分離するデータ処理の負荷を分散する

複数のWebサーバへアクセスを振り分ける仕組みを、負荷分散といいます。

負荷分散を行う機器やソフトウェアはロードバランサと呼ばれます。

ロードバランサは、利用者からのリクエストを受け取り、比較的余裕のあるWebサーバへ振り分けます。

これにより、一部のWebサーバだけにアクセスが集中することを防ぎます。

サーバは常に利用できることが求められる

多くのインターネットサービスは、昼夜を問わず利用されます。

そのため、サーバには長時間安定して動作することが求められます。

サーバが停止すると、Webサイトが表示できなくなったり、メールを送受信できなくなったりします。

サービスをできるだけ停止させないために、さまざまな対策が行われます。

対策内容
冗長化同じ役割の機器や回線を複数用意する
バックアップデータを別の場所へ保存する
監視サーバの状態や通信状況を継続的に確認する
更新OSやソフトウェアの問題を修正する
障害対応問題が起きたときに復旧できる手順を用意する
アクセス制御許可された利用者や通信だけを受け付ける

同じ機能を持つサーバを複数台用意しておけば、1台に障害が起きても、別のサーバでサービスを続けられる可能性があります。

また、データを定期的にバックアップしておけば、故障や操作ミスでデータを失ったときに復元できます。

サーバはサービスを提供するだけでなく、安全かつ安定して提供し続けるための管理も重要です。

図3:Webページ表示を支えるサーバの連携

この図から分かること

利用者が見るWebページの裏側では、複数のサーバが役割を分担して動いています。

DNSサーバはドメイン名に対応するIPアドレスを調べます。ロードバランサは、届いたリクエストを複数のWebサーバへ分散します。

WebサーバはブラウザからのHTTPリクエストを受け取り、必要に応じてアプリケーションサーバへ処理を依頼します。

アプリケーションサーバは、データベースサーバから必要な情報を取得し、ブラウザへ返す内容を作成します。

生成されたHTMLなどはWebサーバからHTTPレスポンスとして送られ、ブラウザが解析して画面へ表示します。

小規模なWebサイトでは、これらの役割を1台のサーバで担当することもあります。一方、大規模なWebサービスでは、負荷や障害の影響を分散するために、複数のサーバへ役割を分けます。

サーバが見つからない場合に起こること

Webページを表示できないときは、必ずしもWebサーバだけに問題があるとは限りません。

Webページが表示されるまでには、ネットワーク設定、DNS、通信経路、Webサーバ、アプリケーションなど、複数の仕組みが関係しています。

状況考えられる原因
ネットワークへ接続できないDHCPによる設定取得の失敗、Wi-Fiの問題
ドメイン名を解決できないDNSサーバへの接続やDNS設定の問題
Webサーバへ接続できないサーバ停止、通信経路、ポート設定の問題
ページが見つからないURLやファイルの保存場所の誤り
サーバエラーが表示されるWebサーバやアプリケーション内部の問題
表示内容が古いブラウザやサーバのキャッシュが残っている

たとえば、ドメイン名からIPアドレスを取得できなければ、ブラウザはWebサーバの場所を特定できません。

WebサーバのIPアドレスが分かっていても、Webサーバが停止していればページを取得できません。

Webサーバへ接続できても、指定したページが存在しなければ404などの応答が返されます。

このように、どの段階まで正常に処理が進んでいるかを確認すると、問題の原因を絞り込みやすくなります。

サーバを理解するとWeb制作の流れが見えやすくなる

HTMLファイルは、自分のパソコン内に保存してブラウザで開くだけでも確認できます。

しかし、作成したWebページをインターネット上へ公開する場合は、HTMLや画像などをWebサーバへ配置する必要があります。

利用者は、そのWebサーバへブラウザからアクセスし、HTMLを受け取ります。

Web制作では、HTMLの内容だけでなく、ファイルをどのサーバへ置くのか、どのURLでアクセスするのか、サーバが正常に応答しているかといった点も関係します。

Web制作で確認する内容サーバとの関係
HTMLファイルの保存場所Webサーバが公開できる場所へ配置する
ファイル名URLの一部として使用される場合がある
フォルダ構成Webサイト内のページや画像の場所に関係する
URLWebサーバ上のデータを指定する
HTTPステータスコードサーバ側の処理結果を確認できる
公開設定外部のクライアントからアクセスできるようにする

サーバの役割を理解していると、ブラウザにページが表示されないときにも、HTMLの書き方だけでなく、ファイルの配置場所やURL、サーバの応答などを確認できるようになります。

インターネット上のWebページは、ブラウザだけで作られているものではありません。

クライアントからの要求、DNSによる名前解決、Webサーバからの応答、必要に応じたアプリケーションやデータベースの処理など、多くの仕組みが連携しています。

普段は画面の向こう側に隠れているサーバの働きを意識すると、Webサイトが表示されるまでの流れを、より具体的に理解できるようになります。