web-dev-qa-db-ja.com

Webサーバー、Webコンテナー、およびアプリケーションサーバーの違い

Webサーバー、Webコンテナー、およびアプリケーションサーバーの違いを教えてください。

88
Gautam

あなたの質問は以下に似ています:

アプリケーションサーバーとWebサーバーの違いは何ですか?

Javaの場合:Webコンテナまたはサーブレットコンテナまたはサーブレットエンジン:サーブレット、JSPなどのコンポーネントを管理するために使用されます。これはWebサーバーの一部です。

WebサーバーまたはHTTPサーバー:クライアントによって送信され、HTTP応答で応答するHTTP要求を処理できるサーバー。

Application ServerまたはApp Server:ユーザーと組織のバックエンドビジネスアプリケーションまたはデータベース間のすべてのアプリケーション操作を処理できます。プレゼンテーション層、ロジック層、データ層を備えた3層アプリケーションの一部として頻繁に表示されます。

61
DomincJune

Webサーバー:HTTP要求とHTTP応答を提供します。 HTTPプロトコルを介してのみクライアントからの要求を処理します。 Webコンテナが含まれています。 Webアプリケーションは主にWebサーバーにデプロイされます。 EX:サーブレットJSP

Webコンテナ:サーブレットオブジェクトのライフサイクルを維持します。そのサーブレットオブジェクトのサービスメソッドを呼び出します。 HttpServletRequestおよびHttpServletResponseオブジェクトを渡す

アプリケーションサーバー:大きなビジネスロジックを持つ大きなエンタープライズアプリケーションを保持します。それは重いですまたはそれは重いアプリケーションを保持します。例:EJB

9
Avinash Pande

Webアプリケーションは、WebサーバーのWebコンテナー内で実行されます。 Webコンテナは、ネーミングコンテキストとライフサイクル管理を提供するコンポーネントを通じてランタイム環境を提供します。一部のWebサーバーは、セキュリティや同時実行制御などの追加サービスも提供します。 WebサーバーはEJBサーバーと連携して、これらのサービスの一部を提供できます。ただし、Webサーバーは、EJBサーバーと同じマシンに配置する必要はありません。

Webアプリケーションは、WebコンポーネントとHTMLページなどの他のデータで構成されます。 Webコンポーネントは、サーブレット、JavaServer Pages™テクノロジーで作成されたJSPページ、Webフィルター、およびWebイベントリスナーです。これらのコンポーネントは通常、Webサーバーで実行され、WebクライアントからのHTTP要求に応答する場合があります。サーブレット、JSPページ、およびフィルターを使用して、アプリケーションのユーザーインターフェースであるHTMLページを生成できます。また、他のアプリケーションコンポーネントによって消費されるXMLまたはその他の形式のデータを生成するために使用される場合があります。

ソース: http://www.service-architecture.com/articles/application-servers/j2ee_web_server_or_container.html

8
Rahul Maurya

サーブレットコンテナとも呼ばれるWebコンテナは、Javaサーブレットと対話するWebサーバーのコンポーネントです。 Webコンテナーは、サーブレットのライフサイクルを管理し、URLを特定のサーブレットにマッピングし、URLリクエスターが正しいアクセス権を持っていることを確認する責任があります。

4
Indra Kant

Webコンテナとアプリケーションサーバーの主な違いは、Apache TomcatなどのほとんどのWebコンテナは、アプリケーションサーバーがJava EE仕様全体を実装するサーブレット、JSP、JSTLなどの基本的なJSRのみを実装することです。すべてのアプリケーションサーバーにはWebコンテナが含まれています。

1
JFC