CoffeeCat's IT Blog

同一个页面打开两次无法同时处理的解决方法

    今天遇到一个问题,我有一个页面叫test.php,这个页面需要执行5秒。我用Firefox以很快的速度先后打开了2个test.php,第1个页面执行了5秒返回了,第2个页面是在第1个页面返回后执行了5秒返回,所以总的时间是10秒。这就奇怪了,为什么第2个页面会等第1个页面执行完了才执行呢?莫非两个页面有资源竞争?后来经过了测试,总算发现了问题的所在,这个问题不是PHP或者Apache造成的,而是Firefox浏览器造成的。原因应该是Firefox的缓存机制,当访问完全一样的URL时,后面的URL访问会被挂起,以便可以从本地直接访问第1个URL下载过来的资源,加快访问速度。

    为了证实这个问题是由firefox造成的,我进行了2种测试:
    1:我用IE浏览器同时打开2个test.php,这2个页面几乎同时返回,没有等待。
    2:我给页面加上URL参数,构造两个访问同一页面但不相同的URL,如test.php?t=1和test.php?t=2,然后几乎同时访问该页面,2个页面几乎同时返回,也没有等待。

    所以这个问题和PHP无关,是浏览器的行为造成的,我测试了一下,Google Chrome也是这样,可能Safari也是这样的。因此用其他编程语言的朋友应该也会遇到类似的问题。最好的解决方法就是加上一个无意义的参数,构造两个不一样的URL来访问,参考测试2。

Ferris Xu
2010-08-06
   

posted on 2010-08-06 09:57 CoffeeCat 阅读(999) 评论(2)  编辑 收藏 引用

评论

# re: 同一个页面打开两次无法同时处理的解决方法 2011-02-17 15:37 tbw淘宝网

本人测试了下Safari的,同样如此。  回复  更多评论   

# re: 同一个页面打开两次无法同时处理的解决方法[未登录] 2011-02-18 08:58 CoffeeCat

@tbw淘宝网
感谢您的反馈  回复  更多评论   

只有注册用户登录后才能发表评论。
<2010年8月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
2930311234

导航

统计

公告

常用链接

留言簿(203)

随笔档案

收藏夹

搜索

最新评论

阅读排行榜

评论排行榜