HTTP has a new method: QUERY. Tl;dr: GET with a body.

https://www.ietf.org/archive/id/draft-ietf-httpbis-safe-method-w-body-14.html

(Doesn’t have an RFC number yet but has been approved, will get one in a few weeks.)

#ietf

The HTTP QUERY Method

This specification defines the QUERY method for HTTP. A QUERY requests that the request target process the enclosed content in a safe and idempotent manner and then respond with the result of that processing. This is similar to POST requests but can be automatically repeated or restarted without concern for partial state changes.

@timbray I'm torn. I'm a huge fan of the URL as a transparent representation of state (for bookmarking, sharing, and even just reading/editing in the location bar).

Sure, for big queries, the alternatives are POST (bad UI), POST-and-redirect (not bookmarkable/sharable unless you're careful), or AJAX (both). So QUERY is potentially a UX improvement. It also may be ripe for overuse, a degradation of what could've been GET pages.

But yeah, SDOs should be descriptive, not prescriptive.

@twifkak @timbray the RFC does address that using Location and Content-Location headers. Basically allowing a server to save the query and/or the result at a GET-able URI and provide it to the client. Similar to POST-and-redirect but with better-defined semantics.