これは素晴らしい質問だと思います。私が答えを求めてグーグルに強いられたと感じたもの。
スクリプトアセットをページの下部に配置するための議論は、ページの残りの機能がロードされている間、ユーザーをビジー状態に保つために画面にピクセルをペイントする可能性のあるブラウザーのレンダラーをブロックしないようにすることでした。HTTPストリーミングでは、サーバーがボトルネックになっていることについて何かできることについて話しています。これらの高価なデータベースクエリとバックエンドサービス呼び出しがすべて完了するのを待つ間、JS/CSSアセットをロードできます。
アセットを<head>するか、<head>しないかという転換点があるように思われます。これは、サーバーが残りの応答を準備する前にJS / CSSアセットをダウンロードできる場合にのみ、正味のパフォーマンスの向上になります。
次の場合は、ページのアセットを<head>しないでください。
- サーバー側のキャッシュからページを提供しています
- サーバーの応答時間は、JS / CSSの実際のアセットのロード時間よりも高速です(ロード時間を計算するときは、それらのアセットがクライアント側ですでにキャッシュされている可能性があるかどうかを慎重に検討してください)
次の場合は、ページのアセットを<head>してください。
- サーバーは、待機中にすべてのJS/CSSアセットをロードするよりも応答に時間がかかります
それは正しいと思いますか?