ob_start https和http之间的区别?

时间:2016-07-20 10:16:08

标签: php http https http-headers ob-start

与http相比,https中的ob_start,ob_end_flush,ob_end和ob_flush是否有不同的行为?

我已阅读有关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 one行为正常

使用 http 的网站输出图片,然后继续使用该脚本。

https one的行为不同

使用 https 的网站会在完全处理完脚本后输出图像。

感谢。我很高兴任何提示。

1 个答案:

答案 0 :(得分: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