「このApacheとやら、サーバー?らしいんだけど一体なんなのかよくわからないな…」
この記事は、そんな方向けの解説記事です。
XAMPP/MAMPという言葉は、Web開発においてよく聞く言葉かと思います。
その中の「A」こと**「Apache」とは何か?**それを解説致します。
Apacheとは何か、大雑把に解説
Apache一言で言うならば、webサービスを提供する為に必要な機能を備えた仕組みです。
ここから具体的な解説をしていきます。
実際にウェブサービスを成り立たせたい時にどう動くべきか?を具体的に考えてみましょう。
そもそも、PHPやJavaで書かれたソースコード、HTMLやCSSと言ったソースコードは設置しただけでは意味がありません。
HTTP通信(サービス運営者のサイトに繋ごうとすること)を適切に捌き、適切なファイルを適切なタイミングで用意し、それをクライアント(繋いできた人)に返したり受け取ったりする、そういう仕組みが無いとwebサービスとして成り立ちません。
その管理を一括的にやってくれる仕組みが、Apacheです。
つまり、自動的に自分のウェブサイトを見に来てくれた人に結果を返してくれる手続きを自動的にやってくれる仕組みと言えます。
ちなみに、このApacheのような管理をしてくれる仕組みを専門用語で言うと「Webサーバーソフトウェア」と言います。
余談ですが、同じWebサーバーソフトウェアの1つにNginxがあったりします。こちらは大規模なシステムに向いています。C10K問題(同時に1万ユーザーくらい押しかけて来るとサーバーがパンクする問題)等、大規模なサービス構築時のトラブルに強いとされています。
PC本体+Apacheでサーバーになる
ウェブサーバーは目に見えるもので表現されます。
・パソコン本体の用意
・Apacheのインストール&実行
が行われば、その時点からそのパソコンはサーバーとしての役割を果たす事になります。
別に、大企業の地下室にありそうな超巨大なPCばかりがサーバーという訳ではないのです。
要するに稼働している時に、やってきた要求を自動でこなしてくれる仕組みがあれば、それはサーバーと言えるわけです。