Я подозреваю, что реальной точкой блокировки является шлюз (веб-сервер), а не ваше приложение CGI.Технически шлюз должен проверить ответ и убедиться, что он соответствует версии HTTP, которую шлюз использует с клиентом.
Я не уверен, что шлюзу даже разрешено пересылать заголовки до тех пор, пока все запросы не будут выполнены.обрабатывается.Если вы посмотрите на спецификацию CGI в разделе 3.1 «Обязанности сервера», вы можете прочитать следующее:
Сервер ДОЛЖЕН выполнять переводы и преобразования протокола по запросу клиентаданные, требуемые этой спецификацией.Кроме того, сервер сохраняет ответственность перед клиентом за соответствие соответствующему сетевому протоколу, даже если сценарий CGI не соответствует этой спецификации.
Если выполнение сценария занимает много времени, и вы хотитепериодические обновления, вам гораздо лучше переосмыслить свою архитектуру.Взгляните на более классические стратегии для этого подхода, в основном, сценарий запускается в фоновом режиме, который записывает в базу данных и имеет код AJAX для извлечения уведомлений с сервера.В зависимости от того, что вы используете в качестве стека серверов, вы также можете написать приложение для связи через веб-сокет , что позволит вам поддерживать постоянное соединение и отправлять обновления в любое время.