如果我通过jquery ajax调用一个php文件,其中包含一个脚本来做一些需要一段时间的事情,比如上传一个大的视频,然后我关闭页面: php脚本是否继续加载视频?
发布于 2011-05-14 04:23:33
从我对这些东西工作原理的一点理解开始。从HTTP协议的角度来看,我会说是,脚本将继续运行,因为浏览器只是向服务器发送请求页面的请求,然后服务器开始执行脚本,并且不会从浏览器发送或接收信息,直到脚本完成加载和生成html输出,然后服务器将结果输出发送到浏览器并完成工作。
看,浏览器没有办法“告诉”服务器用户不再通过HTTP协议查看页面了。然而,HTTP协议通过流套接字运行在TCP连接之上,TCP连接一直保持活动状态,直到其中一端选择中止连接(或达到一定的超时),现在我真的不知道浏览器是如何处理这个问题的。浏览器只需打开一个连接,发送一个请求并关闭连接,然后服务器等待脚本并在另一个连接上发送响应。或者浏览器可以打开一个连接,使此连接保持活动状态,直到服务器对同一连接做出响应。如果事情是这样工作的,那么服务器就真的有办法知道用户是否不再查看页面了,只需检查连接是否仍然有效或已被客户端关闭。所以这是不可能的。
我不太清楚这一点。
https://stackoverflow.com/questions/5997102
复制相似问题