我有一个Web应用程序,在向服务器发出HTTP请求之后,客户端退出(或网络连接中断),然后客户端完全收到响应。
在这种情况下,应用程序的服务器端需要进行一些清理工作。是否有一种内置于HTTP协议中的方法来检测这种情况。服务器如何知道客户端是否仍在等待响应或已退出?
由于 Vijay Kumar
答案 0 :(得分:1)
不,协议中没有内置任何内容(毕竟,您无法判断客户端本身是否已收到响应,或只是下游代理)。
让您的客户再次发出请求,确认已收到并存储了原始回复。如果您没有及时收到确认,请运行清理。
但是,请确保您了解Two Generals' Problem的含义。
答案 1 :(得分:0)
您可能遇到网络问题...通常,当您向服务器发送HTTP请求时,首先发送标头,然后发送POST内容(如果是post方法)。同样,服务器使用标头和文档正文进行响应。标题中的第一行是状态。通常,状态200是成功状态,如果你得到了,那么获取文档的其余部分应该没有问题。有关HTTP响应状态标题http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html
的详细信息,请查看此信息LE: 对不起,想念你的问题。基本上,当用户断开连接时,您没有触发器。如果你使用OOP,你可以使用类的析构函数来清理你需要清理的东西。