Just circling back on this and wanted to call out an inaccuracy in my original message:
> the HTTP protocol itself does not support sending a body with the GET method
It is not the HTTP protocol itself that forbids this, but rather a convention that is followed by almost all HTTP servers and clients. So it is technically allowed by HTTP to send a message using GET which includes a "body" (payload following the headers), however many servers will either drop the body silently or return an error of some sort.
-Josh