QA@IT

HTTP通信について

5892 PV

PC---------------AD+IIS
の構成でPCからADにインストールしたIISに
ブラウザからhttp://AD1/とアクセスしIISの

画面は表示されるのですが、パケットキャプチャーで
通信内容を確認すると以下のようになっております。

192.168.1.1 HTTP 545 GET / HTTP / 1.1
192.168.1.10 HTTP 242 HTTP / 1.1 304 Not modified
192.168.1.1 HTTP 466 GET / Welcome.png HTTP /1.1
192.168.1.10 HTTP 241 HTTP / 1.1 304 Not modified

これは、正常な通信シーケンスなのでしょうか?

192.168.1.10 HTTP 242 HTTP / 1.1 304 Not modified
なんて表示されていますが・・・・

どなたかご教授下さい。

__.jpg

回答

正常です。
ブラウザは、キャッシュに更新タイムスタンプ付きのコンテンツが残っている場合は、If-Modified-Since: タイムスタンプ というリクエストヘッダ付きでサーバーにリクエストを送ります。これは、「自分はいついつ現在の、そのコンテンツを持ってるので、それ以降に更新された物があれば送ってくれ。更新されてなければ送らなくていいよ。304と返事してくれればいい」というような意味です。

304 Not modifiedは、「さっき応答したコンテンツから更新されてないので、さっきのを使ってくれ。こんどはコンテンツは返さないよ」というような意味です。
ブラウザは、キャッシュに残っているファイルを使います。

サーバーサイドプログラムで動的に作成したページの場合は、普通は、更新タイムスタンプ無しの応答になるので、同じリクエストであっても毎回コンテンツが返されることになります。

編集 履歴 (0)
  • 解説有難うございます!! -
ウォッチ

この質問への回答やコメントをメールでお知らせします。