そもそも何のためか?
* HTTPは「ステートレス・プロトコル」と呼ばれるとおり、1回の要求(リクエスト)ごとに接続が切断される ※ HTTPについては、以下の関連記事を参照のこと。http://blogs.yahoo.co.jp/dk521123/34553850.html
=> !!問題点!! しかし、今日では1つのWebページを表示するために、 複数のファイル(例えば画像やCSSなど)が必要となる場合がほとんどなので、 1リクエストごとに接続を切っていたのでは、効率が悪い => そこで、KeepAliveは、一度接続したらある条件を満たすまで接続を保持できる
メリット
* 複数のリクエストを同一の TCP コネクションを経由して送信することが可能になることにより、 1) TCP 接続の確立にかかる時間が節約できる 2) TCP の接続と切断に必要なリソース(CPUとネットワーク) の節約 => パフォーマンスの向上となる
デメリット
* リクエストが終了したクライアントに対して、接続を維持しているとリソース(主にメモリ)の無駄遣いになる
参考文献
http://qiita.com/mechamogera/items/3e79ad1095ef23552da4http://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