Using Curl for example, I can \"post\" data in a GET request. Is this a valid thing to do? With that I mean:
There is a "good reason" use case out there.
elasticsearch uses entity-body data in GET requests to try to use the GET verb as a read while also allowing a more complicated specification than url alone allows (easily).