Webサーバーは、情報の要求を受け入れて必要な文書を送信するプログラムです。 アプリケーションサーバーは、プログラムまたは分散ネットワークでプログラムを実行しているコンピューターです。
比較表
比較基準 | Webサーバー | アプリケーション・サーバー |
---|---|---|
基本 | Webサーバーは静的コンテンツに適しています。 | アプリケーションサーバーは動的コンテンツに適しています。 |
特徴 | Webまたはサーブレットのコンテナのみを含み、EJBには使用できません。 | それらの集合体としてWebサーバーを含み、さらにWebおよびEJBコンテナーを含むことができます。 |
Perl、PHP、ASP、JSPなどのプラグインを通じてスクリプト言語を支援します。 | オブジェクトプーリング、接続プーリング、トランザクションサポート、メッセージングサービスなどのアプリケーションレベルのサービスを支援します。 | |
マルチスレッド | サポートされていません | マルチスレッドをサポート |
用途 | HTMLとHTTP | グラフィカルユーザーインターフェース、HTTP、RPC / RMI。 |
リソースの活用 | 低い | 高い |
実行する環境を提供します | ウェブアプリケーション | エンタープライズアプリケーション |
Webサーバの定義
ウェブサーバは、 ワールドワイドウェブ (WWW)上でハイパーテキスト転送プロトコル (HTTP)を使用してウェブページのようなウェブコンテンツを配信するプログラムである。 プログラムである仮想マシンと解釈することもできます。 Webサーバーの主な目的は、Webページをクライアントに配信することです。このような配信は、HTMLドキュメント、またはスタイルシートやJavaScriptなどの追加コンテンツで構成されています。
クライアント側に存在するウェブブラウザは、通常、HTTPリクエストを使用して特定のウェブコンテンツに対するリクエストを送信することによって通信を開始する。 その後、Webサーバーはコンテンツとともに応答を送信します。 エラーが発生した場合、サーバーはエラーメッセージを送信します。 Webサーバーは、ファイルのアップロードなど、クライアント側からコンテンツを受信することもできます。
アプリケーションサーバの定義
アプリケーションサーバーは、さまざまなアプリケーションの作成を支援するために、プログラム、スクリプト、およびルーチンを効果的に実行するためのソフトウェアフレームワークです。 Webベースのアプリケーションとエンタープライズベースのアプリケーションの両方のタイプのアプリケーションに対応しています。 アプリケーションサーバーにはWebサーバーが含まれている場合があるため、Webサーバーよりも優れていると考えられています。
これは、Webアプリケーションのプラットフォーム自体で定義されているAPIを通じてソフトウェア開発者がアクセスできる要素のグループです。 その主なタスクは動的ページの構築をサポートすることであるため、これらの要素は多くの場合Webサーバーと同じマシン上にあります。 Webページの生成を目的としているだけでなく、 クラスタ化フェイルオーバーやロードバランシングなどのサービスも採用しているため、開発者はビジネスロジックの実装に全力を注ぐことができます。
Webサーバーとアプリケーションサーバーの主な違い
- Webサーバーは静的コンテンツに適していますが、アプリケーションサーバーは動的コンテンツに適しています 。
- Webサーバーは、Perl、PHP、ASP、JSPなどのスクリプト言語をサポートします。それに対して、アプリケーションサーバーは、 接続言語、 トランザクションサポート 、 オブジェクトプール 、 メッセージングサービスなどのアプリケーションレベルのサービスだけでなくスクリプト言語も支援し ます 。
- アプリケーションサーバーには、WebコンテナとEJBコンテナ、およびそれらの組み込まれた部分としてのWebサーバーが含まれています。 対照的に、WebサーバーはWebまたはサーブレットコンテナーのみを含み、EJBを使用できます。
- Webサーバーはマルチスレッドをサポートしませんが、アプリケーションサーバーはマルチスレッドと分散トランザクションを支援します。
- WebサーバーはHTMLおよびHTTPプロトコルを使用しています。 一方、アプリケーションサーバーはHTTPを含むRPC / RMIのようなグラフィカルユーザーインターフェースとプロトコルを使用することができます。
- アプリケーションサーバーの場合、Webサーバーと比較して負荷制限または負荷が高くなります。
- Webサーバーは、 Webアプリケーションを実行するための環境と、 キャッシュやスケーラビリティなどの機能を提供します。 それどころか、アプリケーションサーバーは、 エンタープライズアプリケーションで Webを実行するための環境を提供します 。
結論
Webサーバーは主にHTTPコンテンツを提供するように設計されていますが、アプリケーションサーバーはHTTPコンテンツでも十分ですが、HTTPだけに限定されず、 RMI / RPCなどのプロトコルを支援します。 アプリケーションサーバーにはWebサーバーを含めることができます。つまり、Webサーバーによって実行される操作を実行できるだけでなく、接続プーリング、オブジェクトプーリング、トランザクションサポート、メッセージングサービスなどを支援する追加の要素と機能もあります。