2016-07-20 5 views
1

Есть ли другое поведение для ob_start, ob_end_flush, ob_end и ob_flush в https по сравнению с http?ob_start разница между https и http?

Я прочитал сообщения о разнице между HTTP и HTTPS:

Difference between http and https

Difference between HTTPS and SSL

как я прочитал этот о ob_start & заголовки:

Showing error pages when sending header with header() function

но я не нахожу ответа. д.

Мой случай:

Я промывка погрузочного изображения с ob_start на два сайтах. Они используют тот же самый код. Единственная разница в протоколе: один - http, а один - https.

НТТР один действует штраф

Сайт с использованием HTTP выводит изображение и затем продолжить со сценарием.

В один протокол HTTPS действует отличается

Сайт с использованием HTTPS выводит изображение всегда после того, как сценарий был полностью обработан.

Спасибо. Я рад за любой намек.

ответ

1

Я вижу две возможности:

  • HTTPS передает данные в блоках (записей), которые могут быть 16KB large. Если ваше изображение меньше этого, сервер может дождаться большего количества данных перед отправкой полного блока.

  • Ваш HTTPS реализован обратным прокси-сервером, а прокси-сервер ожидает отправки всего ответа перед отправкой чего-либо.

Если вы используете PHP-FPM, попробуйте http://php.net/manual/en/function.fastcgi-finish-request.php

Если вы используете Nginx, попробуйте http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering

+0

Благодаря Корнель, это обратный прокси-сервер, который ждет. Есть ли способ преодолеть это, если я использую apache без php-fpm? – leopold