厳密には、Webサーバーはアプリケーション・サーバーの共通機能のサブセットにあたります。
Webサーバーは、主にWebブラウザーからのハイパーテキスト転送プロトコル(HTTP)要求に応答して、静的なWebコンテンツ(HTMLページ、ファイル、画像、動画など)を配信します。
通常、アプリケーション・サーバーもWebコンテンツを配信できますが、その主な役割は、エンド・ユーザー・クライアントとサーバー側のアプリケーション・コード (しばしば、ビジネス・ロジックと呼ばれるコード)との間の対話を可能にして、トランザクション結果、意思決定サポート、リアルタイム分析などの動的コンテンツを生成して配信することです。 アプリケーション・サーバーのクライアントには、アプリケーション自体のエンド・ユーザーのUI、Webブラウザー、モバイル・アプリを使用することができます。クライアントとサーバーの対話は、さまざまな通信プロトコルを介して実現されます。
ただし、実際には、Webサーバーとアプリケーション・サーバーの間の境界線はあいまいになっています。特に、Webブラウザーがアプリケーション・クライアントとして浸透し、Webアプリケーションとそのパフォーマンスに対するユーザーの期待が高まるにつれて、この傾向は顕著となっています。
大部分のWebサーバーは、スクリプト言語(ASP、JSP、PHP、Perlなど)用のプラグインをサポートしています。これにより、Webサーバーでサーバー・サイド・ロジックに基づいた動的コンテンツの生成が可能となっています。 一方、ますます多くのアプリケーション・サーバーが、Webサーバー機能を組み込むだけでなく、HTTPを主要プロトコルとして使用し、Webサーバーとのインターフェース用にその他のプロトコル(CGIやCGI系統のプロトコルなど)をサポートするようになっています。 これに加えて、アプリケーション・サーバーでは、リバース・プロキシー、クラスタリング、冗長構成、 ロード・バランシングなどのサービスをWebアプリケーションが活用できます。これらのサービスにより、パフォーマンスと信頼性が向上し、開発者はインフラストラクチャーよりもコーディングに集中することが可能となります。
多くのWebサーバーと一部のアプリケーション・サーバーが、 Webアプリケーション・サーバーと呼ばれている、あるいは銘打っていることも、さらにややこしくなっている一因です。
つまり、今日最も広く使用されているWebサーバーとアプリケーション・サーバーは、両者のハイブリッドであるということです。 機能のますます充実した今日のアプリケーションのほとんどは、静的Webコンテンツと動的アプリケーション・コンテンツの組み合わせを特徴としており、Webサーバーとアプリケーション・サーバーのテクノロジーの組み合わせによって実現されています。
市場はWebサーバーとアプリケーション・サーバーで溢れており、ここですべてを挙げることはできません。 ここでは、現在利用可能な中で最も人気のある無料のオープンソースの製品をご紹介します。
Nginx (英語)(ibm.com外部へのリンク) は、リバース・プロキシー、ロード・バランシング、メール・プロキシー、HTTPキャッシュの機能を備えた、オープンソースのWebサーバーです。 サポート付きの商用バージョンのNginxも、 Nginx社から提供されています (ibm.com外部へのリンク)。 インターネット調査とサイバー犯罪防止を手掛ける企業である Netcraft社(英語)(ibm.com外部へのリンク)によれば、Nginxは、2019年12月の時点で、世界中のすべてのWebサイトの38%近く、そして最もビジーなサイト上位100万の25%超に、サービスを提供またはプロキシーしています。 Dropbox社、Netflix社、Zynga社などの世界的に有名な企業が、Nginxを使用しています。
1995年に初めてリリースされたApache HTTP Server(別名「Apache」)もまた、非常に人気のある無料のオープンソースのWebサーバーです。ごく最近、2019年4月にNginxに追い抜かれるまでは、他のどのWebサーバーよりも(ピーク時には71%に達する)多くのWebサイトで使用されていました。 2019年12月の時点で、Apacheは世界中のすべてのサイトの24%超、そして最もビジーなサイト上位100万の31%に、サービスを提供しています。
Apache Tomcat(英語)(ibm.com外部へのリンク) は、Java Servletを実行し、JavaServer Pagesのコードを含むWebページをレンダリングして配信し、Java Enterprise Edition(Java EE)アプリケーションを提供する、オープンソースのアプリケーション・サーバーです。 1998年にリリースされたTomcatは、最も広く使用されているオープンソースの Java アプリケーション・サーバーです。
Glassfish(英語)(ibm.com外部へのリンク) は、2006年にSun Microsystems社によって立ち上げられたオープンソースのJava EEアプリケーション・サーバーであり、今日、 Eclipse Foundation(英語)(ibm.com外部へのリンク)によってホストされています。 Glassfishは、ほとんどのJavaアプリケーション・サーバーと同様、Java Servlet、Enterprise JavaBeans(EJB)などをサポートしますが、HTTP要求に応答してWebコンテンツを提供するWebサーバーとしても機能します。
IBM® WebSphere® Application Serverは、Javaアプリケーションおよびエンタープライズ・アプリケーションの構築と実行のための最も進化したアプリケーション・サーバーです。
次世代のアプリケーションとクラウド・サービスのための包括的で柔軟なJava EEおよびMicroProfileアプリケーション・サーバーです。
WebSphere® Hybrid Editionを活用して、クラウドネイティブな開発、アプリケーションのモダナイゼーション、既存アプリケーションのサポートを推進する方法をご覧ください。