【问题标题】:Stripp all header in PHP response剥离 PHP 响应中的所有标头
【发布时间】:2011-04-09 14:12:00
【问题描述】:

如果我可以通过 apache 从 PHP 响应中剥离所有标头,以便仅流式传输文本响应。我尝试添加自定义 htaccess 但无济于事。我对托管服务器的控制有限。流由不需要任何标头的嵌入式设备读取。

【问题讨论】:

  • 不需要或不能处理标题?为什么要摆脱它们?
  • 嵌入式设备上的内存有限。标题是一种浪费。这肯定是可能的吗?是不是也应该加快传输速度...
  • 标头 HTTP - 默认情况下 PHP 脚本应该返回一个最小集合。除非您可以重新配置网络服务器,否则您将无法大幅减少它们。但如果可以的话,我预计不会对转移产生任何重大影响。
  • 致那些对更有趣的答案感兴趣的人:我已将我的逻辑移至 Python 套接字服务器...工作得很好!!!

标签: php apache http-headers


【解决方案1】:

到了一定程度,浏览器需要解释某些标头,以便它可以呈现输出。如果您要删除标题的原因是为了类似聊天的功能,请考虑使用持久性keep-alive 连接

减少带宽的技巧

  1. 使用 ajax:保持来自 PHP 的响应为 JSON 格式并更新 DOM 元素

  2. Gzip。

  3. 不用担心标题 - 通常一个 HTTP OK 响应将只占用

编辑:

根据您的情况考虑使用套接字(如果想要减少大量带宽,UDP 将是一个不错的选择)socket_listen()(非 UDP)或socket_bind() 支持 UDP

【讨论】:

  • 浏览器不会读取响应,因此根本不需要标头。此时的 200 字节太多了,只有 1280 字节可以使用,数据是 1024 字节......
  • 我已经更新了我的回复,最好在您的问题中添加该要求:)
  • 亲爱的,谢谢你的帮助。其他人都会下地狱。我寻求的是帮助而不是批评。
  • @Jan 好吧,它不是付费支持服务,而是爱好者网站。如果你不喜欢回复,你可以走同样的路哈哈 :)
【解决方案2】:

这是不可能的。
您正在使用 HTTP 协议,并且 HTTP 协议响应总是包含标头。
要么不使用 HTTP,要么教您的设备去除标头。这并不难。

无论如何,php 与删除标头关系不大。还有一个网络服务器实际上与您的设备交互并被教导发送正确的标头。

【讨论】:

    【解决方案3】:

    有一个名为header_remove() 的PHP 函数。我以前从未使用过它,但如果这对你有用,你可以试试。请注意,此功能自 PHP 5.3.0 起可用。

    【讨论】:

    • 这就是问题所在。我的主机只有 PHP 5.2.9。因此 header_remove() 不起作用...... AAAAHH!
    • 你已经尝试过this directive,对吧?
    • 对不起,你对 OP 的了解很少
    • 是的,不高兴。不会删除任何内容,因为大多数标头都是由 apache 添加的,并且 .htaccess 也没有多大作用。还有什么建议吗?
    • 如果您不允许使用 webservers 配置操作标头,我怀疑是否有任何其他方法可以实现此目的。您可能应该像建议的那样看一下套接字。
    猜你喜欢
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2010-09-26
    • 1970-01-01
    • 2014-12-20
    • 2014-10-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多