インターネットはどうやって表示されているの?
Web三層構造について説明する前に、まずはインターネットが表示される仕組みについて理解する必要があります。
まず、インターネットの表示される仕組みについて「静的ページ」「動的ページ」の二つに分けられます。
(青矢印:静的ページの流れ/オレンジ矢印:動的ページの流れ)
静的ページ
- ①ユーザーがURLをクリックするとWebサーバにつながります。
- ②Webサーバがファイルを探し出してブラウザに返します。
動的ページ
- ①ユーザーがURLをクリックするとWebサーバにつながります。
- ②~⑤
ブラウザで解釈できないプログラムが含まれていた場合は(PHPなど)、WebサーバからAP(アプリケーション)サーバに接続し、HTMLなどの形式に変換し結果をユーザーに返します。 - ⑥Webサーバがファイルを探し出してブラウザに返します。
Webサーバに全てのデータを保管する事も出来ますが、セキュリティの為に記事内容などのデータはDBサーバで保管されていることが多いです。
Webサーバ、APサーバ、DBサーバについて知りたい人は、こちらの記事をチェックしましょう。
静的ページとは?表示が早いけど更新しにくい
静的ページとは、Webサーバに入っている「HTML、CSS、Javascript、画像ファイル」で構成されるページです。
ユーザーがURLをクリックすると、Webサーバからデータを探し出して、結果をそのままブラウザ(ユーザー)に返します。
そのため、動的ページに比べて表示速度が速いです。
動的ページとは?表示が遅いけど更新しやすい
ユーザーがURLをクリックすると、WebサーバはAPサーバやDBサーバのデータを参照して、その都度1枚のページを作成します。
そして、その結果をブラウザ(ユーザー)に返します。
つまり、動的ページはユーザーがアクセスしてからページを作成するので、ページをそのまま返す静的ページに比べて表示に時間がかかります。
昔は静的ページしかありませんでしたが、最近ではインターネットの表示速度が上がっているため、現在ほとんどのWebサイトが動的ページで作られています。
Web三層構造とは?Web二層構造との違いを比較!
Web三層構造とは?
Web三層構造とは、三つのサーバ「Webサーバ」「APサーバ」「DBサーバ」から構成されるWEBアプリケーションの構成のことを言います。
Web三層構造の流れ
①URLを通してWebサーバにリクエスト・要求を行う。
②URLを解釈し、リクエストされたファイルを探す。ファイルがJavaやRuby、phpプログラムならAPサーバに解釈・実行を要求する。
③②で要求されたプログラムを解釈する。データの保存、読み込みが必要な場合はDBサーバにデータ管理を要求する。
④APサーバからのデータの保存、読み込みの要求に応答。必要なデータを探しAPサーバに返す。
⑤結果をブラウザが解釈できるHTMLなどの形式にして返す。
⑥ブラウザに表示する。
Web二層構造とは?
以前は、Webサーバだけで「Java、PHP、Ruby」などの処理を含めた、全ての処理を行っていました。
このように、WebサーバとAPサーバが一緒になった構成を「Web二層構造」と言います。
しかし、現在ではほとんどのWebサービスの設計が「Web三層構成」で作られています。
理由は、Web二層構造よりも、Web三層構造のメリットがたくさんあるからです。
Web三層構造のメリット4つ
Web三層構造のメリットを4つ解説します。
メリット① セキュリティを高める
一般的な企業では、DBサーバ(データベースサーバ)の中に大切な顧客情報が保存されており、万が一この情報が流出してしまうと大問題になります。
つまり、Webサーバ、APサーバ(アプリケーションサーバ)、DBサーバ(データベースサーバ)が一台にまとまっていると、ユーザーから直接DBサーバ(データベースサーバ)にアクセスしやすくなってしまいます。
そのため、構造を一つ増やすことで、セキュリティを高めることができます。
メリット② コストを抑える
システムは常にアップデートされます。
Webサーバ、APサーバ(アプリケーションサーバ)、DBサーバ(データベースサーバ)が一台にまとまっていると、どれか一つに問題があった時でも、全てを変更しなければなりません。
また、問題箇所を探るための解決にも時間がかかり、莫大なコストがかかってしまいます。
三層構成にすることによって、それぞれの機能を分けて変更するため、更新コストを大きく削減することが出来るのです。
メリット③ 処理速度の向上
以前はWEBサーバとアプリケーションサーバが一緒になっている「Web二層構造」でした。
静的ファイル(HTML、CSS、画像など)はWebサーバ、動的ファイルを使用する場合のみアプリケーションサーバに繋げることで処理速度がアップしました。
メリット④ 管理がしやすい
サーバに不具合が発生した際、一台のサーバーにWebサーバ、APサーバ(アプリケーションサーバ)、DBサーバ(データベースサーバ)がまとまっているとシステムが全停止になり、復旧するまでサーバに一切アクセス出来なくなります。
三つに役割を分けることで、全停止ではなく一部機能の停止で済みます。
まとめ:今のサイトはWeb三層構造が当たり前!
と言うことで、現在世界中で公開されているWebサイトは、ほとんどWeb三層構造になっています。
コメント