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

php捕获所有必要的请求参数,php,networking,response,comet,Php,Networking,Response,Comet,嗯,这是一个更多的网络问题。 我想知道什么样的项目必须存储到数据库中,这样在将来,我可以向他们发送http响应消息。。 例如ip,端口。。。 基本上我要问的是,witch items服务器会将回复消息封装在http响应消息中 我搜索了一下,但没有找到我能用的东西 <?php print_r(apache_request_headers()); ?> text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8 [

嗯,这是一个更多的网络问题。 我想知道什么样的项目必须存储到数据库中,这样在将来,我可以向他们发送http响应消息。。 例如ip,端口。。。 基本上我要问的是,witch items服务器会将回复消息封装在http响应消息中

我搜索了一下,但没有找到我能用的东西

<?php
    print_r(apache_request_headers());
?>
text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8 [接受语言]=>el gr,el;q=0.8,在美国;q=0.5,en;q=0.3 [接受编码]=>gzip,对[接受字符集]=> ISO-8859-7,utf-8;q=0.7,*;q=0.7[连接]=>保持活动状态[Cookie]=> __utma=111872281.500570218.1321360124.1322949954.1322956678.12__utmz=111872281.1321360124.1.1.utmcsr=(直接)| utmccn=(直接)| utmcmd=(无)[缓存控制]=>max age=0)数组([X-Powered-By]=>PHP/5.3.8)

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

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


Comet的工作原理是打开从客户机到服务器的HTTP连接,并将其保持打开状态,直到服务器上发生某种情况。另一种方法是行不通的。因此,您不需要在数据库中永久存储任何内容,因为一旦关闭HTTP连接,就无法从服务器重新建立它。因此,在当前请求之外存储任何内容都没有意义。

也许HTTP 1.1规范会有所帮助?

我想你要找的是
$\u服务器
superglobal()

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

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

Comet处理从客户机到服务器的长时间保持的请求(决不相反),服务器休眠直到触发事件,然后响应请求。响应到达客户机后,将向服务器发送一个新请求


了解更多信息。

有一种方法php不会根据请求发送内容?我不确定我是否理解您的最终目标是什么?是否要减少发送的头数?为什么?我想要这些信息,因为在将来,服务器会知道他想要的http_头数据;)彗星按照你说的那样工作是出于安全考虑吗?如果不是,那么所有的想法都是愚蠢的。。应该是客户端从服务器接收http消息的一种方式,没有tcp连接…不,只是因为网络原因。客户机通常位于代理、NAT和/或防火墙之后,无法始终从外部合理联系,因为他们是客户机,而不是服务器。我想,是的,出于安全考虑,通常最好保持这种状态。普通客户端通常也没有固定的IP地址,移动用户可能每隔几分钟就更改一次IP地址。他们根本无法可靠地联系。好吧,有一种方法,当服务器想要为eatch客户端打开tcp连接时,发送必要的消息,然后每个客户端用唯一的密钥响应消息,然后关闭连接。然后,当服务器想要再次发送消息时,为eatch客户端生成一个密钥,切换到header..,依此类推。。但这是一个新的协议,您仍然必须绕过一个基本问题,即您不能在NAT后面联系客户机和/或根本没有打开的侦听端口。服务器的特殊之处在于,它们以多种方式配置为显式接收连接。对于大多数/许多客户端,您甚至无法建立基本的IP连接。@用户和我认为您不了解网络。当您在浏览器中键入
google.gr
时,您的计算机将建立一个到公共服务器的TCP连接,该服务器正在显式侦听此类连接。谷歌并不是神奇地感觉到你想要建立一个连接并给你打电话。如果网络上的计算机未侦听请求,则无法与计算机通信,可能位于代理/NAT/防火墙之后,该代理/NAT/防火墙甚至不向其传递消息,并且您甚至没有确认的IP。这就是服务器和客户端之间的本质区别。句号。我不想使用长时间保留的请求..这很糟糕,因为它可以不进行轮询。。
<?php
    header('Content-type: text/plain; charset=utf-8');
    print_r($_SERVER);
?>