Очистка буфера до получения ответа от сервера
Когда пользователь отправляет запрос, чтобы открыть страницу, сервер обрабатывает его от 200 до 500ms. В течение этого времени браузер бездействует, так как ожидает прихода данных. В PHP у Вас есть возможность воспользоваться функцией flush(). Это позволит отправить частично готовые HTML-ответы на браузер, чтобы он мог начать выборку компонентов, пока сервер занят обработкой остальной части HTML-страницы. Преимущество от этого можно увидеть в основном на высокозагруженных бэкэндах или "лёгких" фронтэндах.
Лучшее местоположение для flush - сразу после заголовка, потому что для HTML заголовка обычно проще реализовать, и это также позволяет Вам вставить любой файл CSS и JavaScript, чтобы браузер начал выборку, в то время как сервер всё ещё обрабатывает запрос.
Пример:
... <!-- css, js -->
</head>
<?php flush(); ?>
<body>
... <!-- content -->
Yahoo! search стал первопроходцем в изучении и тестировании с целью доказать преимущества использования данного метода.
Оригинал статьи на developer.yahoo.com
Перевод КОМТЕТ komtet.ru