ページ内で読み込むファイル数が多いと、ページの読み完了に時間がかかったり、ページが表示エラーになったり、部分的に欠落したり、あるいはレイアウトが崩れたりします。
特にアクセスの多い時間帯に起こりがちですが、インターネットやサーバーの不具合などの原因不明で片付けられることも多いかもしれません。
しかしこれは多くの場合、ページを作ったデザイナーの人災です。
webブラウザーがサーバーに複数のファイルの要求を出す場合に1ファイル毎に以下の処理を行います。
- DNSサーバーにドメインのるサーバーのipアドレスを問い合わせる
- DNSサーバーからipアドレスを受け取る
- 指定されたipアドレスに対してファイル提供要求を出す
- 指定されたipアドレスからファイルを読み取る
各サーバーにはサーバーの保護のために以下のような制限がかかっています。
「同時アクセス数の上限値」
webブラウザーからのファイル提供要求があまりにも多い場合サーバーは提供要求を無視しますので、cssファイルが無いとレイアウトが崩れます、画像ファイルがないと画像を中途半端に表示したり表示しなかったりします。
この現象は動的なので原因不明でそのままになったりしやすいのですが明らかに人災です。
また、1つのステップで最低でも128バイトのデーターのやり取りがあります。尤も実際には500bytes程度やり取りがあると思います。
読み込むファイルの内容が例え以下の1行だけだとしても
line-height:12pt;
やり取りされるデーターは18bytesではなく、18bytes+3000bytes*5=1518bytesとなります。
小さなファイルが多くあるとやり取りされる全体のデータ量は「2桁」多くなるケースも考えられます。
以上から、
ページ内で読み込むファイルの数は最低限にしましょう。
- cssファイルやjavascriptのファイルはできるだけ1つにまとめる
- 画像ファイルを必要以上に多くしない、1つ尾ファイルにできるのであればまとめる
などの方策が必要になります