Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ajax应用程序中Internet Explorer 11中的保持活动状态问题_Ajax_Ssl_Internet Explorer 11_Keep Alive - Fatal编程技术网

ajax应用程序中Internet Explorer 11中的保持活动状态问题

ajax应用程序中Internet Explorer 11中的保持活动状态问题,ajax,ssl,internet-explorer-11,keep-alive,Ajax,Ssl,Internet Explorer 11,Keep Alive,我有一个使用AJAX与服务器通信的web应用程序。我正在使用https和SSL,并将保持活动设置为10秒 有时,用户正是在保持活动时间到期时向服务器发送请求的。发生这种情况时,将创建一个新的SSL会话。这一切都很好。 发生这种情况后,浏览器(InternetExplorer11)将重新发送AJAX请求 但现在奇怪的事情发生了。浏览器仅发送请求的标题。没有尸体。服务器首先等待一个永远不会到达的主体。最后,服务器正在中止请求,客户端收到http状态为0的异常,消息为:Network error 有人

我有一个使用AJAX与服务器通信的web应用程序。我正在使用https和SSL,并将保持活动设置为10秒

有时,用户正是在保持活动时间到期时向服务器发送请求的。发生这种情况时,将创建一个新的SSL会话。这一切都很好。 发生这种情况后,浏览器(InternetExplorer11)将重新发送AJAX请求

但现在奇怪的事情发生了。浏览器仅发送请求的标题。没有尸体。服务器首先等待一个永远不会到达的主体。最后,服务器正在中止请求,客户端收到http状态为0的异常,消息为:Network error

有人说这是使用SSL和keep alive时的正常行为,必须在webb应用程序中处理。其他人说这在InternetExplorer11中是不正确的行为

我所能看到的是,服务器无法重用在以前的SSL会话中发送的请求体。浏览器需要重新发送整个请求,但这不会发生

如果我捕捉到应用程序中的异常并将请求重新发送到服务器,那么一切都会恢复正常。但是在中捕获所有http=0并重新发送它们感觉非常奇怪。从应用程序的角度来看,也可能是危险的

该应用程序只在IE中工作,所以我无法与Chrome和FF相比


我的问题是:这是正常的行为还是我在浏览器或Web服务器上可能有一些不正确的配置

当服务器在保持活动连接上的新请求发送的同时关闭连接时,则不清楚服务器是否收到该请求并对其采取了行动。因此,客户端只应自动重试被认为是幂等的请求(即不更改服务器上的任何内容)。GET和HEAD被认为是幂等的,而POST不是


因此,如果客户端自动重试GET或HEAD,这将是正确的行为。重试一个帖子是不好的。重新提交一个没有正文的请求(如你所说,但没有证明)将是一个错误。

你得到的标题是否与你期望的完全相同(例如,正确的内容长度)?是的,从应用程序的角度(我工作的地方)来看,我只看到http=0和一个例外。网络ppl已经查看了我的详细信息,并告诉我这是完全相同的请求,没有正文。谢谢回复。现在,每个请求都是一个帖子,但我想我需要改变这一点。然后我考虑重新发送GET请求。我理解重新发送POST请求可能会很危险。我不明白的是,在新的SSL会话之后重新发送请求是IE11在没有我控制的情况下所做的事情。因此,我必须接受这样一个事实:当这种情况发生时,我正在发送一个更新POST请求,我必须中止并在浏览器中显示错误消息。