同一站点的多个选项卡是不是发送多个 ajax 调用?

Posted

技术标签:

【中文标题】同一站点的多个选项卡是不是发送多个 ajax 调用?【英文标题】:Does multiple tabs of same site send multiple ajax calls?同一站点的多个选项卡是否发送多个 ajax 调用? 【发布时间】:2013-03-23 20:01:01 【问题描述】:

假设我们有网站,每秒钟检查一下是否有新消息:

$(function()
    setInterval(function()
        $.ajax(
            url: 'message_check.php',
            success: function(data)
               if(data)$('#someDiv').html('NEW MESSAGE!');              
            
         );
    ,1000);
);

现在有人打开了 3 个标签页,其中包含我网站的不同页面。

我每秒会接到多少个电话,三个还是一个

如果是一个,那么tabs如何

如果是三个,那么我们损失了非常非常多的性能,对吗?

注意到 Firebug 为同一网站的不同页面显示相同的控制台。这意味着 FireFox 在我的情况下(我也希望其他浏览器)了解它的同一个站点,并且可以避免多次调用。

我考虑将结果保存到 cookie 中,并且仅在它不是“新鲜”但不想重新发明***的情况下进行调用。

【问题讨论】:

【参考方案1】:

我认为这取决于您使用的浏览器。一些浏览器只使用 2 个与服务器的并发连接,因此您将从多选项卡浏览器客户端获得多达 2 个并发命中。因此,如果您的 javascript 生成多个请求,它们将由浏览器进行查询和管理。

【讨论】:

因此浏览器不会检查是否已经使用该参数调用。它只会检查是否限制兴奋,对吗? 是的。它会将此类请求排队。 嗯,那么添加cookie检查不是那么有效。谢谢。

以上是关于同一站点的多个选项卡是不是发送多个 ajax 调用?的主要内容,如果未能解决你的问题,请参考以下文章

用户单击即可打开多个指向外部站点的选项卡/窗口

Spring Security - 如何禁用同一浏览器的多个选项卡之间的相同会话共享?

PHP 如何从 AJAX 调用中发布多个数组/json 值并在同一个 SQL 查询中运行它们?

使用 bootstrap 和 django 在同一页面内实现两个或多个选项卡面板

在 socket.io 中管理多个选项卡(但同一用户)

如何操作页面多个窗口?