websocket v.s. HTTP1.1 keep alive

Posted by dab | 2010年3月3日 水曜日 18:31:15 < コンピュータ >

http://bloga.jp/koma/ws/100images/wspipeling.html

100個の画像をwebsocketでダウンロードして表示する速度を測定するページだそうです。
対応は現状でChromeのみ。

残念ながらうちのChrome4.0.249.89では動きませんでした。

「画像をたくさん含むようなサイトを見ようとすると、画像のダウンロードに時間がかかって中々開かない(・ω・)」という経験をされた方は多いはずです。で、この要因の一つとして「httpでは、前の画像のダウンロードが終わらないと、次の画像のダウンロードが始まらない(待ってる時間だけ時間を食っている)」というのがあるのでは?と考えました。

ところで、このwebsocketの目的は、多くの画像を含むページでダウンロードに時間がかかるのを何とかしたい、ということだそうですが、
HTTP1.1にはkeep aliveの規格がありますので、
通常のウェブページでは、1つのTCPコネクションで4つから8個ずつ、画像やcss、jsファイルをダウンロードするはずです。
だから、websocketを使って1つのコネクションで同時ダウンロードを試みても、大して差は出ないはずなんですが。。。

たしかにJavaScriptでnew Image()やcreateElement(‘img’)して、
いわゆる”先読み”した時はHTTPのkeep aliveが使えないため、たしかに大きな速度向上は期待できますが。。。

以前CSSを利用して画像を統合する方法を書きましたが、
よく考えれば、「画像ファイルのヘッダ部分」の削減が出来るだけで、よほどの数を統合しないと、転送量削減のメリットは殆どないかもしれません。

TrackBack URI : http://home.wi-wi.jp/blog/wp-trackback.php?p=385

Leave a comment

:mrgreen: :neutral: :twisted: :shock: :smile: :???: :cool: :evil: :grin: :oops: :razz: :roll: :wink: :cry: :eek: :lol: :mad: :sad: