岩本隆史の日記帳(アーカイブ)

はてなダイアリーのサービス終了をうけて移行したものです。更新はしません。

LDRリロード時にjsファイルが「200 OK」になる理由が気になる

「気になる」だけで、深く追いかけてませんが。

FastladderよりLDRのほうが遅いのをなんとかしたいかも - by edvakf in hatena」にあるネットワークモニタの結果画像を見て、gifファイルは「304 Not Modified」なのに、jsファイルは「200 OK」になっているのが気になりました。

Firefoxで普通のリロード(≠スーパーリロード)をすると、下記のようなHTTPのやりとりが行われます。

gifファイルのリクエスト/レスポンス

GET /img/icon/rest2.gif HTTP/1.1
Host: reader.livedoor.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; ja; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: ja,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://reader.livedoor.com/reader/
Cookie: (省略)
If-Modified-Since: Tue, 20 Mar 2007 06:59:33 GMT
If-None-Match: "9d-42c163f7e7f40"
Cache-Control: max-age=0

HTTP/1.x 304 Not Modified
Date: Sat, 20 Dec 2008 14:34:35 GMT
Server: Apache
Connection: Keep-Alive
Keep-Alive: timeout=2, max=42
Etag: "9d-42c163f7e7f40"

jsファイルのリクエスト/レスポンス

GET /js/compat.0.3.4.js HTTP/1.1
Host: reader.livedoor.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; ja; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5
Accept: */*
Accept-Language: ja,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://reader.livedoor.com/reader/
Cookie: (省略)
If-Modified-Since: Tue, 20 Mar 2007 06:59:34 GMT
If-None-Match: "c34-42c163f8dc180"-gzip
Cache-Control: max-age=0

HTTP/1.x 200 OK
Date: Sat, 20 Dec 2008 14:34:34 GMT
Server: Apache
Last-Modified: Tue, 20 Mar 2007 06:59:34 GMT
Etag: "c34-42c163f8dc180"-gzip
Accept-Ranges: bytes
Vary: Accept-Encoding,User-Agent
Content-Encoding: gzip
Content-Length: 1005
Keep-Alive: timeout=2, max=46
Connection: Keep-Alive
Content-Type: application/javascript

ちなみに

cssファイルもjsファイル同様、普通のリロードでは200になりました。

気になる点

どちらも304で良いと思うんですが、そうなっていないのは、LDRの中の人の意図によるものなのか、apacheモジュールの挙動によるものなのか、分からないでいます。

mod_deflateが怪しいかなあ。それともmod_cacheの挙動(参考:「http://as-is.net/blog/archives/001213.html」)がバイナリファイルとテキストファイルでは異なるのかなあ。そのうち追ってみたい。