Webサーバーの役割と構成要素を簡単に解説!

Webページを公開する際必ず必要になるのが、ドメインとサーバーです。
今回は「サーバー」の中でもWebページ作成上、最も重要な「Webサーバー」の働きと必要な構成を、初心者の方向けに簡単に解説します。

※サーバーとドメインの解説は別の記事でしていますので、こちらからご覧ください。

Webサーバーとは?Webサーバーの役割・構成を知ろう!

Web サーバーの役割は、Webシステム上で、クライアント(利用者)のリクエストに応じた適切なWebページを表示させるというものです。

具体的には、サーバーの説明のページで触れたように、
・HTMLやCSS、JavaScriptで書かれたデータやファイル等を保管する
・クライアントがWebブラウザから送った要求に応じてファイルを送信する
・プログラムを実行し、クライアントで表示する内容を動的に変える

などの作業をしてくれています。

そんな、Webシステムの根幹を担うWeb サーバーは、どんな構成になっているのでしょうか?

Web サーバーのOS(オペレーションシステム)

コンピューターと同じく、サーバーにもOSが必要です。
WindowsパソコンのWindows OSのようなもので、OSがインストールされて初めて起動します。

サーバー向けOSは、多数のクライアントからの同時接続があっても、常に安定して稼働できるよう設計されています。また、不特定多数のクライアントが同時に利用することを前提とし、PC用OSよりもセキュリティや耐久性に配慮されたものになっています。

Webサーバー向けの代表的なOSは下記の3種類があります。

  • Linux(リナックス)系のサーバーOS
    • ソースコードを公開している(オープンソース)
    • ライセンス料がかからないため、低コストで利用可能
  • Windows系サーバーOS
    • マイクロソフト社が展開しているサーバーOS
    • ライセンス料や利用人数に伴ったコストがかかる
  • UNIX(ユニックス)系サーバーOS
    • 最も長い歴史があるサーバーOSの元祖
    • 商用サポートは有料で、知識や技術を持った人でないと操作が難しい

Web サーバーのソフトウェア

次に、OSが入っただけでは、利用者がやりたいことは中々できません。
Windowsパソコンでも「文章を作りたい」という時に、Microsoft Officeなどの文書作成のソフトウェアを起動しますね。
サーバーも同じで、WebサーバーがWebサーバーとしての仕事をするためには、OSの他に、そのためのソフトウェアが必要です(ミドルウェアとも呼ばれます)。

Web サーバー向けの代表的なソフトウェアには下記3種類があります:

  • Apache(アパッチ)
    • ソースコードを公開(オープンソース)しており開発の自由度が高い
    • Webサーバーのソフトウェアとして世界トップのシェア率
  • Nginx(エンジンエックス)
    • ソースコードを公開(オープンソース)しているが、機能強化の有料版もある
    • 並行処理性能の高さなどに定評あり
  • IIS(アイアイエス)
    • マイクロソフト社が展開しているソフトウェア
    • Windows OSのサーバーに標準で搭載されている

アップロードされたWeb ページのデータ

最後に、Webページをインターネット上で公開するには、

・HTMLやCSS、JavaScriptで書かれたWeb ページのデータ
・画像や動画などのファイルデータ

などの、実際のページのデータをWebサーバーにアップロードしておく必要があります。

Webサーバーが役割を果たす上で必須の構成要素

以上を一旦まとめると、Webサーバーが動く上で絶対に必要な構成要素は下記3つです。
・Web サーバーOS
・Web サーバーソフトウェア
・Webページのデータ
しかし、これだけでは、実はWebサーバーのもう一つの仕事である「プログラムを実行し、クライアントで表示する内容を動的に変える」ことができません
Web サーバーをサポートしている、他の2つの要素ををさらに見ていきましょう。

Web サーバーをサポート:データベースサーバーとプログラム

静的ページと動的ページとは?

実は、Webページには、静的ページ動的ページの大きく2種類があります。
静的ページは、「誰が見ても同じ」ページです(例えばこのページです)
動的ページは、ログインページや銀行の口座残高確認サイトのように、利用者のリクエストによって、表示される内容が変わるページです。

動的ページの例:「ログインページ」

  • ログインする マイページへ
  • ログインに失敗する 再度ID・パスワードを入力するページへ
  • ログインに3回失敗する パスワードを変更するページへ

これは、Web サーバー単体では処理できず、Webサーバーが「データベースサーバー」と「プログラム」によって協力作業することによって可能となる動きです。

データベースサーバーの役割とソフトウェア

データベースサーバーとは、データベース管理システムが動作しているサーバーを指します。
また、データベース管理とは、データベースに新たなデータを書き込んだり、今ある情報を引き出したり、更新したりすることです。

例えば、下記のような情報です。

ユーザーIDパスワードメールアドレス最終ログイン
XXXXXXX12345xxxx@xxxxxx.com2022/01/01 5:55
例:ログインページ
ユーザーIDパスワード口座番号現在の残高
XXXXXXX12345AA0987654¥10,000
例:銀行口座の情報

また、データベースサーバーもサーバーなので、その役割を果たすにはソフトウェアが必要です。
データベースサーバー向けの代表的なソフトウェアは下記3つです。

  • MySQL(マイエスキューエル)
  • MariaDB(マリアディービー)
  • PostgreSQL(ポストグレスキューエル(ポスグレとも))

かなり専門的な領域になりますので、読み方を知っておく、くらいで問題ないと思います。

Webサーバーとデータベースサーバーの架け橋:プログラム

最後に、Webサーバーとデータベースサーバー間のやり取りの処理を行っているのが「プログラム」です。もう一度、ログインページの例を見てみましょう。

動的ページの例:「ログインページ」

  • ログインする マイページへ
  • ログインに失敗する 再度ID・パスワードを入力するページへ
  • ログインに3回失敗する パスワードを変更するページへ

ここで、利用者がWeb のログインページで入力したデータ(例:ユーザー名とパスワード)をデーターベースサーバーに照会し、整合したら、マイページを表示する、という処理・判断しているのが「プログラム」です。
同じく、パスワード変更になった場合に、新しいパスワードをデータベースサーバー上で書き換えると判断をするのも「プログラム」です。

Webサーバーとデータベースサーバー間を取り持つ「プログラム」の代表的な言語に、

  • PHP(ピーエイチピー)

が、あります。

今回のまとめ

現在、Webシステム上でWebページを使っていれば、静的ページ・動的ページのどちらもよく利用することがあると思います。つまり、いわゆる普通のWebページを作る場合、Webサーバーに必要な構成要素は以下の4点になります。

1 サーバー用OS
2 Webサーバー用のソフトウェア
3 データベースサーバー用のソフトウェア
4 サーバー間を取り持つプログラム

次は、その1〜4の標準環境(代表のプログラム)と言える「LAMP環境」について説明したいと思います。

最後までご覧いただきありがとうございました。

関連記事

コメント

この記事へのコメントはありません。