ホームページ  >  記事  >  バックエンド開発  >  日常の Web 開発において、Apache の役割は何ですか? (データをサーバーにアップロードする必要がない場合)、なぜ使用する必要があるのでしょうか?

日常の Web 開発において、Apache の役割は何ですか? (データをサーバーにアップロードする必要がない場合)、なぜ使用する必要があるのでしょうか?

WBOY
WBOYオリジナル
2016-06-17 08:31:57950ブラウズ

返信内容:

Web ページを開発したいだけで、開発完了後にブラウザでプレビューできる場合は、Apache を使用するかどうかは関係ありません。しかし、複数の Web ページを開発し、その効果を他の人に見てもらいたい場合、この時点で、これらの Web ページ ファイル (HTML ファイル) をこれらの人に送信しますか、それとも環境をセットアップして他の人に URL を提供しますか? ?
この環境を構築する際には、ApacheやIISなどのWebサーバーが使用されます。

また、現時点では、Apache などの Web サーバーに加えて、ソース ファイルを直接送信しても実際の効果を確認できない場合があります。また、JSP やサーブレットに対応する Tomcat など、特定の言語のコンテナを解析できる必要もあります。
このようにして、動的リソースと静的リソースの両方が応答できる場合、ファイルの効果が表示されます。
ここでは、Web サーバーと Web コンテナの違いについても公式アカウントでいくつか書いたので、まとめて書きました:

面接でよく聞かれる質問: とはTomcat と Apache の違いは何ですか?
では、違いは何でしょうか?
Tomcat の役割には統一された名前があります: Web コンテナ (Web コンテナ) 同様の Web コンテナには、Jetty、Resin などが含まれます。

なぜコンテナと呼ばれるのでしょうか?

ソフトウェア分野では、このようにモノのライフサイクル全体を扱う管理をコンテナと呼んでいます。 ここでの Tomcat は、サーブレットを作成する時期、一部の内部リソースを初期化する時期、リクエスト処理時に実行するメソッド、サーブレットを破棄する時期など、サーブレットのライフ サイクル全体 (LifeCycle) を担当します。まるで大きな親のようです。したがって、Spring の Ioc は Spring Bean のライフサイクル全体も管理するため、Ioc コンテナを通じて実装されるという話をよく耳にします。

振り返ってみると、Apache は何をしているのでしょうか?

Apache と同様に、Web サーバー (Web Server) と呼ばれる名前の種類もあります。この種の兄弟は、HTTP プロトコルのみを処理できます。たとえば、HTML や画像などの静的リソースをリクエストする場合、Web サーバー経由でリクエストを行うことができます。ただし、リクエストが JSP や PHP などに対するものである場合、この時点では Web サーバーはそれを処理できず、リクエストが JSP またはサーブレットに対するものであれば、処理のために適切な担当者にリクエストを転送することしかできません。適切な人は上記の Web コンテナです。同様の Web サーバーには、Apache、IIS、Nginx などがあります。

まとめると、この 2 つの違いは、Tomcat は動的リソース、サーブレット、JSP だけでなく静的リソースも処理できるのに対し、Apache は静的リソースのみを処理できるということです。 このインタビューの質問の変形は、「Web コンテナと Web サーバーの違いは何ですか?」です。あなたはすでに答えを知っていると思います。

現時点では、Tomcat でそれができるなら、なぜ Apache が必要なのかとあなたは間違いなく言うでしょう。

ねえ、この人は当時たくさんのことを学んでかなり上手でしたが、静的リソースを扱うのが特に得意ではありませんでした。仕立て屋が料理の仕方を知っていても、シェフほどプロフェッショナルではないのと同じです。


そのため、静的リソースを処理する場合、Tomcat の前に Apache などの Web サーバーを構成できます。これにより、静的リソースを効率的に処理できるだけでなく、一般的に使用される静的リソースをキャッシュすることもできます。負荷分散の目的も達成できます (もちろん、これには後で Web コンテナのクラスタリングも必要になります)


フォロー大歓迎です。


日常の Web 開発において、Apache の役割は何ですか? (データをサーバーにアップロードする必要がない場合)、なぜ使用する必要があるのでしょうか?
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。