Apache HTTP Server と Apache Tomcat の機能の違いは何ですか?
Tomcat が Java で記述され、HTTP サーバーが C で記述されていることは知っていますが、それ以外は、それらがどのように区別されているかはよくわかりません。それらは異なる機能を持っていますか?
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 仮想マシンによって実行されます。
上記の細かい答えに加えて、Tomcatには独自のHTTPサーバーが組み込まれており、静的コンテンツの提供も完全に機能していると言えます。Java仮想マシンの構成によっては、mod_proxyやmod_jkなどのApacheの従来のコネクタを経由する場合よりも実際にパフォーマンスが向上する可能性があります。
つまり、完全に最適化されたTomcatサーバーは静的ファイルを高速に提供する必要があり、静的コンテンツに加えてJavaサーブレット、JSP、ColdFusionファイルがある場合は、tomcat自体が優れた機能を発揮することがあります。
Tomcat は主にアプリケーション サーバーであり、サーバー上のカスタム構築された Java サーブレットまたは JSP ファイルへの要求を処理します。通常、Apache HTTP サーバーと組み合わせて使用されます (少なくとも私の経験では)。これを使用して、着信要求を手動で処理します。
HTTP サーバー自体は、静的コンテンツ (html ファイル、画像など) を提供するのに最適です。
Apache サーバーは、単純な http 要求を処理できる http サーバーです。Tomcat サーバーは、実際には Java サーブレット要求を処理できるサーブレット コンテナーです。
Web サーバー [Apache] は Web クライアント (Web ブラウザー) の要求を処理し、それをサーブレット コンテナー [Tomcat] に転送し、コンテナーは要求を処理し、Web サーバーによって Web クライアント [ブラウザー] に転送される応答を送信します。
また、このリンクを確認して、より明確にすることができます:-
https://sites.google.com/site/sureshdevang/servlet-architecture
さらに調査するために、この回答も確認してください:-
Web アプリケーションの作成に Java テクノロジ (サーブレット/JSP) を使用している場合は、おそらく Apache Tomcat を使用するでしょう。ただし、Perl、PHP、または Ruby などの他のテクノロジーを使用している場合は、Apache HTTP Server を使用する方が適切 (簡単) です。
Apache は HTTP Web サーバーですが、Tomcat はサーブレットと JSP の Web サーバーでもあります。さらに、Apache はリアルタイムで Apache Tomcat よりも優先されます。
Apache は、HTTP として機能する HTTP Web サーバーです。
Apache Tomcat は、Java サーブレット コンテナーです。Web サーバーと同じ機能を備えていますが、Java サーブレットと JSP ページを実行するようにカスタマイズされています。