在哪里可以找到所有浏览器的默认超时设置?

时间:2009-08-27 16:45:48

标签: http browser timeout request

我正在寻找某种文档来指定每个浏览器(IE6 / IE7 / FF2 / FF3等)在请求放弃和超时之前等待多长时间。

我没有运气试图得到这个。

任何指针?

4 个答案:

答案 0 :(得分:20)

我设法为更早版本的Mozilla找到了network.http.connect.timeout

  

这种偏好是其中之一   添加允许低级调整   HTTP网络代码。之后   相同代码的一部分是   在2001年大幅改写了   偏好不再有任何影响   (早在all.js中就已提到过   2001年9月)。

     

目前,确定超时   通过系统级连接   建立超时。添加方法   配置此值是考虑的   低优先级。

似乎network.http.connect.timeout在一段时间内没有做任何事情。

我也看到了network.http.request.timeout的引用,所以我做了Google search。结果包含许多人建议其他人将其包含在about:config中的链接,这似乎是错误地认为它实际上有所作为,因为相同的搜索出现了这篇about:config entries文章:

  

Pref removed (unused)。   以前:特定于HTTP的网络   超时。默认值为 120

same page包含有关network.http.connect.timeout的其他信息:

  

Pref removed (unused)。   以前:确定要多长时间   在注册之前等待回应   超时默认值为 30

免责声明:MozillaZine知识库中的信息可能不正确,不完整或已过时。

答案 1 :(得分:5)

首先,我认为你的问题只有一个解决方案......

如您所知,每个浏览器都非常不同。

但是,让我们看看我们是否能够更接近你需要的答案....

我认为IE可能很容易......

检查此链接 http://support.microsoft.com/kb/181050

对于Firefox试试这个:

打开Firefox,在地址栏中输入“about:config”(不带引号)。从那里,向下滚动到Network.http.keep-alive并确保将其设置为“true”。如果不是,请双击它,它将从false变为true。现在,在network.http.keep-alive.timeout下面输入一个 - 并通过双击更改该数字。如果你在那里投入500,你应该是好的。让我们知道这是否有帮助

答案 2 :(得分:4)

在上次Firefox更新后,我们遇到了相同的会话超时问题,以下设置有助于解决此问题。

我们可以使用network.http.response.timeout参数控制它。

  1. 打开Firefox并在地址栏中输入“about:config”,然后按Enter键。
  2. 点击“我会小心,我保证!”按钮。
  3. 在搜索框中输入“超时”,将显示network.http.response.timeout参数。
  4. 双击network.http.response.timeout参数,然后在框中输入您不希望会话超时的时间值(以秒为单位)。

答案 3 :(得分:2)

适用于谷歌浏览器(经测试版本62)

我试图将套接字连接从google chrome的fetch API保持活动状态到远程快速服务器,并发现请求标头必须与Node.JS的本机<net.socket>连接设置相匹配

我使用以下选项在客户端脚本上设置头对象:

/* ----- */
head = new headers();
head.append("Connnection", "keep-alive")
head.append("Keep-Alive", `timeout=${1*60*5}`) //in seconds, not milliseconds
/* apply more definitions to the header */
fetch(url, {
    method: 'OPTIONS',
    credentials: "include",
    body: JSON.stringify(data),
    cors: 'cors',
    headers: head, //could be object literal too
    cache: 'default'
 })
 .then(response=>{
    ....
  }).catch(err=>{...});

在我的快速服务器上,我按如下方式设置了路由器:

 router.head('absolute or regex', (request, response, next)=>{
  req.setTimeout(1000*60*5, ()=>{
     console.info("socket timed out");
   });
  console.info("Proceeding down the middleware chain link...\n\n");
  next();
 });

 /*Keep the socket alive by enabling it on the server, with an optional 
  delay on the last packet sent 
 */
server.on('connection', (socket)=>socket.setKeepAlive(true, 10))

警告

请使用常识并确保您保持套接字连接打开的用户已经过验证和序列化。它也适用于Firefox,但如果你保持TCP连接打开的时间超过5分钟,它就会非常容易受到攻击。

我不确定一些鲜为人知的浏览器是如何运作的,但我也会在微软浏览器的详细信息中附上这个答案。