2012-05-09 7 views
1

私は、すべてのページに多数の画像があるウェブサイトを持っています。各画像はPHPによって動的に生成されます(imgタグのsrc属性は "/image.php?id=4553"のようなものです)。ウェブページに多数のPHP生成画像をロードする方法

私はキャッシュを適切に制御して、同じイメージの読み込みをさらに高速化し、1つのイメージを読み込むのにかかる時間が非常に短くなります。問題は、ページが読み込まれるのと同時に最初の5〜6枚の画像がロードされ、後で(5〜10〜15秒後に)2枚目がロードされるということです。 Firebugは、ブラウザへの同時接続を制限するためにブラウザが実行する要求のキューイングによる問題であることを伝えています。

ページのHTMLを送信するときに「接続:キープアライブ」ヘッダーを送信しようとしましたが、十分でない可能性があります。

助けが必要ですか?

ビューポートに表示されているときにのみイメージをロードする遅延ロードなどのjQueryプラグインがあることは知っています。これは素晴らしい "回避策"ですが、このタイプの画像読み込みを制御する適切な方法があるかどうかを知りたいと思います。

ありがとうございました。

+0

このスクリプトで画像を処理していますか? – Leri

+0

はい、私はその特定の "イメージタグ"に必要な形式に元のイメージのサイズを変更(gdlib)します。 –

+0

あなたのパフォーマンスを向上させるために、アップロード時に画像を処理し、後で出力することをお勧めします。画像は一度アップロードされたが、何度も表示されるためです。 – Leri

答えて

4

Firebugは問題を非常にうまくまとめています。ブラウザは一度にドメインからのリソース量をxだけロードします。 xは、ブラウザによって異なる場合がありますが、設定によってはユーザーが変更することができますが、通常は約8です。これを克服する唯一の方法は、異なるドメイン(サブドメインは異なるドメインと見なされます)からリソースをダウンロードし、一度に大量のリソースをダウンロードできるようにすることです。 .htaccessとmod_rewriteを使用して、実際には同じドメインからダウンロードされている偽のサブドメインから画像をダウンロードさせることで、ブラウザーが別のドメインからダウンロードしていると思うようにブラウザを欺くことで、おそらくこれを解決できます。これにより、割り当てられたリソースを一度にダウンロードできるようになります。

+0

ありがとう、非常に明確で完全な答え! –

関連する問題