
サーバーとは?レンタルサーバーの役割とHPが表示される仕組みを解説
前回の記事(「ドメインとは?独自ドメインの仕組みと取得・維持の考え方を解説」)では、ドメインの仕組みについて解説しました。
この記事では、ドメインの先にある「サーバー」に焦点を当て、ホームページが実際に表示される仕組みと、レンタルサーバーの役割を解説します。
サーバーとは何か:ハードウェアとソフトウェアの両方を指す言葉
「サーバー」という言葉は、ハードウェアとソフトウェアの両方を指して使われます。
Mozillaが公開しているMDN Web Docsによると、ハードウェアとしてのWebサーバーは、Webサイトを構成するHTML文書・画像・CSS・JavaScriptファイルなどを格納し、インターネットに接続されたコンピュータです。
ソフトウェアとしてのWebサーバーは、そのファイルへのアクセスを制御する仕組みで、最低限「HTTPサーバー」と呼ばれる、URLとHTTP(ブラウザとの通信プロトコル)を理解するソフトウェアが必要です。
私たちが日常的に「サーバー」と呼んでいるものは、この両方(ファイルを保存しているコンピュータと、それを配信するソフトウェア)がそろって初めて機能します。
HPが「表示される」までの流れ
ブラウザにURLを入力してからページが表示されるまで、サーバー側では次のような処理が行われています。
まず、ブラウザがリクエストしたURLを、HTTPサーバー(ソフトウェア)が受け取ります。
次に、リクエストされたURLに一致するファイルが、サーバー内に存在するかどうかを確認します。
該当するファイルが見つかれば、そのままブラウザへ送り返されます。
ファイルが見つからない場合や、内容を都度組み立てる必要がある場合は、次に説明する「アプリケーションサーバー」が処理を行ったうえで、ブラウザへ送り返します。
どちらの場合も、応答はHTTPレスポンスという形でブラウザに返され、ブラウザがそれを画面上に描画することで、私たちの目に「ページが表示された」状態になります。
静的サーバーと動的サーバー:WordPressになぜPHPとデータベースが必要なのか
Webサーバーは、扱うコンテンツの性質によって、大きく「静的」と「動的」の2種類に分けられます。
MDNの説明によると、静的Webサーバーは、保存してあるファイルをそのままブラウザへ送信する仕組みで、構成がシンプルです。
一方、動的Webサーバーは、静的Webサーバーの仕組みに加えて、「アプリケーションサーバー」と「データベース」を組み合わせて使います。
リクエストを受け取るたびに、テンプレートとデータベースの中身を組み合わせて、その場でHTML文書を組み立ててからブラウザへ送るのが特徴です。
WordPressはこの動的Webサーバーの仕組みを使っており、記事の本文や設定はデータベース(MySQLまたはMariaDB)に保存され、PHPというプログラミング言語が、リクエストのたびにテンプレートとデータベースの内容を組み合わせてページを作っています。
レンタルサーバーを選ぶ際に「PHP対応」「MySQL対応」といった条件を確認する必要があるのは、WordPressがこの仕組みで動いているためです。
レンタルサーバーとは何か:共用・VPS・専用サーバーの違い
「レンタルサーバー」とは、Webサーバーとして必要な機能があらかじめ用意された状態で、事業者から借りて使うサービスの総称です。
自分でサーバー用のコンピュータを用意し、24時間稼働させ、通信環境やセキュリティを管理するのは、個人や小規模な事業者にとって現実的ではありません。
レンタルサーバーは、大きく「共用サーバー」「VPS(仮想専用サーバー)」「専用サーバー」の3種類に分けられます。
共用サーバーは、1台の物理サーバーを複数の契約者で共有する形式で、費用を抑えやすく、WordPressの簡単インストール機能が用意されていることも多いため、小規模なホームページ運用に向いています。
VPSは、1台の物理サーバー上に仮想的な区画を作り、契約者ごとに専有させる形式で、共用サーバーよりも自由度の高い設定ができる一方、サーバーの管理知識が必要になります。
専用サーバーは、物理サーバーを1台まるごと契約者が使う形式で、大規模なアクセスが見込まれる場合や、独自の要件がある場合に選ばれます。
一般的な企業のコーポレートサイトやLPであれば、共用サーバーで十分に運用できるケースがほとんどです。
おわりに
サーバーは、ホームページのファイルを保存し、リクエストに応じて配信する仕組みで、ハードウェアとソフトウェアの両方で成り立っています。
WordPressのようなCMSは、この中でも動的Webサーバーの仕組みを使っており、レンタルサーバーを選ぶ際はPHPやデータベースへの対応状況を確認する必要があります。
次の記事では、URLの「https」が示す暗号化の仕組み、SSLについて解説します。
参考にした情報
- ウェブサーバーとは(MDN Web Docs、Mozilla) https://developer.mozilla.org/ja/docs/Learn_web_development/Howto/Web_mechanics/What_is_a_web_server
- レンタルサーバーとは?共用・専用・VPSなどのサービス種類を分かりやすく解説(CPIレンタルサーバー) https://knowledge.cpi.ad.jp/basic-knowledge/18/