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


95

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



返信いただきありがとうございます。私はこれらのリンクを確認しました。私たちは、Tomcatがアプリケーションサーバであると言うことができます
ゴータム

いいえ、Tomcatはサーブレットコンテナです。
デビッドグラント

回答:


64

あなたの質問は以下のようになります:

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

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

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

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


返信ありがとうございます。Tomcatはアプリケーションサーバーと言えますか。
ゴータム

Apache TomcatにはサーブレットエンジンとIBMである- WebSphere Application Serverは、Application Server用の一例である
DomincJune

Apache HTTPDはWebサーバーです
atish shimpi 2015

5
Apache HTTPDはWebサーバーであり、Apache TomcatはWebコンテナです。これは、実際にはApach HTTPD +サーブレットエンジンです。前の構成のJavaアプリケーションサーバーは、Apache Tomcat + EJBコンテナー+ API(JDBC、JNDI、JTA / JTS、JCA、JMX、JAAS、Java Mail、JMS)です。WebコンテナはWARのみを実行し、アプリケーションサーバーはEARを実行します。
ziMtyth 2017年

10

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

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

アプリケーションサーバー:大きなビジネスロジックを持つ大きなエンタープライズアプリケーションを保持します。それはヘビーウェイトであるか、それはヘビーウェイトアプリケーションを保持します。例:EJB


8

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


4

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


1

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


0

Webコンテナ+ HTTPリクエスト処理= WebServer

Webサーバー+ EJB +(メッセージング+トランザクション+など)= ApplicaitonServer


-1

Webコンテナーは、Webアプリケーションにランタイム環境を提供する責任があります。ネーミングコンテキストを提供し、Webアプリケーションのライフサイクルを管理するコンポーネントが含まれています。WebコンテナはWebサーバーの一部であり、通常、ユーザーリクエストを処理して静的な応答を送信します。

サーブレットコンテナは、JSPで作成されたコンポーネントが存在するコンテナです。彼らは基本的にユーザーの要求に従って動的コンテンツを提供する責任があります。基本的に、Webコンテナーはユーザーの要求に従って静的コンテンツで応答しますが、サーブレットは動的ページを作成できます。


-1

サーブレットコンテナーの基本的な考え方は、Javaを使用して、サーブレットとJSPを使用するサーバー側でWebページを動的に生成することです。したがって、サーブレットコンテナは、本質的にサーブレットとやり取りするWebサーバーの一部です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.