さまざまなWebサイトの最適化ガイドは、可能であれば、複数のjavascriptを1つに結合してhttpリクエストの数を減らすことを推奨しています。一方、googleとmicrosoftのようなCDNSを使用すると負荷が分散され、ブラウザが並行してダウンロードできるようになるという若干直交した提案があります。複数のjavascriptを組み合わせてCDNを分割する
私は自分自身だけでなく、サードパーティのjsを含めて、すべてのjavascriptを1つのjavascriptファイルとして組み合わせるべきか、それらを別々にしておくべきですか(少なくとも無料のCDNで利用できるものについては、
ブラウザは複数のjavascritファイルを並行してダウンロードするのか、JavaScriptをダウンロードする前に各javascriptをダウンロードするのか、私には不明です。
JavaScriptを頻繁に使用するウェブサイトがあり、私が使用しているライブラリがいくつかあります(jquery、jquery-ui、jquery.json-2.3、jquery.metadata.js、jquery.jcarousel.min.js jquery)。 validate.js、jquery.blockUI.js)。
クイック返信ありがとうございますが、複数のjavascriptがブラウザで並行してダウンロードされている場合にのみ、CDNの利点がわかります。すべてのjavascriptをダウンロードするためのブラウザブロックがあれば、それは助けにならないかもしれません(javascriptが最初にキャッシュされていないと仮定して)。さらに、さまざまなCDNSには多くのバージョンのjsライブラリがあり、jqueryを使用している他のWebサイトにもすでにキャッシュされている可能性があるという議論があります。恐らく有効ではありません。私のjavascriptをダウンロードすれば、それは後続のページにもキャッシュされません。最後の質問に答えるには – Divick
- はい、その後のリクエストでは、ファイルもブラウザによってキャッシュされます。 ほとんどのCDNは、常に最新のバージョン(Googleのcdnはバージョン番号として '1'を指定したときにこれを実行します)を参照する可能性も提供します。これは、異なるバージョンのキャッシュが存在する可能性があるという議論に役立ちます。最新バージョンへのURLを使用すると、キャッシュされたバージョンを参照する確率が高くなります。cdnsを使用することを強くお勧めします。トラフィックを節約し、ユーザーがいくつかのリクエストを保存するかもしれません(時間が経つにつれて、cdnsはもっと頻繁に参照されます)。 –
でも、ブロッキングについては、一部のブラウザでは、スクリプトがdomに影響せず、したがって並列に読み込むことができると仮定した「推測」アプローチもサポートしています。このアプローチがなくても、パフォーマンス、トラフィック、および安定性の最高の混合物については、あなたがcdnの方が良いと思います。 –