So I know that HTTP is basically just a text protocol over TCP, and that TCP is state / connection based. That means that the browser has to connect over TCP to a server before doing an HTTP request. Question then: do browsers typically create a new TCP connection for each HTTP request?
Browsers could just open a TCP request and keep it alive as long as the user is still browsing on that server, but then servers would have to use a big amount of maximum connections to handle that. But then again, if the browsers create a connection for each request, and the user browses a lot on the same server, that would seem like a waste. How does it usually work? Maybe through use of a timer?