如何防止Mozilla Firefox使用多个TCP连接



我有一个小型嵌入式网站,用户可以使用摘要式身份验证通过输入表单和ajax请求向我的HTTP服务器发送一些数据。对于HTTP请求,我的HTTP服务器限制为1个TCP连接。如果请求完成,则另一个页面将加载location.replace(newSite)

问题是,在第一个ajax请求之后,Firefox想要创建一个到服务器的新TCP连接,这是不可能的,因此它失败了(我可以在Wireshark中看到(。在Chrome中,一切都很好,因为它使用相同的TCP连接
如果加载站点的TCP连接尚未关闭,则在第一个ajax请求时也会出现此问题

有没有办法通过javascript告诉Firefox,它应该在使用后立即关闭每个连接,或者(更好(对任何正在进行的请求使用相同的TCP连接?

我已经为ajax请求尝试了"Connection":"close",但没有任何变化。此外,我无法操作直接键入地址栏的location.replace请求或URL请求

谢谢你的帮助。

ajax请求:

$.ajax({
url: "/res",
dataType: 'text', 
cache: false,
async: true,
data: form_data,
contentType: false,
processData: false,
timeout: 300,
type: 'post',
headers: { 'Connection':'close' },
username: sUser,
password: sPass,             
})
.done(function(data, textStatus, jqXHR){                   
window.location.replace("/site.html");

})
.fail(function( jqXHR, textStatus, errorThrown ){
alert("fail");              
})

有没有办法通过javascript告诉Firefox,它应该在使用后立即关闭每个连接,或者(更好(对任何正在进行的请求使用相同的TCP连接?

无法从服务器指示客户端不要使用多个并行连接,也无法指示客户端在收到响应后立即关闭连接。

但是可以在响应完成后关闭服务器端的连接,从而迫使客户端为下一个请求打开新的TCP连接。

最新更新