𝗥𝗙𝗖 𝟭𝟬𝟬𝟬𝟴: 𝗧𝗵𝗲 𝗡𝗲𝘄 𝗛𝗧𝗧𝗣 𝗤𝘂𝗲𝗿𝘆 𝗠𝗲𝘁𝗵𝗼𝗱
開発者は、複雑なデータを取得する際に問題に直面します。GETを使いたいものの、それには制限があります。POSTを使いたいものの、それはこの用途には適していません。RFC 10008は、新しい解決策として「QUERY」メソッドを提案しています。
GETにおける現在の課題:
- URLの制限:ブラウザやサーバーにはURLの長さに制限があります。フィルターが大きすぎると、リクエストが失敗してしまいます。
- 構造の煩雑さ:GETは単純なキーと値のペアを使用します。ネストされたJSONオブジェクトを送信するのは困難です。
- プライバシーのリスク:クエリパラメータはサーバーのログやブラウザの履歴に残ります。
POSTにおける現在の課題:
- セマンティクスの誤り:POSTは、データを生成または変更したいことをサーバーに伝えます。
- キャッシュの問題:ほとんどのシステムはPOSTリクエストをキャッシュしません。これにより、アプリケーションの速度が低下します。
QUERYメソッドはこれを変えます。データ取得のためにリクエストボディを送信できるようになります。これにより、APIをクリーンに保ち、適切なルールに従うことができます。
QUERYメソッドのメリット:
- 複雑なボディの使用:検索フィルターとして完全なJSONオブジェクトを送信できます。
- 安全性の確保:サーバーの状態を変更しません。
- 速度の向上:GETメソッドと同様に、効率的なキャッシュが可能です。
POSTにGETの役割を無理にさせるのはやめましょう。QUERYメソッドは、HTTP標準を壊すことなく、豊富なデータを取得する方法を提供します。
出典: https://dev.to/kelvin_kariuki_20f4bec616/developer-take-on-rfc-10008-the-new-http-query-method-25fo