2019年11月29日 05時00分 公開
特集/連載

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

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

[Cameron McKenzie,TechTarget]
画像

 「“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 マーケティング新着記事

news018.jpg

「TikTok Ads」2019年の振り返りと2020年の展望
もう「踊ってみた」動画だけではない。急成長する広告配信プラットフォーム「TikTok Ads...

news112.jpg

「メルカリハイ」の謎を解く――4人に1人が100円以下の利益でもフリマアプリに出品
なぜ人は100円以下の少額利益でもフリマアプリに出品してしまうのか。謎を解く鍵は「承認...

news049.jpg

買い物場所の使い分け調査2019――日本能率協会総合研究所
コンビニエンスストア、ドラッグストア、100円ショップなど業態別利用実態と「そこで買う...