「HTTP」の仕組みをおさらいしよう(その3)リトライ! 触って学ぶTCP/IP(4)(4/4 ページ)

» 2016年05月11日 05時00分 公開
前のページへ 1|2|3|4       

Keep-Aliveを無効にしてみる

 次にKeep-Aliveを無効にし、リクエストの処理が終了したら接続を切る指定を加えたリクエストを送ってみます。図12のように、1つ目のリクエストの最後に「Connection: close」を加えると、1つ目のリクエスト処理が終わった時点で接続が切られます。

図12 Keep-Aliveをしないときの動作を確かめるリクエスト,図12 Keep-Aliveをしないときの動作を確かめるリクエスト

 送信文字列に上記リクエストを入れて、サーバait-sample.list.jpに接続してから、1〜4行目を送信すると、1つ目のリクエストに対するレスポンスが返ってきます。ところが、続いて5行目を送信してみると、先ほどとは少し様子が違うはずです。ステータス欄に「<< NO CONNECTION >>」の表示が現れ、送信行数の表示が変化しません。これは、既に接続が切れていることを意味しており、送信ボタンを何度押しても、送信文字列の5行目はサーバに送信されません。

 図13 接続が切れていて2つ目のリクエストを送信できない時の画面 図13 接続が切れていて2つ目のリクエストを送信できないときの画面

 Keep-Aliveが有効な場合と違って、こちらの例では1つ目のリクエストを送信し終えた時点で、接続が切れました。これはリクエストヘッダにConnection: closeを入れたことでKeep-Aliveの動作が行われなかったためです。なお、Keep-Alive動作をせず接続が切れたときは、レスポンスヘッダにも「Connection: close」が入ります。これにより、Keep-Aliveの動作状況を判定できます。

 さて、以上2つの実験で、Keep-Alive動作についてご理解いただけたかと思います。次回は、前回予告しながら、今回説明し切れなかった「認証関係の動作」を中心に紹介します。ご期待ください。

前のページへ 1|2|3|4       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。