Browsers do limit the number of concurrent connections to a web server, simply queueing them up ready to be requested once a "slot" becomes free. The actual number of concurrent connections varies from browser to browser and even version to version, and can sometimes be changed by the browser's user.
Web servers may also limit the number of concurrent connections.
If each queued request takes a long time to run, then you could run into difficulties with this, making the whole thing seem very slow.
If you're using sessions in your PHP script, then it can be even slower, because only one instance of a script can acces sthe session file at a time... and if it doesn't release it's lock until it's finished running, then effectively your connection limit is being restricted to 1 at a time. One potential solution to this is not to use session_start() unless you need to; another is to release the session lock as soon as you've finished accessing the session file using session_write_close()