厳密な定義では、Webサーバーはアプリケーション・サーバーの一般的なサブセットです。
ウェブ・サーバーは、主にウェブ・ブラウザからのHTTP(ハイパーテキスト・トランスファー・プロトコル)リクエストに応じて、HTMLページ、ファイル、画像、動画などの静的ウェブ・コンテンツを配信します。
アプリケーション・サーバーは通常、Webコンテンツも配信できますが、その主な目的は、ユーザーのクライアントとサーバー側のアプリケーション・コード(しばしばビジネス・ロジックと呼ばれるものを表すコード)との間の連携を可能にすることによって、トランザクションの結果、意思決定支援やリアルタイム分析などの、動的なコンテンツを生成して配信することです。
アプリケーション・サーバーのクライアントは、アプリケーション独自のユーザーUI、Webブラウザー、またはモバイル・アプリケーションにすることが可能で、クライアントとサーバーのやり取りは、任意の数の通信プロトコルを介して行うことができます。ただし、実際には、Webブラウザーがアプリケーション・クライアントとして選択されるようになり、Webアプリケーションとその性能に対するユーザーの期待が高まるにつれて、Webサーバーとアプリケーション・サーバーの境界はあいまいになってきています。
ほとんどのWebサーバーは、Webサーバーがサーバー側のロジックに基づいて動的コンテンツを生成できるようにするスクリプト言語(ASP、JSP、PHP、Perlなど)のプラグインをサポートしています。Webサーバー機能を組み込むだけでなく、HTTPを主要プロトコルとして使用し、Webサーバーとのインターフェースとして他のプロトコル(CGIやCGIバリアントなど)をサポートするアプリケーション・サーバーが増えています。
また、Webアプリケーションでリバース・プロキシー、クラスタリング、冗長性、ロード・バランシングなどのサービスを使用できるようにすることで、性能と信頼性が向上し、開発者はインフラストラクチャーよりもコーディングに集中できるようになります。ややこしいことに、多くのWebサーバーと一部のアプリケーション・サーバーは、Webアプリケーション・サーバーと呼ばれるか、または自らをそう呼んでいます。
肝心な点として、現在最も人気のあるWebサーバーとアプリケーション・サーバーは、両方を組み合わせたものです。今日使用されているような、機能がますます豊富になっているアプリケーションの大半は、静的Webコンテンツと動的アプリケーション・コンテンツの組み合わせを備えており、その機能はWebサーバーとアプリケーション・サーバー・テクノロジーを組み合わせることで提供されます。
市場にはウェブ・サーバーやアプリケーション・サーバーが溢れており、とてもここですべては挙げられません。その代わりに、より価値的であろう提案として、人気が高く、無料のオープンソースの選択肢を以下にリストアップしました。
Nginxは、リバース・プロキシ、ロード・バランシング、メール・プロキシ、およびHTTPキャッシュ機能を備えたオープンソースWebサーバーです。また、Nginxの商用かつサポート対象バージョンは、Nginx, Inc.で入手可能です。
インターネット調査およびサイバー犯罪防止会社のNetcraft社によると、2019年12月現在、世界中のウェブサイトの約38%、アクセス数の上位100万サイトの25%以上が、Nginxのサービスを利用しているか、またはプロキシされています。世界的に有名な企業向けNginxユーザーには、Dropbox社、Netflix社、Zynga社などがあります。
1995年に初めてリリースされたApache HTTP Server(「Apache」とも呼ばれる)もまた、人気のある無料のオープンソースWebサーバーであり、2019年4月にNginxに抜かれるまで、他のどのWebサーバーよりも多くのWebサイト(ピーク時には71%)を動かしていました。2019年12月現在、Apacheは世界中の全サイトの24%以上、アクセス数の上位100万サイトの31%にサービスを提供しています。
Apache Tomcatは、Java Servletsを実行し、JavaServer Pageコードを含むWebページをレンダリングおよび配信し、Java Enterprise Edition(Java EE)アプリケーションを提供するオープン・ソース・アプリケーション・サーバーです。1998年にリリースされたTomcatは、最も広く使用されているオープンソースのJavaアプリケーション・サーバーです。
Glassfishは、2006年にSun Microsystems社によって立ち上げられたオープン・ソースのJava EEアプリケーション・サーバーであり、現在はEclipse Foundation社によってホストされています。ほとんどのJavaアプリケーションサーバーと同様に、GlassfishはJava Servlets、Enterprise JavaBeans(EJB)などをサポートしていますが、HTTPリクエストに応答してWebコンテンツを提供するWebサーバーとしても機能します。
IBM Cloud Infrastructure Centerは、IBM zSystemsおよびIBM LinuxONE上のプライベートクラウドのインフラストラクチャーを管理するためのOpenStack互換ソフトウェア・プラットフォームです。
企業のハイブリッドクラウドとAI戦略のために設計された、サーバー、ストレージ、ソフトウェアを紹介します。
ビジネスニーズに合ったクラウド・インフラストラクチャー・ソリューションを見つけ、必要に応じてリソースを柔軟に拡張します。