Search code examples
httpasynchronousnetwork-programminghttpsxmlhttprequest

Why are only six HTTPS requests allowed to be sent simultaneously?


One of my front-end developer co-workers asked for my help because of the browser not sending HTTPS requests asynchronously. At least that is what he thought at first. By opening up the Firefox networking tab, I realized that the requests get sent asynchronously, but for some reason, only six HTTPS requests are allowed to be sent parallel.

I assume this is a technical limit of the HTTPS protocol, though I do not know the cause. I searched for the cause on the web, but I have not been able to find it so far.

In the following picture, the red parts of the lines mark the duration spent being blocked by another request:

enter image description here


Solution

  • My understanding is that this is a courtesy to the server you're connecting to. You wouldn't want to overload a server and prevent others from simultaneously connecting to it.

    Depending on the browser, the limit changes as well.

    See also: Max parallel http connections in a browser?