Good day.
For first, sorry for my bad English =)
So. I created script:
<?
sleep(10);
?>
My Apache has MPM module, I obviously didn't use sessions in this script, just.. just sleep(10).
When I open 2 tabs in my browser simultaneously, first tab loads in 10 seconds, second tab - 20 seconds.
But. When I open this script in 2 different browsers at the same time, it loads in each one after 10 seconds.
So, I started thinking, that my problem is "Connection: Keep-Alive". I changed my script:
<?
header('Connection: close');
phpinfo();
sleep(10);
?>
phpinfo() - to be sure, that headers were sent before sleep(). Buuuut... I meet the same problem. In first tab of Chrome I get headers with "Connection: close", in second tab I can't get response headers while first script is not ended. In two different browsers - everything is normal.
And now I have absolutely no ideas what I'm doing wrong. Why Chrome can't make 2 parallel queries to my site? What I should do to solve this problem?
P.S. I don't want to disable keep-alive for all my site. I don't mind, if it will speed up loading of css, images and other stuff. Even other scripts. But I want to have ability to run some scripts parallel in one browser.
P.P.S. For example: at the one page will be very long ajax query, for example - processing some big data at server-side and ajax queries with some little interval - to get status of executing first query. Obviously, that they must be parallel.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…