| ▲ | tosti 4 hours ago |
| > using HTTP GET with a request body is a bad idea, as for example users behind a corporate firewall or a different browser may be unable to use your website. So is using QUERY requests for quite some time from now. |
|
| ▲ | jy14898 3 hours ago | parent | next [-] |
| 405 Method Not Allowed is trivial to fall back to POST. How do you know the GET request behaved incorrectly? |
| |
| ▲ | tosti 3 hours ago | parent [-] | | That's assuming the corporate proxy is well-behaved. | | |
| ▲ | jagged-chisel 2 hours ago | parent [-] | | Then all bets are off, and I guess we just can’t HTTP ever again because a proxy can misbehave. One should adhere to Best Practices since one cannot control every device between the app and the user. Best Practice says “GET has no body. QUERY can have a body. If QUERY fails (405), use POST with the body.” And eventually, enough proxies will behave well enough that at least the HTTP bit of the app has a chance of working. |
|
|
|
| ▲ | jbverschoor 3 hours ago | parent | prev [-] |
| Yeah, query seems just GET with a body. No difference in protocol nor behavior |
| |
| ▲ | gl-prod 2 hours ago | parent | next [-] | | The difference is the method. Query you're saying I can use body. GET you should never use body. | | |
| ▲ | locknitpicker 11 minutes ago | parent [-] | | > The difference is the method. Query you're saying I can use body. GET you should never use body. The biggest win is how intermediary boxes now have concrete guidance that a specific HTTP request is both safe, idempotent, and carries a request body. Up until now none of this existed, and at best developers could use unsafe methods to carry request bodies (see GraphQL and how it uses POST for queries) |
| |
| ▲ | _flux 2 hours ago | parent | prev | next [-] | | There is the Accept-Query header https://www.rfc-editor.org/info/rfc10008/#appendix-A.3 that tells you can use QUERY. That's a bit different. | |
| ▲ | ComodoHacker 3 hours ago | parent | prev [-] | | Except compatibility. If you're using classic GET and it's enough for you, you aren't affected. | | |
|