Webサーバーとは
ブラウザ(クライアント)からのリクエストの要求を、
サーバー上にある該当ファイルを、返す(レスポンス)を行うのが基本となる
クライアントとサーバー
「クライアントサーバシステム」と、言われていて、
コンピューターを「サーバーとクライアント」に、役割分担して運用する仕組みのこと
サーバーを構成する上で、Webサーバーソフトウェアが必要になり、Webサーバーソフトをインストールすることで、Webサーバーの役割を果たすことが出来ることになります!
WEBサーバーの役割
通常、クライアントが情報を取り出すためには、ブラウザから要求(リクエスト)を行いますが、テキストや画像などのデータを格納しているサーバーが、要求に答えてレスポンスを行います。
その要求に答えるためのプログラムがサーバーに、インストールされているのが「WEBサーバーソフトウェア」になります。
- リクエスト
ページにアクセスする際、
「WEBブラウザ」から、データが置いてる「WEBサーバー」にリクエストする - レスポンス
リクエストをもらった「WEBサーバー」は、「WEBブラウザ」にレスポンスする
「WEBブラウザ」は、受け取っとデータを表示させます。
条件を満たしていれば、一般的なパソコンも「Webサーバー」に!
条件1 固定のグローバルIPアドレスを割り当てる
条件2 専用のWEBサーバーソフトウェアをインストール
2っの条件を満たせば、自宅サーバーを構築できることになる
サーバー構成(3層構成)
サーバー構成「オペレーティングシステム(OS)とアプリケーション」の橋渡し的な役割として
中間的な処理を行なうソフトウェアが「ミドルウェア」になります。
「ミドルウェア」は、「Webサーバ」「アプリケーションサーバ」「データベースサーバ」の
三層構造に分かれていて「3階層システム」や「Web3層構成」などとも呼ばれていますね!
- Webサーバ
デバイス(ブラウザ)からのアクセス(リクエスト)を、ブラウザに返す(レスポンス)するのが仕事になります。
「Webサーバ」は、ファイル(CSS・HTML)や画像などが置いてあり、静的コンテンツの送信を行います。※「PHP」など、動的処理は「APサーバ」に要求します。
- アプリケーションサーバ(APサーバ)
「Webサーバ」からの要求で「APサーバ」が動作します。
「PHP」など、動的処理の実行(動的ページを作成)することが仕事になります。動的処理をする際に、必要になる情報(データ)を、「DBサーバ」に問い合わせします。「DBサーバ」に格納されている情報(データ)を参照しながら動的コンテンツを作成します。
※「Wordpress」などは、「DBサーバ」に、記事内容が含まれています。 - データベースサーバ(DBサーバ)
「DBサーバ」は、「APサーバ」が動作する際に、情報(データ)を提供します。
「APサーバ」からの要求に対して、スムーズ(素早く)応答する必要があるので、高性能な「WEBサーバ・DBサーバ」ほど、全体的に動的処理性能が高くなります。
「Wordpress」の場合は、「PHP+データベース」で、「Webサーバ」「APサーバ」「DBサーバ」のプロセスを踏むので、、性能が良いサーバー構築が有効になりますね!
PHP動作モードには、いくつか種類があります。
レンタルサーバーによっても、サポートしているものが異なります。
- CGI版
- FastCGI
- モジュール版
- LSAPI
どのように優れているのか?については
WEBサーバーソフトの種類
レンタルサーバーと契約する際は、予め「WEBサーバーソフトウェア」が構成されているものが、サポート(提供)しているのですが、
その「WEBサーバーソフトウェア」には、種類があって、通常、従来から使用し続けている「Apache(アパッチ)」を採用していることになります!
Apache(アパッチ)は、利便性と信頼性が高く、オープンソース(無償)であることもあり、1995年にリリース以降、世界的に最も人気(需要)があるWEBサーバーとして活躍しています。
ですので、レンタルサーバーでは、
WEBサーバー(Apache)が、標準的に長きにわたって利用してきたのですが・・・・
ただ、近年(2017年あたり)から、WEBサーバー事情が変わりつつあり、
Apache(アパッチ)に変わる、WEBサーバーソフトが目立ち始めています。
1995年のインターネットの登場以来、爆発的に増え続け、スマートフォンをはじめ、日常生活に欠かせないものになってるなか、大量のアクセス処理やWEBサイトの表示速度(レスポンス)も重要視されている。
そういった中で、「Apache」のデメリットである
- リクエスト毎にプロセスが起動処理されるので、メモリリソースが大量に消費してしまう難点
- 「C10K問題」同時接続数がある一定数を超えたタイミングでサーバーがパンクしてしまう問題
多くのレンタルサーバーで、「Apache」が採用されている中、
「Apache」のデメリットを改善するために、WEBサーバーの切り替えが進んできていて、
大手のレンタルサーバーのWEBサーバーは、
高負荷に強く処理速度に特化したWEBサーバーを採用!しています。
レンタルサーバーで、利用されている「WEBサーバーソフトウェア」
- Apache(アパッチ)
従来から、世界的に利用されているWEBサーバー - Nginx(エンジンエックス)
2002年にリリース、C10K問題に対応すべく開発されたWebサーバー - LiteSpeed(ライトスピード)
Apacheと互換性が高く、超軽量・超高速な次世代WEBサーバー - IIS(Internet Information Services)
Microsoft社が提供する、Windows上で稼働するソフト
「Apache」と互換性が高い、「Nginx」や「LiteSpeed」が主流になりつつあります!
レンタルサーバー選びにも、大きく影響される部分でもあるので注目は高いです!
Webサーバーの市場(シュア)は?
「Apache」は、11年前の2010年には、70%以上のシェアが、2021年1月では、35%と落下を続ける中、比較的に新しい「Nginx」が、急激に増えている傾向が続いています。
一方、「LiteSpeed」も、着々と増やしていて、Apacheの後継として採用が進んでいるようです!
Q-Success社(オーストリアのコンサルティング会社)「W3Techs」調査サービス
レンタルサーバーで、採用が進んでいる「Nginx」「LiteSpeed」とは!