Webサーバーの仕組みとは?ブラウザにページが表示されるまでを初心者向けに解説

Webサイトを開くとき、ブラウザにURLを入力するだけでページが表示されます。

しかし、その裏側ではDNSで接続先を確認したり、Webサーバーへデータを要求したりと、いくつかの処理が行われています。

「Webサーバーとは何なのか」「ブラウザからページが表示されるまで何が起きているのか」を知ると、DNSやHTTP、HTTPSなどの仕組みもつながって理解できるようになります。

Webサーバーとは?

Webサーバーとは、Webブラウザからの要求を受け取り、Webページなどのデータを返すサーバーです。

Webサイトを表示するとき、ブラウザはWebサーバーに対して、

「このページをください」

という要求を送ります。

Webサーバーはその要求を受け取り、必要なデータをブラウザへ返します。

その結果、ブラウザがHTMLやCSS、画像などを処理して、Webページとして画面に表示します。

Webサーバーは「Webページを提供する場所」

初心者の場合、Webサーバーを「Webサイトそのもの」と考えてしまうことがあります。

しかし、WebサーバーはWebサイトを構成するデータを提供する役割を持つコンピューターやソフトウェアです。

Webサイトを公開するには、こうしたサーバー上にWebページのデータなどを配置します。

ブラウザにページが表示されるまで

では、実際にWebページを開くとき、どのような流れになっているのでしょうか。

大まかには次のように進みます。

URLを入力

DNSで接続先を確認

Webサーバーへ接続

ページを要求

Webサーバーがデータを返す

ブラウザがページを表示

一つずつ見ていきましょう。

1.ブラウザにURLを入力する

まず、ChromeやSafariなどのWebブラウザにURLを入力します。

たとえば、

https://example.com

のようなURLです。

このURLには、アクセスするWebサイトのドメイン名や通信方式などの情報が含まれています。

ブラウザは入力されたURLをもとに、どのWebサイトへ接続するのかを判断します。

2.DNSで接続先を確認する

ドメイン名だけでは、ブラウザは接続先のサーバーを直接特定できません。

そこでDNSを利用して、ドメイン名に対応するIPアドレスなどの情報を確認します。

たとえば、

example.com

というドメイン名から、対応するIPアドレスを調べるイメージです。

DNSについては、Webサイトの名前と接続先を結びつける役割があります。

つまり、

ドメイン=人間が使いやすい名前
DNS=その名前から接続先を調べる仕組み

という関係です。

3.Webサーバーへ接続する

接続先の情報が分かったら、ブラウザはWebサーバーとの通信を開始します。

HTTPSを利用するWebサイトでは、TLSによる通信の保護も行われます。

その後、ブラウザからWebサーバーへページのデータを要求します。

このときに利用されるWeb通信の基本的なルールがHTTPです。

HTTPSの場合は、HTTPによる通信がTLSによって保護されます。

4.Webサーバーが要求を受け取る

Webサーバーは、ブラウザから送られてきた要求を受け取ります。

たとえば、

「トップページを表示したい」

「この画像を取得したい」

といった要求です。

Webサーバーは要求された内容を確認し、必要なデータを返します。

5.Webサーバーからデータが返ってくる

Webページを構成するデータには、HTML、CSS、JavaScript、画像などがあります。

Webサーバーは必要なデータをブラウザへ返します。

ただし、すべてのWebページが単純に保存されたHTMLファイルを返しているとは限りません。

Webサイトによっては、サーバー側でプログラムを実行したり、データベースから情報を取得したりして、その結果をページとして返すこともあります。

6.ブラウザがWebページを表示する

サーバーから受け取ったHTMLなどのデータを、ブラウザが処理します。

HTMLによってページの構造を理解し、CSSによってデザインを適用します。

JavaScriptが使われている場合は、ブラウザ上でプログラムが実行されることもあります。

こうした処理によって、最終的に画面上へWebページが表示されます。

Webサーバーとブラウザの役割

ここまでの流れを整理すると、Webサーバーとブラウザにはそれぞれ違う役割があります。

役割主な仕事
ブラウザWebページを要求し、受け取ったデータを表示する
Webサーバーブラウザからの要求を受け、Webデータを提供する
DNSドメイン名から接続先の情報を調べる
WebページHTML・CSS・画像などで構成される

簡単に言えば、

ブラウザ=Webページを見るためのソフト
DNS=接続先を探す仕組み
Webサーバー=Webページのデータを提供する役割

です。

Webサーバーは「サーバー」と何が違う?

「Webサーバー」と「サーバー」という言葉も混同されやすいポイントです。

サーバーとは、ネットワークを通じて他のコンピューターや利用者にサービスやデータを提供する側のコンピューターやシステムを指します。

その中でも、Webページを提供する役割を持つものがWebサーバーです。

ほかにも、

  • メールサーバー
  • DNSサーバー
  • データベースサーバー
  • ファイルサーバー

など、用途によってさまざまな種類があります。

