I don’t think that’s possible in HTTP - it’s intentionally a stateless protocol, and doesn’t have persistent connection-sessions.
The first request will populate whatever caches can be persisted (eg. DNS), and some state will be preserved that way which will be useful for the further requests. But that’s from the OS - from your side, sending individual POST requests seems fine to me.
This really depends on the server you’re hitting. There is a Transfer-Encoding: chunked, which relies on sending “chunks” of data over an open connection. For HTTP.jl, if you pass your vector of json strings as the request body, it will automatically do this transfer encoding. But the server you’re making the request to has to be set up to support/handle that.
Alternatively, the websockets protocol is often used for things like this, since you establish a connection and then have bidirectional send/receive for the life of the connection. HTTP.jl provides the WebSockets module with that functionality. But again, you need a server on the other end who is ready to make/accept websocket connections of this type.