Webサーバ の変更点


#author("2019-11-30T17:08:20+09:00","default:k1rou","k1rou")
#author("2021-12-15T14:43:13+09:00","default:k1rou","k1rou")
*Webサーバ [#qc7a70d5]
**名称 [#pe8bcefa]
-WWWサーバ

**概要 [#gb8dacd4]
-クライアントの[[Webブラウザ]]等からのリクエストを受けて、[[HTTP]]での[[HTML]]等のコンテンツを配信するサーバ。
-[[HTTP]]はトランスポート層として「[[TCP]]」を使う。
-デフォルトのポート番号:80
-URL、アクセス権限をチェックする。

**Webサーバのソフトウェア [#gc97c91d]
*Webサーバのソフトウェア [#gc97c91d]
-[[Apache HTTP Server]]
-Apache Tomcat
-[[nginx]]
-Appweb
-Jetty
-lighttpd
-LiteSpeed~
https://www.litespeedtech.com/products/litespeed-web-server

**Webサーバの動作 [#e2db2bdf]
***クライアント側 [#b698aecd]
*Webサーバの動作 [#e2db2bdf]
**クライアント側 [#b698aecd]
+Socket作成
+サーバ側のSocketと接続
+データを送受信
+Socketを切断、Socketを抹消

***サーバ側 [#f5b79744]
**サーバ側 [#f5b79744]
+Socket作成
+Socketを接続待ち状態にする
+クライアントからの接続を受け付ける
+データを送受信
+Socketを切断、Socketを抹消

**サーバ側:「クライアントからの接続を受け付ける」のSocketの動作 [#hb69e02a]
***動作の流れ [#o248b0b1]
*サーバ側:「クライアントからの接続を受け付ける」のSocketの動作 [#hb69e02a]
**動作の流れ [#o248b0b1]
+クライアントからの接続を待つ
+クライアントからの接続パケットを受信
+クライアントに応答パケットを送信
+接続待ちのSocketをコピーし、新しいSocketを作成
+作成したSocketにクライアント側の情報を記録
+コピー元のSocketは別のクライアントからの接続を待つ
+新しく作成したSocketは接続したクライアントとデータを送受信する

***新しく作成したSocketに記録する情報 [#j3258caf]
**新しく作成したSocketに記録する情報 [#j3258caf]
-クライアント側のIPアドレス
-クライアント側のポート番号
-サーバ側のIPアドレス
-サーバ側のポート番号

**サーバ側:「データを送受信」の動作 [#pbf56b67]
***動作の流れ [#ydb07b5f]
*サーバ側:「データを送受信」の動作 [#pbf56b67]
**動作の流れ [#ydb07b5f]
+クライアントからデータを受信
+受信したデータの内容(HTTPのリクエスト・メッセージ)に従って、処理実行してHTTPのレスポンス・メッセージを作成
+レスポンス・メッセージをクライアントに送信

***HTTPのリクエスト・メッセージの内容 [#ead3cb14]
**HTTPのリクエスト・メッセージの内容 [#ead3cb14]
-HTTPのメソッド
-「[[HTTP]]」参照

**関連用語 [#hdfa5c18]
*関連用語 [#hdfa5c18]
-[[CGI]]
-[[HTTP]]
-[[TCP/IP]]
-[[パケット]]
-[[Keep-Alive]]