エンジニア向け

【3分でわかる】ApacheとTomcatとは?2つの関係を解説!

システムのインフラで利用される「Apache」と「Tomcat」とは何か、そしてこの2つはどのような関係なのかを解説していきます。

ApacheとTomcatって何のために使われてるの?簡単に知りたいな!

このような疑問にお答えします。

3分で「Apache」と「Tomcat」を理解することができます!

Apacheとは?

Apacheは、世界中で普及しているWebサーバです正式名称はApache HTTP Serverです。

20年以上前から使われてきたWebサーバで、安定性や機能の豊富さ、対応ソフトウェアの多さなどが評価され、様々な用途で利用されています。

オープンソースゆえに「無料で利用できる」ので、レンタルサーバのプランに組み込まれていることもあれば、企業の大規模システムでも使用されています。

Tomcatとは?

正式名称は「Apache Tomcat」です。TomcatはJava Servletを動かすときに使うソフト、いわゆるWebコンテナです(サーブレットコンテナとも言います)

Webサーバとしての機能も持ち、外部のApacheなどのソフトと連携することができます。

  • Java Servlet…Webサーバ上で動くJavaで書かれたプログラムのこと
  • Webコンテナ…この場合、Java Servletの実行環境となるソフトウェア

ApacheとTomcatの関係

TomcatはApacheと連携させて使う

基本的に、Java Servletを動かしたいときはTomcatとApacheを連携させます。先述した通り、TomcatはJava Servletを動かすWebコンテナ、ApacheはWebサーバとして使用します。

図に表すと以下のようになります。

クライアント(Webブラウザ)からApache(Webサーバ)に対してリクエストが送られます。

静的リクエストであれば、ApacheがそのままHTML、CSS、画像などのデータをクライアントに返します。

動的リクエストであった場合はApache(Webサーバ)からTomcat(Webコンテナ)に対して処理のリクエストが送られます。TomcatはJava Servletを動かして、データベースに処理を依頼するなどして結果をApacheに返します。そしてApacheは受け取った結果を表示できる形式に隠し、クライアントに返します。

TomcatをWebサーバとして使わない理由

Tomcatの説明で「Webサーバとしての機能も持つ」と紹介しましたが、TomcatをWebサーバとして使うことは基本的にはありません。

その理由は、TomcatはWebサーバの性能はイマイチだからです。なので、TomcatはWebコンテナの役割に専念させ、WebサーバにはスペシャリストのApacheを用いるのです。

まとめ

この記事ではTomcatとApacheの関係をざっくりと解説しました。

  • Apacheは世界中で使用されているWebサーバ
  • TomcatはJava Servletの実行環境となるソフトウェア
  • TomcatはApacheと連携させて使う

充実したキャリアを歩みたい方に、世界で4000万人以上が利用しているオンライン学習プラットフォーム「Udemy」がおススメ!

ジャンルが豊富で、あなたが学びたい講座を簡単に見つけることができます。30日返金保証もついているので初めての人も安心です。

世界最大級のオンライン学習サイトUdemy