php捕获所有必要的请求参数

时间:2011-12-04 10:39:17

标签: php networking response comet

嗯,这是更多的网络问题。 我想知道哪些项目必须存储到数据库中,所以在将来,我可以向他们发送http响应消息。 例如ip,port ...... Basiccaly我问,从女巫项目服务器使whitch中的回复消息封装了http响应消息!

我搜索http://www.php.net/但我找不到可以使用的东西..

<?php
    print_r(apache_request_headers());
?>

这将输出类似这样的内容

first http response message

我需要这些信息的女巫吗?

Array ( [Host] => localhost [User-Agent] => Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0 [Accept] =>
     

的text / html,应用/ XHTML + xml的,应用/ XML; Q = 0.9, / 的; Q = 0.8   [Accept-Language] =&gt; EL-GR,EL,Q = 0.8,EN-US; Q = 0.5,连接; Q = 0.3   [Accept-Encoding] =&gt; gzip,deflate [Accept-Charset] =&gt;   ISO-8859-7,utf-8; q = 0.7,*; q = 0.7 [连接] =&gt; keep-alive [Cookie] =&gt;   __utma = 111872281.500570218.1321360124.1322949954.1322956678.12; __utmz = 111872281.1321360124.1.1.utmcsr =(直接)| utmccn =(直接)| utmcmd =(无)[Cache-Control] =&gt; max-age = 0)数组([X-Powered-By] =&gt; PHP / 5.3.8)

这就是我要找的......? 我可以使用此数据通过彗星方法向客户发送消息吗?

3 个答案:

答案 0 :(得分:1)

为了通过HTTP发送任何内容,需要有一个HTTP 侦听器期望传入的HTTP请求。常规客户端公开侦听传入的 HTTP消息,即使这样做,也不知道响应属于哪个请求。换句话说,尝试建立从服务器到客户端的HTTP连接毫无意义,这不是协议的工作方式。

Comet通过打开从客户端到服务器的HTTP连接并保持打开直到服务器上发生某些事情为止。反过来说不起作用。因此,您不需要在数据库中永久存储任何内容,因为只要HTTP连接关闭,您就无法从服务器重新建立它。因此,存储超出当前请求的任何内容都没有意义。

答案 1 :(得分:0)

也许HTTP 1.1规范可能有所帮助? http://www.w3.org/Protocols/rfc2616/rfc2616.html

答案 2 :(得分:0)

我认为你要找的是$_SERVER超全球(see here)。

要查看其包含的内容的转储,请运行以下脚本:

<?php
    header('Content-type: text/plain; charset=utf-8');
    print_r($_SERVER);
?>

Comet使用长期请求从客户端到服务器(从不相反),服务器休眠直到事件触发,然后响应请求。响应到达客户端后,会向服务器发送新请求。

详细了解comet on wikipedia

相关问题