QUERY
最近(2021/11/19)提案されている段階
HTTPにQUERYというメソッド(RFC 10008)が増えているよという話。
・長年、複雑な検索リクエストにはGETではなくPOSTが代用されてきた
・GETはURLにパラメータを積むため、長すぎるとシステムに拒否されることがある
・また、ブラウザの履歴やログに検索条件が残るセキュリティ上の懸念もある
・そのため、検索条件をボディに含められるPOSTが好まれてきた
・ただ、POSTは仕様上安全でも冪等でもない
・状態を変更するかもしれないため、プロキシやCDNはキャッシュや自動リトライができない
・通信が失敗した場合、アプリやユーザーが手動でリクエストをやり直す必要がある
・そこで新しく登場したのがQUERYメソッド
・POSTのようにリクエストボディで複雑な検索データを送信できる
・同時に、GETのように安全かつ冪等であると仕様上明示できる
・これにより、検索結果のキャッシュや通信失敗時の自動リトライが可能に
・仕様はCloudflareやAkamaiのエンジニアらが策定した
・Node.jsやGo、Laravelなど一部の環境ではすでに対応が進んでいる
・ただ、ブラウザや各種プロキシなどエコシステム全体の対応にはまだ時間がかかりそう