◾️はじめに
Connection: Keep-Alive についてメモしておく
【1】Keep-Aliveとは?
* 1つのTCP接続で複数のHTTPリクエストが処理されるようになる
【2】そもそも何のためか?
* HTTPは「ステートレス・プロトコル」と呼ばれるとおり、 1回の要求(リクエスト)ごとに接続が切断される => HTTP に関する詳細は、以下の関連記事を参照の事
【プロトコル】HTTP
https://dk521123.hatenablog.com/entry/2015/02/04/215800
1)HTTPの問題点
しかし、今日では1つのWebページを表示するために、
複数のファイル(例えば画像やCSSなど)が必要となる場合がほとんどなので、
1リクエストごとに接続を切っていたのでは、効率が悪い
=> そこで、KeepAliveは、一度接続したらある条件を満たすまで接続を保持できる
【3】注意
* HTTP/1.0 クライアントに送る場合には Keep-Alive 接続を使えない
【4】メリット・デメリット
1)メリット
* 複数のリクエストを同一の TCP コネクションを経由して 送信することが可能になることにより、 [1] TCP 接続の確立にかかる時間が節約できる [2] TCP の接続と切断に必要なリソース(CPUとネットワーク) の節約 => パフォーマンスの向上となる
2)デメリット
* リクエストが終了したクライアントに対して、 接続を維持しているとリソース(主にメモリ)の無駄遣いになる
参考文献
http://qiita.com/mechamogera/items/3e79ad1095ef23552da4
http://www.inter-office.co.jp/contents/72/
http://qiita.com/kou/items/acb3dcf1dcb428d7a3ec
http://www.atmarkit.co.jp/ait/articles/0207/23/news002_2.html
http://d.hatena.ne.jp/kazuhooku/20100327/1269688828
http://server-setting.info/centos/apache_keepalive.html
Apache仕様
http://httpd.apache.org/docs/2.2/ja/mod/core.html
関連記事
curl コマンド
https://dk521123.hatenablog.com/entry/2017/12/05/233100
【プロトコル】HTTP
https://dk521123.hatenablog.com/entry/2015/02/04/215800
設定ファイル(server.xml) ~ Connector 編~