いまさら聞けない「Apache HTTP Server」と「Apache Tomcat」の違いとは?5つの観点から比較

Webサーバ構築のためのソフトウェア「Apache HTTP Server」と「Apache Tomcat」の違いとは何か。目的や導入条件、アーキテクチャなどの観点から両者を比べる。

2019年11月29日 05時00分 公開
[Cameron McKenzieTechTarget]
画像

 「“Apache”と“Tomcat”は何が違うのか?」

 これは開発者がよく耳にする質問だが、誤解を招く恐れのある聞き方だ。一般的に、この質問で真に尋ねたいのは「『Apache HTTP Server』と『Apache Tomcat』(以下、Tomcat)は何が違うのか」という点だ。Apache HTTP ServerもTomcatも、オープンソースソフトウェアの開発プロジェクトを運営する非営利団体Apache Software Foundationが管理している。この事実を考えると、「Apache対Tomcat」という質問の不正確さが理解できるだろう。

 この混乱は主に「Apache」という単語が、「Apache HTTP Server」を指す一般用語となっていることが原因だ。1995年に公開されたApache HTTP ServerはApacheの名を冠する初のプロジェクトで、Apache Software Foundationが創設されたのはその後の1999年だった。長年の間、ApacheとApache HTTP Serverは同義語だったことから、現在の混乱につながった。

Apache HTTP ServerとTomcatの違い

 Apache HTTP ServerとTomcatは、何が違うのか。主要な5つの違いを紹介しよう。

違い1.目的

 Apache HTTP ServerとTomcatは目的が根本的に異なる。Apache HTTP ServerはWebサーバであり、その目的はテキスト、HTML、画像、音声、動画といった静的ファイルを提供することだ。Tomcatはアプリケーションサーバ(APサーバ)に分類され、通信相手がどのクライアントか、そのクライアントがログインしているかどうか、前回の通信でそのクライアントが何をしたかによって、提供するコンテンツを変化させる。

違い2.前提条件

 「Windows」「Linux」「UNIX」が稼働するコンピュータであれば、Apache HTTP Serverをインストールできる。一方Tomcatの導入には「Java」の開発・実行環境「Java Development Kit」(JDK)のインストールに加え、環境変数(OSに情報を与えるための変数)「JAVA_HOME」の適切な設定を必要とする。

違い3.アーキテクチャ

図 図 Apache HTTP ServerとTomcatの3層構造アーキテクチャにおける役割。「JDBC」はJavaプログラムからリレーショナルデータベースを操作するためのドライバ「Java Database Connectivity」を指す《クリックで拡大》

ITmedia マーケティング新着記事

news050.jpg

ウェルビーイング調査 今後最も力を入れたい分野は「身体」、優先度が低いのは?
ASAKO サステナラボは、独自の「60のウェルビーイング指標」により生活者の充足度を数値...

news068.png

10代の7割超がショート動画を「ほぼ毎日見ている」――LINEリサーチ調査
LINEリサーチは全国の男女を対象に、ショート動画に関する調査を実施しました。

news158.png

自社の変化に対して行動する従業員はわずか2割 なぜそうなる?――電通調査
自社の変化に対する従業員の意識について確認するための調査結果です。