つまり、Webサーバーは「サーバー」の一種と考えると分かりやすいでしょう。

Webサーバーにはどんなソフトが使われる?

Webサーバーとして動作する代表的なソフトウェアには、

  • Nginx
  • Apache HTTP Server

などがあります。

これらはWebブラウザからのHTTPリクエストを受け取り、設定に応じてWebページなどのデータを返します。

また、Webサイトの構成によっては、Webサーバーの前後にリバースプロキシやロードバランサーなどを配置することもあります。

サイトの規模が大きくなると、1台のサーバーだけですべての処理を行うのではなく、複数の役割に分けて運用するケースもあります。

静的なWebページと動的なWebページ

Webサーバーが提供するページには、大きく分けて「静的なページ」と「動的なページ」という考え方があります。

静的なWebページ

あらかじめ用意されたHTMLファイルなどを、そのままブラウザへ返すタイプです。

シンプルなWebサイトや、変更の少ないページなどで使われます。

動的なWebページ

ブラウザからの要求に応じて、サーバー側で処理を行い、その都度ページを生成するタイプです。

たとえば、ログインしているユーザーごとに表示内容を変えたり、データベースから最新の情報を取得したりするWebサイトなどがあります。

WordPressのようなCMSを使ったWebサイトも、サーバー側の処理やデータベースと連携してページを生成する仕組みが使われています。

Webサーバーとデータベースの関係

動的なWebサイトでは、Webサーバーだけですべての情報を管理しているとは限りません。

たとえばブログサイトでは、記事のタイトルや本文、ユーザー情報などをデータベースに保存していることがあります。

ブラウザからページの要求が届くと、

ブラウザ

Webサーバー

プログラム

データベース

必要なデータを取得

Webサーバー

ブラウザ

というように、複数の仕組みが連携する場合があります。

そのため、Webサイトの表示速度や障害を考えるときには、Webサーバーだけでなくデータベースやネットワークなども関係してきます。

Webサイトが表示されないときは何が起きている?

Webサイトが表示されないからといって、必ずWebサーバーだけに問題があるとは限りません。

たとえば、

  • DNSの設定に問題がある
  • ドメインの名前解決ができない
  • Webサーバーが停止している
  • HTTPやHTTPSの設定に問題がある
  • ファイアウォールで通信が遮断されている
  • データベースに問題がある
  • サーバーの負荷が高くなっている

など、さまざまな原因が考えられます。

そのため、Webサイトのトラブルを調べるときは、「サーバーが落ちた」とすぐに判断するのではなく、どの段階で問題が起きているのかを切り分けることが大切です。

Webサーバーを理解すると何が分かる?

Webサーバーの仕組みを理解すると、これまで別々に見えていたIT用語がつながってきます。

たとえば、

ドメイン
→ Webサイトの名前

DNS
→ 名前から接続先を調べる

HTTPS
→ ブラウザとサーバー間の通信を保護する

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

データベース
→ Webサイトで利用する情報を保存・管理する

という関係です。

この全体像が分かると、サーバーやWebサイトの仕組みを学ぶときに、それぞれの技術が何のために存在するのか理解しやすくなります。

まとめ

Webサーバーは、Webブラウザからの要求を受け取り、Webページなどのデータを提供する役割を持っています。

ブラウザでWebページを開くときは、単純にサーバーへアクセスしているだけではありません。

URLを入力
→ DNSで接続先を確認
→ Webサーバーへ接続
→ ページを要求
→ Webサーバーがデータを返す
→ ブラウザがページを表示

という流れで処理が進みます。

さらに動的なWebサイトでは、Webサーバーとプログラム、データベースなどが連携しています。

まずは、**「Webサーバー=Webページを要求に応じて提供する仕組み」**と覚えておけば、今後NginxやApache、リバースプロキシ、データベースなどを学ぶときにも理解しやすくなります。

Webサーバーとは簡単にいうと何ですか?

Webブラウザからの要求を受け取り、HTMLや画像などのWebページに必要なデータを提供するサーバーです。

Webサーバーと普通のサーバーは違いますか?

Webサーバーはサーバーの一種です。サーバーにはWebサーバーのほか、DNSサーバーやメールサーバー、データベースサーバーなどがあります。

Webページはどうやって表示されますか?

一般的には、ブラウザからURLを入力し、DNSで接続先を確認した後、Webサーバーへページを要求します。Webサーバーから返されたデータをブラウザが処理して、Webページとして表示します。

NginxやApacheはWebサーバーですか?

NginxやApache HTTP Serverは、Webサーバーとして利用される代表的なソフトウェアです。Webブラウザからのリクエストを受け取り、設定に応じてWebページなどのデータを提供します。

WebサーバーがあればWebサイトを作れますか?

Webサイトを公開するためにはWebサーバーが重要ですが、サイトの構成によってはDNS、ドメイン、データベース、プログラムなど複数の仕組みが必要になります。

類似投稿