次にKeep-Aliveを無効にし、リクエストの処理が終了したら接続を切る指定を加えたリクエストを送ってみます。図12のように、1つ目のリクエストの最後に「Connection: close」を加えると、1つ目のリクエスト処理が終わった時点で接続が切られます。
送信文字列に上記リクエストを入れて、サーバait-sample.list.jpに接続してから、1〜4行目を送信すると、1つ目のリクエストに対するレスポンスが返ってきます。ところが、続いて5行目を送信してみると、先ほどとは少し様子が違うはずです。ステータス欄に「<< NO CONNECTION >>」の表示が現れ、送信行数の表示が変化しません。これは、既に接続が切れていることを意味しており、送信ボタンを何度押しても、送信文字列の5行目はサーバに送信されません。
Keep-Aliveが有効な場合と違って、こちらの例では1つ目のリクエストを送信し終えた時点で、接続が切れました。これはリクエストヘッダにConnection: closeを入れたことでKeep-Aliveの動作が行われなかったためです。なお、Keep-Alive動作をせず接続が切れたときは、レスポンスヘッダにも「Connection: close」が入ります。これにより、Keep-Aliveの動作状況を判定できます。
さて、以上2つの実験で、Keep-Alive動作についてご理解いただけたかと思います。次回は、前回予告しながら、今回説明し切れなかった「認証関係の動作」を中心に紹介します。ご期待ください。
Copyright © ITmedia, Inc. All Rights Reserved.