GETリクエストで同じパラメータ名に複数の値を渡す正しい方法 質問する

GETリクエストで同じパラメータ名に複数の値を渡す正しい方法 質問する

GET リクエストで同じパラメータ名に複数の値を渡す正しい方法を調べています。

次のような URL を見たことがあります:

http://server/action?id=a&id=b

そして、次のような URL を見たことがあります:

http://server/action?id=a,b

私の理解では、最初の方法が正しいのですが、これに関する参考資料が見つかりません。http 仕様を確認しましたが、URL の「クエリ」部分をどのように構成すべきかについては何も見つかりませんでした。

「どちらでも構いません」という回答は望んでいません。Web サービスを構築している場合、どの方法が標準であるかを知りたいのです。そうすれば、Web サービスを使用するユーザーが、同じ名前に対して複数のパラメーターを渡す方法を知ることができます。

それで、どのオプションが正しいかを確認するために、公式の参照ソースを教えていただけますか?

ベストアンサー1

実際、定義された基準はありません。その情報を裏付けるために、Wikipediaのクエリ文字列章。次のコメントがあります。

明確な標準はありませんが、ほとんどの Web フレームワークでは、1 つのフィールドに複数の値を関連付けることができます。[3][4]

さらに、RFC 3986、セクション3.4 クエリ複数の値を持つパラメータの定義はありません。

ほとんどのアプリケーションは、最初に示したオプションを使用します。http://server/action?id=a&id=bその情報を裏付けるために、これを参照してください。Stackoverflowリンク、 このMSDNリンク複数の値を持つパラメータに対して同じ標準を使用する ASP.NET アプリケーションに関して。

ただし、API を開発している場合は、API の呼び出し側がクエリ文字列を作成するのにそれほど苦労しないため、最も簡単な方法を実行することをお勧めします。

おすすめ記事