672

Apache HTTP Server と Apache Tomcat の機能の違いは何ですか?

Tomcat が Java で記述され、HTTP サーバーが C で記述されていることは知っていますが、それ以外は、それらがどのように区別されているかはよくわかりません。それらは異なる機能を持っていますか?

4

8 に答える 8

494

Apache Tomcat は、Java サーブレットと JSP をデプロイするために使用されます。したがって、Java プロジェクトで WAR (Web ARchive の略) ファイルをビルドし、それを Tomcat の deploy ディレクトリにドロップするだけです。

つまり、基本的に Apache は HTTP サーバーであり、HTTP を提供します。Tomcat は、Java テクノロジを提供するサーブレットおよび JSP サーバーです。

Tomcat には、サーブレット コンテナーである Catalina が含まれています。結局のところ、サーブレットは Java クラスです。JSP ファイル (PHP や古い ASP ファイルに似ています) は Java コード (HttpServlet) に生成され、サーバーによって .class ファイルにコンパイルされ、Java 仮想マシンによって実行されます。

于 2008-08-27T17:03:29.290 に答える
121

上記の細かい答えに加えて、Tomcatには独自のHTTPサーバーが組み込まれており、静的コンテンツの提供も完全に機能していると言えます。Java仮想マシンの構成によっては、mod_proxyやmod_jkなどのApacheの従来のコネクタを経由する場合よりも実際にパフォーマンスが向上する可能性があります。

つまり、完全に最適化されたTomcatサーバーは静的ファイルを高速に提供する必要があり、静的コンテンツに加えてJavaサーブレット、JSP、ColdFusionファイルがある場合は、tomcat自体が優れた機能を発揮することがあります。

于 2008-09-20T18:21:33.480 に答える
84
  1. Apache は汎用の http サーバーであり、Tomcat がサポートしていない多くの高度なオプションをサポートしています。
  2. Tomcat は汎用の http サーバーとして使用できますが、静的コンテンツを提供し、動的コンテンツの要求を Tomcat に転送する Apache と連携するように Apache と Tomcat をセットアップすることもできます。
于 2012-07-06T09:51:07.477 に答える
29

Tomcat は主にアプリケーション サーバーであり、サーバー上のカスタム構築された Java サーブレットまたは JSP ファイルへの要求を処理します。通常、Apache HTTP サーバーと組み合わせて使用​​されます (少なくとも私の経験では)。これを使用して、着信要求を手動で処理します。

HTTP サーバー自体は、静的コンテンツ (html ファイル、画像など) を提供するのに最適です。

于 2008-08-27T17:02:32.460 に答える
21

Apache サーバーは、単純な http 要求を処理できる http サーバーです。Tomcat サーバーは、実際には Java サーブレット要求を処理できるサーブレット コンテナーです。

Web サーバー [Apache] は Web クライアント (Web ブラウザー) の要求を処理し、それをサーブレット コンテナー [Tomcat] に転送し、コンテナーは要求を処理し、Web サーバーによって Web クライアント [ブラウザー] に転送される応答を送信します。

また、このリンクを確認して、より明確にすることができます:-

https://sites.google.com/site/sureshdevang/servlet-architecture

さらに調査するために、この回答も確認してください:-

https://softwareengineering.stackexchange.com/a/221092

于 2012-12-03T12:06:50.003 に答える
13

Web アプリケーションの作成に Java テクノロジ (サーブレット/JSP) を使用している場合は、おそらく Apache Tomcat を使用するでしょう。ただし、Perl、PHP、または Ruby などの他のテクノロジーを使用している場合は、Apache HTTP Server を使用する方が適切 (簡単) です。

于 2012-03-21T18:33:50.837 に答える
3

Apache は HTTP Web サーバーですが、Tomcat はサーブレットと JSP の Web サーバーでもあります。さらに、Apache はリアルタイムで Apache Tomcat よりも優先されます。

于 2012-09-24T10:01:06.297 に答える
-2

Apache は、HTTP として機能する HTTP Web サーバーです。

Apache Tomcat は、Java サーブレット コンテナーです。Web サーバーと同じ機能を備えていますが、Java サーブレットと JSP ページを実行するようにカスタマイズされています。

于 2012-03-28T15:24:21.533 に答える