いまさら聞けない「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」を指す《クリックで拡大》

Copyright © ITmedia, Inc. All Rights Reserved.

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

news108.jpg

TikTok売却義務化に合憲判決 これからのシナリオを左右しそうなトランプ氏と「あの人」の意向
米連邦控訴裁判所は、TikTokが米政府による強制売却法案の無効を求めるTikTokの申し立て...

news006.jpg

「TikTok禁止」は結局、誰得? どうするトランプ氏――2025年のSNS大予測(TikTok編)
米国での存続を巡る議論が続く一方で、アプリ内ショッピングやAI機能の拡大など、TikTok...

news202.jpg

ネットの口コミを参考に8割超が商品を購入 最も参考にした口コミの掲載先は?
ホットリンクは、口コミ投稿の経験や購買への影響を調査した結果を発表した。