概要
今更ですが、Webの基礎について学び直したメモがわりに書きます。
アプリケーションの裏で動いているもの
まず、ブラウザからのリクエストに対して、裏でに何が動いているかのイメージはこちらです。
このページの画像を使わせてもらいました。
https://hikopro.com/server-domain/
○Webクライアント
ブラウザと呼ばれるもので、サイトを閲覧するための役割を果たしています。
主に、Webサーバーからのレスポンスを画面に表示します。
◾️よく使われるWebクライアント
・Google Chrome
・Microsoft Edge
・Safari
などがよく使われます。
○Webサーバー
Webサーバーはサイトを公開する役割を持ちます。
ブラウザから送られてきたURLに対して、HTMLや画像を返していきます。場合によっては、APサーバーにアプリケーションを動かすように指示を送り、そこから返ってきたデーターなどを返していきます。
◾️よく使われるWebサーバー
・Apache
・Nginx
こちらが代表的なWebサーバーです。
○APサーバー
APサーバーはWebサーバーからのリクエストに対して、アプリケーションの結果を返す役割を持ちます。
APサーバーとWebサーバーの違いは、簡単にまとめると以下のようになります。
・単体で使うことができるか
静的なコンテンツならWebサーバーのみで動きます。しかし、APサーバーだけでは、アプリケーションは動きません。
・静的コンテンツならWebサーバーだけでも動くが、動的コンテンツはAPサーバーが無いと厳しい
静的コンテンツ(HTMLや画像)を返すだけなら、Webサーバーだけでも動きますが、動的なコンテンツ(PHPやRubyなど)を使ったサイトを作成するためには、APサーバーは必要になります。
しかし、中にはWebサーバーの機能も持ったAPサーバー(TomcatやPumaなど)が存在しますが、オマケのような感覚なので、基本的には分けて使うことがほとんどです。
◾️よく使われるAPサーバー
・Puma
・Unicon
・Tomcat
などがよく使われます。
ほとんどのアプリケーションがWebサーバーとAPサーバーをセットで使っています。
○DBサーバー
DBサーバーは、その名前の通り、データベースを管理・運用するサーバーになります。
基本的に、APサーバーからのリクエストを受けて、データベースから取得したデータをAPサーバーに返すという役割を持っています。
◾️よく使われるDBサーバー
・Oracle
・MySQL
・Postgres
などが一般的です。
最後に
今回はWebの基礎について書いていきました。当たり前ですが、アプリケーションの流れを理解することは大事ですね。
以上になります。