【Webサーバーとは】役割や種類などを紹介する初心者向けWebサーバー入門書
Webサーバーという言葉を聞くこともあるとは思いますが、Webサーバーとは実際何の役割があるのか知ってますか?今回はWebサーバーについて初心者向けに解説していきます。
- Webサーバーとは何か?
- Webサーバーの役割は?
- 今のWebサーバーの人気はどれなのか?
- Webサーバーの種類には何があり、その特徴は?
などの疑問の解決が出来るよう、わかりやすく紹介していきます。
目次
Webサーバーとは
Webサーバーとは、簡単に言うと『クライアントからの要求されるリクエストに対して応えるソフトウェア』のことです。
もう少し具体的にWebサーバーが何をしているのかと言うと、Google ChromeやFirefox、IE(Internet Explorer)やMicrosoft Edge、SafariなどのWebブラウザと言われるクライアントが、Webサーバーに対して「WebサービスやホームページなどのWebページを表示して!」というリクエストを送り、それに対して適切な情報をWebブラウザ(クライアント)に返す(レスポンス)ことをWebサーバーはしています。
当たり前に感じていることではあると思いますが、Webサーバーがその当たり前な環境を作っており、非常に重要な役割を持っています。
またこのWebサーバーは、自作で構築する場合やレンタルサーバーを活用する場合などがあります。
Web3層構成
Webサーバーの役割についてもう少し詳しく知るために、Webサービスが構築されている基本的な構成である『Web3層構成』についても説明しておきます。
Webサービスは、基本下記3つの層で構成されています。
- Webサーバー
- アプリケーションサーバー(APサーバー)
- データベースサーバー(DBサーバー)
これらを合わせて『Web3層構成』と呼ばれています。
これにより負荷を分散させたり、保守的な意味でも大きな役割を持たせることが出来ます。
Webサービスの目的にもよりますが、基本的にはこの構成がほとんどです。
それではWeb3層構成でのそれぞれの役割についても見ていきましょう。
Webサーバーの役割
Webサーバーは、クライアントからのリクエストに対してレスポンスをしていますが、全てWebサーバーだけで完結している訳ではありません。
誰が見ても同じ結果になるような静的コンテンツであれば、基本Webサーバーのみで対応していますが、動的コンテンツを含むリクエストへの応答が必要な場合には、Webサーバーだけで対応すると負荷が高くなりパフォーマンスが低下する原因になってしまうため、アプリケーションサーバーにWebサーバーが再度リクエストをしています。
そしてアプリケーションサーバーより返ってきたものをクライアントへ提供しています。
単純にリクエストに対応するだけではなく、負荷を抑えるために適切な箇所へ再リクエストをする役割もWebサーバーが担っているのです。
要は、Webサーバーはクライアントとやり取りをする上で、最前線に立ち中間管理職のようにWebサーバー自身で対応したり、その他適材適所で作業の振り分けを行っています。
リクエストや返答の流れのイメージは下記のようになっています。
クライアント⇒Webサーバー⇒(アプリケーションサーバー⇒Webサーバー⇒)クライアント
アプリケーションサーバー(APサーバー)の役割
アプリケーションサーバーは、動的コンテンツを含むリクエストの対応や業務処理を含む応答の役割を担っています。
クライアントからWebサーバーへリクエストされたものの中からアプリケーションサーバーで対応するにふさわしいものが、Webサーバーからアプリケーションサーバーへリクエストされ、それに対しての返答をしています。
さらにその中で、データ等の情報が必要なリクエストがあればデータベースサーバーへ再リクエストを行い、データベースサーバーから返ってきたものを加工し、Webサーバーへ返答しています。
アプリケーションサーバーにより、Webサーバーの負荷を軽減しパフォーマンスの維持に努めています。
リクエストや返答の流れのイメージはこのようになっています。
クライアント⇒Webサーバー⇒アプリケーションサーバー⇒(データベースサーバー⇒アプリケーションサーバー⇒)Webサーバー⇒クライアント
データベースサーバー(DBサーバー)の役割
データベースサーバーは、その名の通りデータを提供する役割を持っています。
主には、アプリケーションサーバーからのリクエストに従って必要なデータを提供し、アプリケーションサーバーがこのデータを加工し、Webサーバーに返答しています。
リクエストや返答の流れのイメージは下記のようになっています。
クライアント⇒Webサーバー⇒アプリケーションサーバー⇒データベースサーバー⇒アプリケーションサーバー⇒Webサーバー⇒クライアント
Webサーバーとアプリケーションサーバー
今ではこの3層構成が主流ではありますが、それ以前は、Webサーバーとデータベースサーバーの2層構成でした。
しかしそれではWebサーバーの負荷が高くパフォーマンス低下に繋がっていたため、アプリケーションサーバーを含めた3層構成が主流になっています。
- Webサーバー:静的コンテンツへの対応とアプリケーションサーバーへのリクエスト、クライアントへの返答
- アプリケーションサーバー:動的コンテンツや業務処理への対応やデータベースサーバーへのリクエスト、Webサーバーへの返答
それぞれが役割を分けて対応することでパフォーマンス維持に繋がっているのです。
Webサーバーには、代表的なものとして『Apache』や『Nginx』、『IIS』などがあり、アプリケーションサーバーには、『Tomcat』や『Unicorn』などがあります。
Webサーバーのシェアランキング
それではWebサーバーで人気があるものは何なのか?現在のWebサーバーのシェアランキングのトップ10を紹介します。※アプリケーションサーバーも含まれています。
Webサーバー | シェア率 | |
1位 | Apache | 36.3% |
2位 | Nginx | 32.5% |
3位 | Cloudflare Server | 15.9% |
4位 | Microsoft IIS | 7.8% |
5位 | LiteSpeed | 7.2% |
6位 | Google Servers | 1.2% |
7位 | Node.js | 1.0% |
8位 | Tengine | 0.2% |
8位 | Tomcat | 0.2% |
10位 | Cowboy、Kestrelなど | 0.1% |
Webサーバーのシェアランキングはこのような結果になっています。
シェアランキングの1位と2位に位置するApacheとNginxは、それぞれ30%を超えるシェアを持っており非常に人気の高いWebサーバーとなっています。
この2つは企業のWebサーバーとしてはもちろん、レンタルサーバーでも活用されているWebサーバーです。
また人気なWebサーバーとして有名なMicrosoft社のIISが4位に位置付けています。
この表を見ると5位までのWebサーバーで99.7%ものシェア率になっています。
もちろんApacheとNginxを併用したりと複数のWebサーバーを使用するケースもあるため合計で100%は超えますが、5位までで多くのシェアを占めていることが分かります。
Webサーバーの種類と特徴
それでは代表的なWebサーバーの種類と特徴を紹介していきます。
Webサーバーとして有名なものはこの3つです。
- Apache
- Nginx
- IIS
Apacheの特徴
Apacheは、正式名称で『Apache HTTP Server』と言い、現在最も使用されているオープンソースのWebサーバーです。
登場から20年以上経ち、長い間Webサーバーとして第一線で活躍している豊富な実績を持っています。
動的なコンテンツへの対応に高いパフォーマンスを発揮できる魅力がありますが、同時接続への対応がイマイチでC10K問題が発生してしまうデメリットもあります。
Apacheについてメリットやデメリット、単価相場などもっと詳しく知りたい方はこちらも参考にしてみてください。
Apache案件の単価相場とこれまでの単価の動向 | freelance-attack
Webサーバーとして最も使用されていると言われる『Apache』。今回はApacheの特徴やApache案件の単価相場、平均単価、単価年推移などデータを交えながら解説していきますので、ぜひ参考にしてみてください。
Nginxの特徴
Nginxは、Apache同様オープンソースのWebサーバーで近年人気が高まりシェアを伸ばしています。
Apacheで問題としてあった同時接続への対応がNginxでは解消することができ、高いパフォーマンスを発揮します。
ただNginx単体ではWebサーバーとして十分な機能はなく、Apacheなどの他Webサーバーとの併用といった形で使用されるケースが多いです。
Nginxについてメリットやデメリット、単価相場などもっと詳しく知りたい方はこちらも参考にしてみてください。
Nginx案件の単価相場とこれまでの単価の動向 | freelance-attack
Webサーバーとして今人気が集まっており、多くのWebサーバーとして使用されている『Nginx』。今回はNginxとは何か?特徴やNginxの単価相場、平均単価、単価年推移などデータを交えながら解説していきますので、ぜひ参考にしてみてください。
IISの特徴
IISは、『Microsoft Internet Information Services』の略で、Microsoft Windowsの標準のWebサーバーです。
個人としてやレンタルサーバーなどには使用されることはなく、ビジネス用として広く使用され、Windowsベースでの開発で多く使用されています。
現在はWebサーバーのシェア率で4位になっていますが、このIISも非常に人気の高いWebサーバーです。
最後に
今回は、Webサーバーの仕組みや特徴、Webサーバーの種類やシェア状況について初心者向けに解説してきました。
今後Webサーバー周りを担当するエンジニアを目指す場合は、きちんと仕組みについて理解しておきましょう。
またどのソフトウェアがWebサーバーとして人気が高く需要があるのかという点も踏まえ今後の学習の参考にしてもらえればと思います。