Combining several HTTP requests in a single HTTP request to support batch processing is not an uncommon technique. Here is a commonly used implementation of this technique:
The client serializes each HTTP request (including the URI,
HTTP method name and HTTP headers) into a JSON object or an XML
document or even a single part in a
The client creates an envelope format to combine each of those requests into a single message.
The client submits that message to the server using
POST to a resource that is often termed a
batch end point.
The server, on receiving this message, opens the envelope, reconstructs HTTP requests, and then dispatches them to the respective URIs on the server. Alternatively, the server may bypass HTTP and dispatch these requests directly to the code that can process those requests.
The server collects the response for each request and then serializes them into a single message and returns to the client.
The client opens the envelope and processes each response message.
Here is an example: