【发布时间】:2012-08-05 21:15:34
【问题描述】:
我知道我可以在 PHP 中生成分块响应,只需在输出中引入 sleep()。
但是是否也可以在 PHP 中生成 Trailer HTTP 部分?如果没有,在 Apache 2.2 中是否有可能?
我需要它来进行测试。
【问题讨论】:
-
我会说,除非被证明是错误的,否则您应该能够回显出您需要的任何内容。确保在开始分块响应正文之前设置了所有需要的真实响应标头。还要确保请求是 HTTP/1.1 并且支持分块传输编码。这对于 CGI/FCGI 应该是透明的。
-
我找不到如何从 CGI 提供 HTTP 预告片。在双换行符之后 CGI 输出的任何内容都被 Apache 视为响应体。
-
是的,但是按照规范,分块的响应仅在响应正文中,所以这应该不是问题。还是我看错了规格?
-
@hakre 虽然您在语义上是绝对正确的,但响应正文和预告片在输出方式方面没有区别,因为 Apache 正在处理分块,您需要以某种方式解释这些最后几行数据是预告片,而不仅仅是另一块。预告片应该跟在最后一个长度为 0 的块之后。 AFAIK 没有办法做到这一点。我唯一能想到的就是改变 Apache 中处理分块的任何机制,并在您的 PHP 脚本中手动实现。这是可能的,但一个巨大的 PITA...
-
您想要完成什么需要分块响应?
标签: php apache http chunked-encoding