Apache HTTP サーバーと Apache Tomcat の違いは何ですか?[閉まっている]
質問
Apache HTTP Server と Apache Tomcat の機能の違いは何ですか?
Tomcat が Java で書かれ、HTTP Server が C で書かれていることは知っていますが、それ以外はどうやって区別されているのかよくわかりません。それぞれに異なる機能があるのでしょうか?
解決
Apache Tomcat は、Java サーブレットと JSP をデプロイするために使用されます。したがって、Java プロジェクトで WAR (Web ARchive の略) ファイルを構築し、それを Tomcat のデプロイ ディレクトリにドロップするだけです。
したがって、基本的に Apache は HTTP を提供する HTTP サーバーです。Tomcat は、Java テクノロジーを提供するサーブレットおよび JSP サーバーです。
Tomcat はサーブレット コンテナです。サーブレットは最終的には Java クラスです。JSP ファイル (PHP や古い ASP ファイルに似ています) は Java コード (HttpServlet) に生成され、サーバーによって .class ファイルにコンパイルされ、Java 仮想マシンによって実行されます。
他のヒント
上記の優れた回答に加えて、Tomcat には独自の HTTP サーバーが組み込まれており、静的コンテンツの提供にも完全に機能すると言うべきだと思います。Java 仮想マシンの構成によっては、mod_proxy や mod_jk などの Apache の従来のコネクタを経由するよりも実際に優れたパフォーマンスを発揮する可能性があります。
つまり、完全に最適化された Tomcat サーバーは静的ファイルを高速に処理する必要があり、静的コンテンツに加えて Java サーブレット、JSP、ColdFusion ファイルがある場合は、Tomcat が単独で優れた仕事をすることがわかるかもしれません。
- Apache は汎用の http サーバーであり、Tomcat ではサポートされていない多くの高度なオプションをサポートしています。
- Tomcat は汎用 http サーバーとして使用できますが、Apache と Tomcat をセットアップして、Apache が静的コンテンツを提供し、動的コンテンツのリクエストを 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 Tomcat よりも Apache が優先されます。
Apache は、HTTP として機能する HTTP Web サーバーです。
Apache Tomcat は Java サーブレット コンテナです。機能は Web サーバーと同じですが、Java サーブレットと JSP ページを実行するようにカスタマイズされています。