複数ホストで快適ダウンロード ~ Web サイトの最適化
今日のお題は、プロの人でもあまり知らないウェブサイトの最適化方法です。
画像をたくさん使っているウェブサイトには効果があって、対策も簡単です。
今日のお話は、「複数ホストで快適ダウンロード」 です。
なんか、安っぽいタイトルですね・・・(汗)
いいタイトルが思いつきませんでした・・・・。すみません。
なにそれ?
同じホストから画像をダウンロードしようとしても、ブラウザが遠慮してせいぜい2個同時くらいしかダウンロードしません。
そこで複数のウェブサイトから画像をダウンロードさせれば、同時アクセス数が増加して、その結果、ダウンロードが高速に行われ、HTML の表示も高速になります。
どうやってやるの?
例えば、ひとつのウェブページにたくさん画像が張り付いているページがあるとします。
HTML を書いたことのある人ならご存知ですよね。画像は img タグです。 img タグでは画像の URL を src 属性で指定します。こんな感じです。
<img src="myimage1.jpg" alt="">
<img src="myimage2.jpg" alt="">
src が相対パスで指定されていると、同じホストからのダウンロードとなります。src に、
<img src="http://www.mycompany.com/myimage1.jpg" alt="">
<img src="http://www.mycompany.com/myimage2.jpg" alt="">
のように書けばホスト名も明示的に指定できます。
さて、そこで、複数ホストを用意して、
<img src="http://www1.mycompany.com/myimage1.jpg" alt="">
<img src="http://www2.mycompany.com/myimage2.jpg" alt="">
とすれば、複数のホストから同時ダウンロードできることになります。
「・・・ そんなの当たり前だ~!」
という声が聞こえてきそうです・・・ (汗)
ですが実は、物理的に同じホストであっても、別名 (別ホスト名) をつけてあげれば、同時ダウンロードされるのです。
ホスティング会社によっては比較的自由に複数のホスト名を指定できるところがありますので、ホスティング会社を選定するときには、ホスト名を複数登録できるか、チェックすると良いでしょう。
簡単で効果が高いので、ぜひお試しください!
補足
マイナス面としては、DNS へのトラフィックが増え、かつ、その IP 解決分が遅くなります。そのために画像のプリローディングのようにあらかじめ、複数ホストにアクセスする動機を与えておき、クライアントにキャッシュを作ってあげればよいでしょう。