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

news139.jpg

新型コロナウイルスの感染拡大で注目される「巣ごもり消費」に関する意識――カンム調査
外出控えムードの中、消費意欲は「自宅でのエンタメ」に向かっているようです。

news091.jpg

オンライン医療が進む中国と台湾、日本 iOS「メディカル」アプリ最新人気ランキング
今回は、2020年2月度における中国、台湾、日本市場におけるiOS「メディカル」モバイルア...

news137.jpg

SDGsへの取り組みが最も高く評価された企業はトヨタ自動車――ブランド総合研究所調査
国内の主力企業のSDGsへの取り組みやESG活動に対して1万500人に聞いています。