0.前提用語
- 静的ファイル
- サーバー上に置いており、基本的にそのまま返せるファイル
- 例:HTML、CSS、JavaScript、画像、PDF
- 動的な内容
- リクエストごとにアプリケーションの処理が走って作られる内容
- プロトコル
- クライアントがサーバにリクエストを送る際に決められたルール(通信ルール)
- プロトコルの例として、HTTP や HTTPS がある
1.webサーバーとは?
- Webサーバーとは、クライアント(ブラウザ)から来た HTTPリクエスト を受け取り、その内容を見て、静的ファイルを返すか、動的処理のためにAPサーバーへ渡すかを判断する役割
- 処理の流れ
- クライアントから静的ファイルがリクエストされていた場合、Webサーバーが、設定された公開ディレクトリから該当ファイルを探して、そのままレスポンスする
- クライアントから動的な内容をリクエストされていた場合、webサーバーがAPサーバーにリクエストを渡す
- webサーバーがどのようにしてできているか
- サーバーにwebサーバーソフトをインストールすることで動作するようになる
- webサーバーソフトの代表例としてApache,nginxがある
Apacheの特徴
- 無料で使用できる
- 様々な環境で利用しやすい
- モジュールが豊富で拡張性が高い
Nginxの特徴
- Apacheに比べて大量のアクセスを処理できる
- 静的処理が得意
2.APサーバーとは?
- アプリケーションを動かすための土台
- どうやってできている?
- サーバーにAPサーバーソフトウェアをインストールすることで動いている
- APサーバーソフトウェアの代表例としてrailsを使用しているならPuma
- なぜ必要?
- アプリケーションを動かすために必要
- 自分が作成したrailsアプリはAPサーバー上で動く
3.DBサーバーとは?
- DBを管理するサーバー
- どうやってできている?
- サーバーにDBMS(データベース管理システム)をインストールして動かすことでDBサーバーとして機能する
- DBMS(データベース管理システム)の代表例がMySQL や PostgreSQL
- なぜ必要
- データ(値)を整理して管理し、必要に応じて取得、削除、更新するため
4.ミドルウェアの仕組み(リクエストからレスポンスまで)