2

ナビゲーションタイミングAPIを使用して最初のバイトまでの時間を測定する場合、これらの中で正確な測定値はどれですか? なぜ?

var timing = performance.timing;

var timeToFirstByte = timing.responseStart - timing.fetchStart

また

var timeToFirstByte_a = timing.responseStart - timing.navigationStart
4

1 に答える 1

3

それは本当にあなたが測定したいものに依存します。

responseStart - ナビゲーション開始

navigationStart から移動する場合は、ブラウザーが以前のコンテンツをアンロードし、新しいタブをセットアップし、(ページがリダイレクト経由で読み込まれた場合) リダイレクトが完了するまでの時間を測定します。これは、サーバーへの新しい接続をセットアップし、サーバーが応答し、最初のバイトを受信するための時間に追加されます。

responseStart - fetchStart

fetchStart を実行すると、リクエストがサーバーに送信されてから最初のバイトが受信されるまでの時間を測定するだけになります。これには、tcp と ssl のネゴシエーションが含まれます。

responseStart - requestStart

接続が確立された後から受信した最初のバイトまでが必要な場合は、おそらくresponseStart - requestStart. これには、ブラウザーのセットアップ、リダイレクト、または tcp と ssl のネゴシエーションは含まれません。

ソース: https://www.w3.org/TR/navigation-timing/

于 2016-03-10T18:39:46.367 に答える