3

JavaScriptファイルを含めてhtmlに出力する方が速いでしょうか、<script>それとも単にsrc属性を使用してブラウザに別のリクエストをさせますか?

ブラウザに別のリクエストを発行させる代わりに単に出力するだけで、明らかにリクエストが少なくなり、サーバーの負荷が軽減される可能性がありますが、それにより高速になりますか? ファイルを含めて出力しても、ブラウザはそれらをキャッシュできません。

4

3 に答える 3

5

これを含めると、すべてのページでスクリプトを再度ダウンロードするオーバーヘッドが発生します。

外部にリンクし、将来の有効期限ヘッダーを送信し、(変更のために) キャッシュバスターでバージョン管理を使用する場合、ファイルは必要に応じて 1 回ダウンロードされます。パフォーマンスのトピックについては、本番環境で使用する JavaScript を縮小またはパックしてください。

もちろん、これは JavaScript に非常に関連しています。それが数行であり、変更される可能性が低い場合は、その 1 つの HTTP 要求を保存してインラインに配置することができます。

ただし、99% の場合、外部ファイルを使用するのがベスト プラクティスです。

于 2011-03-01T01:38:25.437 に答える
2

かなり複雑な答えです。明らかに、運用環境と開発環境では手法が異なります。

最後の 1 つは非常に単純です。スクリプトをそのままインクルードします。

実稼働環境の場合: 必要な js ファイルを 1 つのファイルに連結し、縮小して圧縮する必要があります。パブリック cdn からライブラリを取得して、ダウンロードのパフォーマンスを向上させ、サーバーの負荷を軽減できます。

増加したサーバー負荷 (http ヘッダー) は、キャッシュによってバランスを取る必要があります。

ユーザーが認識するパフォーマンスを向上させるには、js ファイルをページの下部にリンクし、head セクションにリンクする必要があります。

遅延実行にも注意する必要があります。これにより、ブラウザーは javascript ファイルのダウンロード中に他のリソースをダウンロードできます (デフォルトでは、ブラウザーは一度に 1 つの JavaScript をダウンロードします。これは、ダウンロードした JavaScript がダウンロード中に dom を変更するかどうかがわからないためです)。実行)。

最後に、スクリプトが非常に短い場合は、Web ページに直接含めるとパフォーマンスが向上します。

最後に、同様の質問がある場合は、これをお読みください: http://developer.yahoo.com/performance/rules.html

于 2011-03-01T01:47:13.357 に答える
0

@アレックスに同意します。また、リンクを使用すると、ページの解析中にスクリプト ファイルを並行してダウンロードできます。ほとんどのブラウザーは、複数のスレッドを使用して、メイン ページのコンテンツを解析しながらコンテンツをダウンロードします。

于 2011-03-01T01:41:14.737 に答える