Good question.
With a layer 7 HTTP(S) load balancer, you get often a "reverse proxy" style load balancer. In that case you get (at least) two independent connections; the TCP connection with the client gets terminated on the reverse proxy and the reverse proxy established and maintains its own connection (pools) to the back-end servers.
The client exchanges HTTP(S) protocol messages with the reverse proxy and reverse proxy subsequently exchanges it's own HTTP(S) protocol messages with the back-end servers.
In such a setup there is a priori no reason why subsequent HTTP(S) requests from the same client over the same TCP connection can't be load-balanced over multiple back-ends.
Be warned that special considerations may apply when you have to deal with one of the many other protocols that get encapsulated in HTTP(S). And regardless, often the preferred configuration is some form of session persistence/stickiness ensuring that subsequent requests from the same client do go the same back-end server.
Everything depends of course on how you configure and tune your loadbalancer ...
https://docs.haproxy.org/2.7/configuration.html#4
In layer 7 mode, HAProxy analyzes the
protocol, and can interact with it by allowing, blocking, switching, adding,
modifying, or removing arbitrary contents in requests or responses, based on
arbitrary criteria.
In HTTP mode, the processing applied to requests and responses flowing over
a connection depends in the combination of the frontend's HTTP options and
the backend's. HAProxy supports 3 connection modes :
- KAL : keep alive ("option http-keep-alive") which is the default mode : all
requests and responses are processed, and connections remain open but idle
between responses and new requests.
- SCL: server close ("option http-server-close") : the server-facing
connection is closed after the end of the response is received, but the
client-facing connection remains open.
- CLO: close ("option httpclose"): the connection is closed after the end of
the response and "Connection: close" appended in both directions.
The effective mode that will be applied to a connection passing through a
frontend and a backend can be determined by both proxy modes according to the
following matrix,
...
etc. etc.
...
and many more complicated options.