For years, developers have faced the same dilemma when implementing complex search APIs:

GET is the correct semantic choice for read-only operations, but query parameters can become extremely long and difficult to manage.

POST allows sending a request body, but it's intended for operations that may change server state, making it a poor semantic fit for searches.

To bridge this gap, the IETF has introduced a new HTTP method: QUERY (RFC 10008).

Why was QUERY introduced?