Webサーバ
2021-12-15 (水) 14:43:13
Webサーバ †
名称 †
- WWWサーバ
概要 †
- クライアントのWebブラウザ等からのリクエストを受けて、HTTPでのHTML等のコンテンツを配信するサーバ。
- HTTPはトランスポート層として「TCP」を使う。
- デフォルトのポート番号:80
- URL、アクセス権限をチェックする。
Webサーバのソフトウェア †
- Apache HTTP Server
- Apache Tomcat
- nginx
- Appweb
- Jetty
- lighttpd
- LiteSpeed
https://www.litespeedtech.com/products/litespeed-web-server
Webサーバの動作 †
クライアント側 †
- Socket作成
- サーバ側のSocketと接続
- データを送受信
- Socketを切断、Socketを抹消
サーバ側 †
- Socket作成
- Socketを接続待ち状態にする
- クライアントからの接続を受け付ける
- データを送受信
- Socketを切断、Socketを抹消
サーバ側:「クライアントからの接続を受け付ける」のSocketの動作 †
動作の流れ †
- クライアントからの接続を待つ
- クライアントからの接続パケットを受信
- クライアントに応答パケットを送信
- 接続待ちのSocketをコピーし、新しいSocketを作成
- 作成したSocketにクライアント側の情報を記録
- コピー元のSocketは別のクライアントからの接続を待つ
- 新しく作成したSocketは接続したクライアントとデータを送受信する
新しく作成したSocketに記録する情報 †
- クライアント側のIPアドレス
- クライアント側のポート番号
- サーバ側のIPアドレス
- サーバ側のポート番号
サーバ側:「データを送受信」の動作 †
動作の流れ †
- クライアントからデータを受信
- 受信したデータの内容(HTTPのリクエスト・メッセージ)に従って、処理実行してHTTPのレスポンス・メッセージを作成
- レスポンス・メッセージをクライアントに送信
HTTPのリクエスト・メッセージの内容 †
- HTTPのメソッド
- 「HTTP」参照