apache — несколько экземпляров PHP-скрипта не будут загружаться одновременно в одном браузере с одного и того же URL

Я пытаюсь получить два экземпляра сценария php для одновременного запуска. У меня есть скрипт ‘test.php’:

<p><?php echo time(); ?> Sleeping...</p>
<?php sleep(5); ?>
<p><?php echo time(); ?> done</p>

Если я загружаю страницу в две вкладки браузера одновременно, я получаю это:

1446855680 Спальный …

1446855685 сделано

и это:

1446855686 Спящая …

1446855691 сделано

Один экземпляр блокируется, пока другой не загрузится. Это происходит как на Firefox, так и на Chromium.

Если я сделаю второй идентичный скрипт, ‘test2.php’, или перепишу два URL-адреса в один и тот же скрипт и загрузлю две страницы в разные вкладки, я получу следующее:

1446855862 Спящая …

1446855867 сделано

и это:

1446855863 Спящая …

1446855868 сделано

Оба экземпляра загружаются одновременно. Так что идентичные URL блокируются.

Как я могу получить два экземпляра скрипта с одинаковым URL-адресом для загрузки / запуска одновременно?

1

Решение

Как указал VolkerK, ваше тестирование подтвердило, что Firefox / Chrome выполняет запросы на точно такой же URL в последовательности. Однако на практике это не является проблемой, поскольку пользователи обычно не загружают одну и ту же страницу дважды, и для сценария, который обслуживает данные для запросов Ajax, URL-адреса будут отличаться, поскольку добавляются различные параметры.

Если вы хотите обойти этот механизм в целом, вы можете добавить случайный параметр (должен быть разным на разных вкладках браузера) к URL, т.е. url.to/your/script?urlID=4821de7e524cf762deab6ed731343466, Случайный параметр заставляет браузер видеть два разных URL-адреса и, следовательно, выполнять загрузку параллельно.

0

Другие решения

Других решений пока нет …