Microsoft XMLHTTP の不可思議な挙動

システム・モニターで「アロケート済みメモリ」の項目を見ていて妙なことに気付いたのでメモしておきます。

私は JavaScript での HTTP 通信には MSXML 3.0 (Servie Pack 7) を使っているんですが、Content-Length を返すリソースに対して HEAD リクエストをすると、返ってきた瞬間にその長さ分のメモリー領域が確保されてしまうようなんです。

巨大なファイルに HEAD をかけている時に、グラフが一瞬にして急上昇・急降下するのを見て分かりました。

GET だとそうする必要があるんでしょうし、GET と HEAD で同じルーチンを使うことも何となく分かります。しかし、情報を知りたいだけなのに大量のメモリーを確保するのは明らかに無意味なことで、残念な実装だと思わざるを得ません。4.0 以降のバージョンでも同じなんでしょうかね…?