同一站点的多个选项卡是不是发送多个 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 查询中运行它们?