情况:用户点击链接,服务器获取请求并开始处理。同时,用户点击另一个链接,服务器在处理第一个请求时获取新请求。怎么了?在客户端,我们只看到第二个请求的网页,但是收到第二个请求时服务器上第一个请求被杀的过程是什么?它是由服务器还是语言(Apache或PHP)管理的?
答案 0 :(得分:5)
取决于。如果浏览器没有丢弃与服务器的连接,它将完全不知道客户端已在其他地方导航。如果确实丢弃了连接,则由Web服务器选择检测它并中止处理线程。
无论哪种情况,这都是HTTP无状态的本质。你不应该依赖这方面的任何事情。
答案 1 :(得分:1)
两个请求都被提供(如果浏览器确实发送了第二个请求)。
你只会看到第二页,但是如果你看看access_log,你肯定会注意到两个请求。
这就是HTTP的工作原理。
答案 2 :(得分:0)
您可以使用ignore_user_abort()
告诉脚本在连接终止后继续(或不)。