Firefox3.6.6を使用しています。
index.php
次のコードで呼び出されたPHPスクリプトがあります。
<?php
sleep(20); die(time());
?>
2つのブラウザタブを開き、それぞれにURLをコピーしてから、各タブでEnterキーをすばやく押します。最初のタブは20秒強で完了します。2番目のタブは40秒強で完了します。
私はIEで同じ実験を行い、両方のスクリプトが互いに1秒以内、約20秒で完了します。
これは予想される動作ですか?これをテストする原因となった実際のスクリプトは、同期手順です。2回実行しようとすると、ブラウザをそこに置いて2回実行できるようになるまで待つのではなく、プロセスがすでに進行中であるというエラーを受け取るようにします。
これがFirefoxの動作方法である場合、ページが重複していること、およびリクエストを同時に実行するのではなくキューに入れる必要があることをどのように判断しますか?
ジャンクGET文字列を最後に置くことで、それをだますことができます。たとえばindex.php
、index.php?JUNK=1
両方とも約20秒で完了します。