Согласно chrome Фазы разбивки по времени объяснены .
- Ожидание (TTFB). Браузер ожидает первый байт ответа. TTFB означает время до первого байта. Это время включает в себя 1 круговую задержку и время, затраченное сервером на подготовку ответа.
- Загрузка контента. Браузер получает ответ.
Но я обнаружил, что TTFB всегда ошибался. Ниже приведен очень простой пример: Express повторный запрос после setTimeout(500)
.
const express = require('express')
const app = express()
const port = 5000
app.get('/', (req, res) => {
setTimeout(() => {
res.send('Hello World!')
}, 500)
})
app.listen(port, () => console.log(`Example app listening on port ${port}!`))
chrome снимок экрана devtool
Chrome показ сети devtool TTFB
- 2,02 с, Content Download
- 1,57 мс. Хотя я использую API производительности для проверки responseStart
и responseEnd
, результат более разумный.
var perf = performance.getEntries()[0];
console.log(perf.responseStart - perf.requestStart, perf.responseEnd - perf.responseStart);
// 502.5050000404008 1515.1599999517202