этот документ в разделе 14.14 гласит, что В HTTP СЛЕДУЕТ отправлять всякий раз, когда длина сообщения может быть определена до его передачи, если это не запрещено правилами в разделе 4.4 . Это означает, что отправлять сообщение НЕ нужно, если вы не можете сказать его размер.
Только не отправляйте.
Если вы хотите отправить части данных в браузер до того, как все данные станут доступны, вы очищаете свой выходной буфер? Может в этом и проблема, а не отсутствие заголовка?
То, как вы используете флеш, выглядит так:
- генерирует некоторый вывод, который должен добавить его в буфер
- flush () it, который должен отправить текущий буфер клиенту
- Перейти к 1
Итак, если ваш запрос возвращает много результатов, вы можете просто сгенерировать вывод, скажем, для 100 или 1000 из них, затем очистить и т. Д.
Кроме того, чтобы сообщить браузеру клиента о попытке сохранить файл вместо его отображения в окне, вы также можете попробовать использовать заголовок Content-disposition: attachment . См. спецификацию здесь, раздел 19.5.1.