我试图弄清楚服务器和客户端之间的“交谈”是如何完成的。
因此,当服务器生成无限循环时,echo
ing"hello<br />"
例如,当客户停止或点击“返回”时会发生什么?
服务器如何知道循环已结束,或者它旁边是否有一个无限的进程?
我可以在任何地方阅读相关内容以了解整体情况吗?
客户端(浏览器)有一个TCP/IP 会话与您的服务器建立连接,等待您网站的 HTTP 响应。当用户回击/取消/关闭时,该 TCP 连接将立即被客户端关闭。
Web 服务器(即 apache)将通知 PHP 解释器TCP 连接关闭.
除非php.ini
指示ignore_user_abort被设定为1
(在服务器端,0
是 PHP 默认值),当当前原子操作完成时,PHP 解释器将中止脚本执行(在您的示例中:echo()
)
但是,即使您设置了ignore_user_abort明确地1
你会遇到 PHPmax_execution_time或阿帕奇TimeOut(两者也可以在服务器端进行配置)
另见ignore_user_abort() and set_time_limit()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)