浏览器是否具有内置超时功能,如果有,它们是什么?
我有一个页面对最多需要 5 分钟运行的进程执行 AJAX 调用。有人说浏览器在 2 分钟后超时,但不知道这是否属实。
浏览器是否具有内置超时功能,如果有,它们是什么?
我有一个页面对最多需要 5 分钟运行的进程执行 AJAX 调用。有人说浏览器在 2 分钟后超时,但不知道这是否属实。
它依赖于浏览器。“默认情况下,Internet Explorer 的 KeepAliveTimeout 值为一分钟,附加限制因素 (ServerInfoTimeout) 为两分钟。任一设置都可能导致 Internet Explorer 重置套接字。” - 来自 IE 支持http://support.microsoft.com/kb/813827
Firefox 的value也与我想的差不多。
通常虽然服务器超时设置低于浏览器超时,但至少你可以控制它并将其设置得更高。
不过,您宁愿处理超时,这样您就可以对此类事件采取行动。请参阅此线程:如何检测浏览器中 AJAX (XmlHttpRequest) 调用的超时?
您可以在此链接中查看 Chrome 中的默认值
int64_t g_used_idle_socket_timeout_s = 300 // 5 minutes
在 Chrome 中,据我所知,没有一种简单的方法(如 Firefox 那样)来更改超时值。