首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Chrome处理智能url并导致并发请求彼此挂起

Chrome处理智能url并导致并发请求彼此挂起
EN

Stack Overflow用户
提问于 2013-01-02 17:11:27
回答 1查看 528关注 0票数 5

我在Google-Chrome中遇到了一个奇怪的问题,当一个长时间运行的脚本打开一个标签时,另一个标签会处于“挂起”状态,直到第一个标签结束。我已经创建了一个小提琴来重现这个问题,并在这里包含了在Safari上运行的结果。当这个提琴添加?q=a和?q=b时,它就解决了这个问题。然而,当我调用两个不同的智能urls ( http://domain.com/a/v1 http://domain.com/a/v2,甚至http://dev.domain.com/a/v6http://dev.domain.com/b/v8)时,它们也会导致这种“挂起”的行为。

小提琴:

代码语言:javascript
复制
<?php
echo time();
echo '<br>Now:       '. date('h:m:s');

sleep(10);

echo time();
echo '<br>Now:       '. date('h:m:s');

?>

在Google Chrome中使用它打开两个并发选项卡时,输出: 1:

代码语言:javascript
复制
Now: 11:01:12
1357117332
Now: 11:01:22
1357117342

2:

代码语言:javascript
复制
Now: 11:01:22
1357117342
Now: 11:01:32
1357117352

正如您所看到的,虽然我几乎同时启动了这两个程序,但第二个程序等待第一个程序完成后才开始。

在Safari上运行时也是如此: 1:

代码语言:javascript
复制
Now: 10:01:36
1357116336
Now: 10:01:46
1357116346

2:

代码语言:javascript
复制
Now: 10:01:37
1357116337
Now: 10:01:47
1357116347

正如你所注意到的,在Chrome中,第二个脚本只有在第一个脚本完成后才会启动,而在Safari中,它们是协同工作的。是什么导致了这种奇怪的行为?我应该寻找哪些信息来帮助调试原因?

更新:添加?q=a和?q=b可以解决这个问题的答案是正确的。现在我试图弄清楚为什么我会在这个问题中运行,尽管我调用了两个不同的urls。我使用的是智能url,url看起来像domain.com/dir/var1domain.com/dir/var2,甚至dev.domain.com/var6都有同样的效果。是什么导致了这种情况?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-02 17:14:28

这是Chrome的行为。

如果您对完全相同的url执行GET请求-它将一直等到第一个请求结束。只需通过添加一些不同的参数(如?q=a )来更改urls,就可以看到它们将同时执行。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14119367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档