Введение
Время до первого байта (TTFB) - это измерение, используемое в качестве показателя быстроты отклика веб-сервера или другого сетевого ресурса. TTFB измеряет продолжительность от пользователя или клиента, делающего HTTP-запрос до первого байта страницы, получаемой браузером клиента. Это время состоит из времени соединения сокета, времени, необходимого для отправки, и времени, необходимого для получения первого байта страницы. Хотя иногда неправильно понимается как расчет после DNS, первоначальный расчет TTFB в сети всегда включает в себя задержку сети при измерении времени, необходимого для начала загрузки ресурса. Часто меньший (более быстрый) размер TTFB рассматривается как ориентир хорошо настроенного серверного приложения. Например, более низкое время до первого байта может указывать на меньшее количество динамических вычислений, выполняемых веб-сервером, хотя это часто связано с кэшированием на уровне DNS, сервера или приложения.
Использование в веб-разработке
Время до первого байта важно для веб-страницы, поскольку оно указывает на страницы, которые загружаются медленно из-за вычислений на стороне сервера, которые лучше использовать в качестве скриптов на стороне клиента. Часто это включает в себя простые скрипты и расчеты, такие как переход изображений, которые не являются GIF-файлами и переходят с помощью JavaScript для изменения их уровня прозрачности. Это часто может ускорить веб-сайт, загружая несколько небольших изображений через сокеты вместо одного большого изображения. Однако этот метод более интенсивен на компьютере клиента, и на старых ПК может замедлить работу веб-страницы при фактическом рендеринге.
Важность
TTFB часто используется поисковыми системами, такими как Google и Yahoo, для улучшения рейтинга поиска, поскольку веб-сайт будет реагировать на запрос быстрее и будет доступен для использования, прежде чем другие веб-сайты смогут это сделать. Есть недостатки в этой метрике, поскольку веб-сервер может отправить только первую часть заголовка, прежде чем контент будет готов к отправке, чтобы снизить их TTFB. Хотя это может показаться обманчивым, его можно использовать для информирования пользователя о том, что веб-сервер на самом деле активен и вскоре ответит контентом. Есть несколько причин, почему этот обман полезен, в том числе то, что он вызывает постоянное соединение, что приводит к меньшему количеству попыток повторного соединения от браузера или пользователя, поскольку он уже получил соединение и теперь готовится к загрузке контента.
TTFB и время загрузки
Время загрузки - это время, которое требуется веб-странице для загрузки и использования браузером. Часто при доставке веб-страниц страница сжимается в формате Gzip, чтобы уменьшить размер загрузки. Эта практика предотвращает отправку первого байта до завершения сжатия и значительно увеличивает TTFB. TTFB может быть от 100200 мс до 100020000 мс, но страница будет загружаться намного быстрее и будет готова для пользователя за гораздо меньшее количество времени. Многие веб-сайты видят общее увеличение TTFB на 5 × 10, но гораздо более быстрое время отклика браузера, уменьшая время загрузки на 20%.