【问题标题】:Maximum time a browser can hold a connection to a server (and vice versa)浏览器可以保持与服务器的连接的最长时间(反之亦然)
【发布时间】:2014-01-30 16:33:29
【问题描述】:

这是一个基本问题:浏览器连接到网络服务器(反之亦然)是否有任何时间限制(超时)?

示例:一些票务服务提供候补名单系统。如果您打开特定的购票网站,您将排在等候名单的最后,直到您前面的访客订购了他们的门票。这时候你会看到一个“等待网站”。但是,如果您在等候名单的前面,服务器必须向您发送“信号”,您现在应该会看到一个可以订购门票的公式。在这种情况下,我的个人经验是,某些浏览器会在几分钟后(10?15?30?)失去与服务器的连接。结果,您将永远看不到订票的网站,您将整天看到“等待网站”。

【问题讨论】:

    标签: web-services web timeout session-timeout


    【解决方案1】:

    在通过公共网络与普通观众打交道时,您不能依赖任何超过零的超时来维持浏览器到服务器的连接。

    你做不到。

    HTTP 1.0 仍在使用中,它要求浏览器向 Web 服务器发送请求。 Web 服务器响应并立即关闭它们的连接。

    越来越受欢迎的 HTTP 1.1 要求浏览器向 Web 服务器发送请求。 Web 服务器然后响应,并指定一个保活时间。然后,浏览器可以重新使用与 Web 服务器的连接来处理后续请求(例如页面上的 png 图像)。但是服务器仍然可以任意断开连接。

    浏览器总是启动与网络服务器的连接。服务器无法启动与浏览器的连接。许多浏览器都在进行网络地址转换的路由器后面。

    在所有标准情况下,浏览器必须启动与服务器的连接。您需要在 Web 应用程序中使用 AJAX 样式的浏览器 javascript 或 http 刷新标记,以让用户的浏览器重试。有关刷新的文章,请参见此处。 http://en.wikipedia.org/wiki/Meta_refresh

    【讨论】:

    • 谢谢!你能更详细地描述一下吗?
    • 我加了一些词。这是一个复杂的情况。
    • 非常感谢您的详细回复。这让我更清楚。有时服务提供商会建议用户在您处于“等待列表”时不要刷新页面。我认为这个建议的唯一原因是减少服务器负载,我是对的吗?从我的角度来看,如果我手动刷新网站或通过刷新标签/AJAX 刷新网站并没有任何区别。
    • 服务商确实在尝试降低服务器负载。
    猜你喜欢
    • 2012-04-09
    • 1970-01-01
    • 1970-01-01
    • 2015-01-02
    • 2012-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-22
    相关资源
    最近更新 更多