再会。
首先,对不起我的英语不好=)
所以。我创建了脚本:
<?
sleep(10);
?>
我的 Apache 有 MPM 模块,我显然没有在这个脚本中使用会话,只是……只是睡眠(10)。当我同时在浏览器中打开 2 个选项卡时,第一个选项卡会在 10 秒内加载,第二个选项卡会在 20 秒内加载。
但。当我同时在 2 个不同的浏览器中打开此脚本时,它会在 10 秒后加载每个浏览器。
所以,我开始想,我的问题是“连接:保持活动”。我改变了我的脚本:
<?
header('Connection: close');
phpinfo();
sleep(10);
?>
phpinfo() - 可以肯定的是,标头是在 sleep() 之前发送的。Buuuut ...我遇到了同样的问题。在 Chrome 的第一个选项卡中,我得到带有“连接:关闭”的标题,在第二个选项卡中,当第一个脚本未结束时,我无法获取响应标题。在两种不同的浏览器中- 一切正常。
现在我完全不知道我做错了什么。为什么 Chrome 不能对我的网站进行 2 个并行查询?我应该怎么做才能解决这个问题?
PS我不想为我的所有网站禁用keep-alive。我不介意,它是否会加快 CSS、图像和其他内容的加载速度。甚至其他脚本。但我希望能够在一个浏览器中并行运行一些脚本。PPS 例如:在一个页面上会有很长的 ajax 查询,例如 - 在服务器端处理一些大数据和间隔很小的 ajax 查询 - 以获得执行第一个查询的状态。显然,它们必须是平行的。