Webサーバー、Webコンテナー、およびアプリケーションサーバーの違いを教えてください。
あなたの質問は以下に似ています:
Javaの場合:Webコンテナまたはサーブレットコンテナまたはサーブレットエンジン:サーブレット、JSPなどのコンポーネントを管理するために使用されます。これはWebサーバーの一部です。
WebサーバーまたはHTTPサーバー:クライアントによって送信され、HTTP応答で応答するHTTP要求を処理できるサーバー。
Application ServerまたはApp Server:ユーザーと組織のバックエンドビジネスアプリケーションまたはデータベース間のすべてのアプリケーション操作を処理できます。プレゼンテーション層、ロジック層、データ層を備えた3層アプリケーションの一部として頻繁に表示されます。
Webサーバー:HTTP要求とHTTP応答を提供します。 HTTPプロトコルを介してのみクライアントからの要求を処理します。 Webコンテナが含まれています。 Webアプリケーションは主にWebサーバーにデプロイされます。 EX:サーブレットJSP
Webコンテナ:サーブレットオブジェクトのライフサイクルを維持します。そのサーブレットオブジェクトのサービスメソッドを呼び出します。 HttpServletRequestおよびHttpServletResponseオブジェクトを渡す
アプリケーションサーバー:大きなビジネスロジックを持つ大きなエンタープライズアプリケーションを保持します。それは重いですまたはそれは重いアプリケーションを保持します。例:EJB
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
サーブレットコンテナとも呼ばれるWebコンテナは、Javaサーブレットと対話するWebサーバーのコンポーネントです。 Webコンテナーは、サーブレットのライフサイクルを管理し、URLを特定のサーブレットにマッピングし、URLリクエスターが正しいアクセス権を持っていることを確認する責任があります。
Webコンテナとアプリケーションサーバーの主な違いは、Apache TomcatなどのほとんどのWebコンテナは、アプリケーションサーバーがJava EE仕様全体を実装するサーブレット、JSP、JSTLなどの基本的なJSRのみを実装することです。すべてのアプリケーションサーバーにはWebコンテナが含まれています。