当用户在其Web浏览器中按停止时会发生什么?

时间:2010-03-30 09:29:42

标签: browser httpwebrequest webserver

如果调用需要大量处理的页面并且用户在结束前单击停止,浏览器是否只是在客户端停止请求?

或者是发送到服务器的“停止”消息,即处理被取消了吗?

4 个答案:

答案 0 :(得分:10)

发生这种情况时,不会向服务器发送任何消息。当用户按下停止按钮时,浏览器只会暂停页面的呈现并忽略来自服务器的任何进一步响应=。

如果请求已经发送到服务器,服务器通常会继续执行它。但是,根据服务器的实现,可能会检测到断开的连接。这意味着你不能依赖它会在每种情况下继续存在的事实。

答案 1 :(得分:4)

实际上它通过关闭连接发送“停止消息”。只有当它仍在等待主要请求的输出时才会这样(当完成下载内容并开始加载图像和内容时)。因此,当您收到连接关闭消息时,您可以检测用户是否按下了停止按钮或连接有问题。

以下是有关PHP用户手册的一些信息:http://php.net/manual/en/features.connection-handling.php

另一方面 - 它总是取决于浏览器的实现,并且无法确定用户是否按下了停止按钮或刚刚丢弃的连接。

答案 2 :(得分:3)

HTTP中没有定义“STOP”消息/请求,因为HTTP是无状态的,停止请求会要求您知道其ID。很自然,只要HTTP请求命中服务器,它就无法从外部世界停止。

答案 3 :(得分:2)

服务器仍将处理请求。如果您使用的是Visual Studio,则可以附加到IIS工作进程以查看是否是这种情况。调试>附加到流程