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

Http 在哪里可以找到所有浏览器的默认超时设置?,http,browser,timeout,request,Http,Browser,Timeout,Request,我正在寻找某种文档,指定每个浏览器(IE6/IE7/FF2/FF3等)在请求放弃和超时之前等待请求的时间 我还没来得及弄到这个 有什么建议吗?首先,我不认为你的问题只有一个解决方案 正如您所知,每个浏览器都有很大的不同 但是让我们看看我们是否能更接近你需要的答案 我想IE可能很容易 检查此链接 对于Firefox,请尝试以下操作: 打开Firefox,在地址栏中键入“about:config”(不带引号)。从那里,向下滚动到Network.http.keep-alive并确保设置为“true”

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

我还没来得及弄到这个


有什么建议吗?

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

正如您所知,每个浏览器都有很大的不同

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

我想IE可能很容易

检查此链接

对于Firefox,请尝试以下操作:

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

我设法找到了更老版本的Mozilla:

这种偏好是其中之一 添加以允许对 HTTP网络代码。过了一会儿 相同代码的一部分被删除 在2001年被大幅改写的 优惠不再有任何影响 (如all.js中所述,早在 2001年9月)

目前,超时已确定 通过系统级连接 建立超时。添加到 配置此值将被考虑 低优先级

似乎
network.http.connect.timeout
已经有一段时间没有做任何事情了

我还看到了对
network.http.request.timeout
的引用,所以我做了一个测试。结果包括许多链接,这些链接指向推荐他人将其包含在
about:config
中的人,这似乎是一种错误的想法,认为它确实起到了作用,因为这篇文章中出现了相同的搜索:

。 以前的版本:HTTP特定网络 超时。默认值为120

包括有关
网络.http.connect.timeout
的附加信息:

。 Previous:确定要运行多长时间 等待响应,直到注册 暂停。默认值为30


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

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

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

  • 打开Firefox,在地址栏中键入“about:config”,然后按Enter键
  • 点击“我会小心的,我保证!”按钮
  • 在搜索框中键入“timeout”,然后将显示
    network.http.response.timeout
    参数
  • 双击
    network.http.response.timeout
    参数,并在框中输入您不希望会话不超时的时间值(以秒为单位)
  • 对于谷歌浏览器(在62版上测试) 我试图保持从google chrome的fetch API到远程express服务器的套接字连接处于活动状态,发现请求头必须与Node.JS的本机
    连接设置相匹配

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

    /* ----- */
    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=>{...});
    
    在express服务器上,我将路由器设置为:

     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分钟,它就非常容易受到攻击


    我不确定一些鲜为人知的浏览器是如何运行的,但我会在回答后附上Microsoft浏览器的详细信息。

    对于Firefox:我尝试过,但我的理解是“保持活动”是HTTP请求返回后TCP连接保持打开的时间,因此,如果您提出另一个请求,它将重用连接并避免握手。。。这真的是请求超时吗?更新:从Firefox版本28中未设置的
    network.http.response.timeout
    到版本29中的默认限制300(5分钟)。我最近在Google Chrome和Firefox中进行了试验,到目前为止,还没有出现任何HTTP超时。我没有同时启动测试,但谷歌浏览器已经愉快地等待了2000多秒,Firefox将在1500秒的时候出现。然后呢?什么是超时?你能给出一个链接吗?这并不能回答问题。