Si deux clients appellent le serveur en même temps, le serveur est très probablement capable de répondre aux deux clients presque simultanément. Les clients sont définis ici au niveau du navigateur.
Cela signifie que sur la même machine, si vous utilisez deux navigateurs pour charger le même site/la même page en même temps, les deux devraient être chargés en même temps.
Cependant, puisque nous parlons de PHP, vous devez prendre des notes spéciales sur les sessions. Si vos pages utilisent des sessions, le serveur ne servira qu'une seule page à la fois. C'est parce que le fichier de session sera verrouillé, jusqu'à ce qu'un script sorte.
Regardez cet exemple. Les 2 fichiers sont chargés depuis la même session, c'est-à-dire le même navigateur et le même utilisateur.
scripta.php requested scripta.php served
------+---+---------------------------------+------------------------>
scripta.php started
scriptb.php requested scriptb.php started
---------------+-------------------------------+-----------------+--->
scriptb.php served.
Remarquez que scriptb.php n'est lancé qu'après que scripta.php ait été servi. Ceci est dû au fait que lorsque scripta.php est lancé, le fichier de session est verrouillé aux autres scripts afin que scripta.php puisse écrire dans le fichier de session. Lorsque scripta.php se termine, le fichier de session est déverrouillé et donc les autres scripts peuvent l'utiliser. Ainsi scriptb.php attendra que le fichier de session soit libéré puis il verrouillera le fichier de session et l'utilisera.
Ce processus se répétera pour éviter que plusieurs scripts n'écrivent dans le même fichier de session, ce qui entraînerait des retards. Il est donc recommandé d'appeler session_write_close
() lorsque vous n'utilisez plus la session, notamment sur un site web utilisant de nombreuses iframes ou AJAX.
1 votes
Vérifiez également cette réponse : konrness.com/php5/how-to-prevent-blocking-php-requests (en anglais)