【ネット初心者用】Webサーバの仕組みと役割を出来るだけ簡単に説明

ネット知識

 

Webサーバーの役割、知っていますか?

 

ネットにおいて重要なWebサーバ。その役割を説明できる人は実はあまりいないのではないのでしょうか?

 

ここでは、そのWebサーバについての仕組みと役割を説明していきます。ここで説明する基礎知識を身に着ければ「Webサーバとは」「Webサイトとの関係は?」という疑問が簡単に分かるでしょう。

 

Webサーバーとは

 

Webサーバーとは?をざっくり説明すると、

 

HTTP通信にのっとりクライアントのリクエストを受け、そのリクエストに応じた実行結果をクライアントに返すコンピューターのことです。

 

これだけ言われてもさっぱりわからないでしょう。

そもそもクライアントって?実行結果ってなんの実行結果?HTTP?など疑問が出るでしょう。

 

説明しておくと、クライアントとはユーザーや使っているブラウザのことで、実行結果とは求められたもの(例えばサイトのページ)の内容、HTTPとはネットワーク上でデータをやり取りする際の通信手順の決まりみたいなものです。

 

 

以上のことから、難しい言葉を使うと上のような説明になるだけで要は「決められた通信方法を使って、ユーザー(あなた)がほしいページをネット世界の中から探し出し、そのページ内容を渡してくれる機械」がWebサーバです。

 

WebサーバにはWebサーバーソフトとよばれるソフトウェアが組み込まれていて、そのソフトによってサーバの役割を果たせています。

 

しかし、その「ユーザーが求めるページを探し出し、内容を渡す」というWebサーバの仕事の裏にはいくつかの工程があります。

 

具体的には以下の5工程です。

 

  • クライアントがドメインを入力してページを要求する
  • DNSサーバがドメインに一致するIPアドレスをクライアントに渡す。
  • クライアントがWebサーバにIPアドレスを渡す。
  • WebサーバがデータベースからIPアドレスに対応するページを探し出す。
  • Webサーバが見つけたページの実行結果をクライアントに渡す

 

以下ではその5工程について説明していきます。

 

Webサーバーの仕事5工程

 

この5工程には4人の登場人物がでてきます。

 

  • クライアント
  • DNSサーバ
  • Webサーバ
  • データベース

 

の4つです。

 

第1工程:まずはドメインを入力する

 

まずはドメインを入力し、検索することから始まります。

 

ドメインとはURLの「http://」から右にある文字列のことです。例えばこのサイトのトップ画面は「http://yukawano.net」というURLの黄色マーカーの部分です。このドメインが見たいページがどこにあるのかを表す住所です。

 

ドメインを検索するとそのドメイン名がDNSサーバに運ばれます。

 

第2工程:DNSサーバーがIPアドレスを返す

 

 

DNSサーバとは”ドメイン名に対応するIPアドレス”を記憶している場所です。検索したページを表示するには、ドメイン名をIPアドレスに変換する必要があるのです。

 

なぜドメイン名をIPアドレスに変換する必要があるのかというと、通常私たちがページを特定するのに使うドメイン名をコンピューターは理解できないからです。

 

なので、このドメイン名をコンピューターが理解できるIPアドレス(数字の羅列)に変換してあげる必要があります。その「ドメイン名→IPアドレス」と「IPアドレス→ドメイン名」の対応表を持っているのがDNSサーバというわけです。

 

 

ドメインをDNSサーバに渡すと対応するIPアドレスをクライアントに返してくれます。このIPアドレスをもとにコンピューターはページを探し出すことができます。

次に受け取ったIPアドレス(コンピューターが理解できるのページの住所)をWebサーバーに渡します。

 

第3工程:IPアドレスをWebサーバーに渡す

 

 

Webサーバーに見たいページのIPアドレス(住所)を渡して、こちらにくれるよう要求します。渡されたIPアドレスはコンピューターが理解できる数字の羅列なので、Webサーバーは問題なくそれを理解できます。

 

Webサーバー自身は目的のページを持っていません。ページを持っているのはデータベースです。なので今度はWebサーバーがデータベースにIPアドレスに対応するページを要求します。

 

第4工程:Webサーバーがデータベースからページを見つける

 

 

データベースにはネット上のあらゆるデータが保管されています。ブログやサイトのページ、あなたがいつか入力したメールアドレスや名前などの顧客情報など様々なデータが保存されています。

 

データベースはWebサーバーからの条件に一致するページをそのまま返します。

 

やっと最後の作業です。ラストはページに書かれたプログラムを実行して、その実行結果をクライアント返す作業です。

 

第5工程:Webサーバーが実行結果を返す

 

Webサーバーはデータベースから受けっとったページ内容をそのままクライアントに返すのではなく、一度読み込みます。

 

基本的にページはプログラミング言語によって構成されています。難しいプログラミング言語で書かれたモノをそのままクライアント側に返しても仕方ありません。

 

 

なのでWebサーバー側でそのプログラムを実行してその結果だけをクライアント側に返します。そして実行結果にHTMLやCSSなどがあればブラウザ側で実行して、その実行結果をパソコンやスマホのディスプレイとして表示させます。

 

 

もちろん、クライアント側のブラウザで実行するプログラミング言語もあるので、通常はWebサーバとブラウザの両方でプログラムを実行した結果を私たちは見ているわけです。

 

 

Webサーバが実行する主なプログラム言語は、

 

  • PHP(ピーエイチピー)
  • Perl(パール)
  • Rudy(ルビー)
  • Python(パイソン)
  • JavaScript(ジャバスクリプト)
  • Java(ジャバ)
  • C#(シ―シャープ)

 

などです。使うWebサーバによっては扱っていない言語もあります。ブラウザも同じで扱える言語と扱えない言語があります。

 

 

ここまでの3~6工程の図にすると以下のようになります。

 

 

以上で一番最初のドメインを含むURL検索から目的のページを表示させることが出来ました。結構面倒なことをしているように見えますが、毎回こんなことをしているわけではありません。

 

 

コンピューターには一度実行されたページは一時的に記憶するキャッシュするという便利な機能があります。なのでキャッシュされている間は、一回目よりもはやく読み込むことが出来ます。

 

まとめ

 

 

Webサーバとは、クライアントが要求するデータをデータベースからとってきて、そのデータ内のプログラムを実行してその実行結果をクライアントに返すコンピューターです。WebサーバーにはWebサーバソフトが組み込まれています。

 

 

ちなみに、Webサーバソフトとして有名なの物は

 

  • Apache(一番有名)
  • nginx
  • IIS

 

などがあります。

 

また、Webサーバソフトを個人のパソコンに入れることによって個人のパソコンにサーバの仕事をさせることもできます。PHP,Java,Perl,Rudyなどのプログラム言語の開発の実行環境として使われることがあるのですが、XAMPPなどが有名です。

 

わざわざお金をだしてレンタルサーバと契約する必要もなく、多種類のプログラム言語を扱うことが出来ます。

 

以上がWebサーバの仕組みと役割でした。

コメント