1 HTTP запрос предполагает один комплект заголовков ответа. (на самом деле есть ещё 10х ответы, т.е. реально может быть несколько комплектов заголовков. Это не про ваш случай)
Но только одно тело документа.
Выдать в stdout несколько бинарников подряд возможно просто потому что это бинарники и их содержимое не валидируется никак. Но расклеивать их обратно - уже задача клиента будет. А клиент не предполагает получить склейку из нескольких бинарников.
В итоге вы отправили какую-то бинарную кашу, возможно с некоторым числом варнингов за попытку отправки заголовков после тела и кроме как чудом эта бинарная куча не пригодна к дальнейшему использованию.
(Добавление)
Так работает HTTP. Безотносительно php, python, ruby, java или ещё что у вас там на бекенде.
|