[解決済み】GETリクエストで同じパラメータ名で複数の値を渡す場合の正しい方法
質問
GETリクエストで同じパラメータ名で複数の値を渡す正しい方法は何か調べています。
こんなURLを見たことがあります。
http://server/action?id=a&id=b
そして、こんなURLも見かけました。
http://server/action?id=a,b
私の理解では、1が正しいのですが、これについての参考文献が見当たりません。httpの仕様書を見ましたが、URLの「query」部分がどのように構成されるべきかについては何も書かれていませんでした。
ウェブサービスを構築する場合、これらのメソッドのどちらが標準なのかを知りたいのです。そうすれば、私のウェブサービスを使用する人は、同じ名前の複数のパラメータを渡す方法を知ることができます。
そこで、どちらのオプションが正しいか確認するために、どなたか公式の参照ソースを教えていただけませんか?
解決方法は?
確かに、定義された規格はありません。この情報の裏付けとして、wikipediaの クエリ文字列 の章をご覧ください。次のようなコメントがあります。
決定的な標準はありませんが、ほとんどのWebフレームワークでは 1つのフィールドに複数の値を関連付けることができます。 [3] [4]
さらに RFC3986 のセクションにある 3.4 クエリ 複数の値を持つパラメータについての定義はありません。
ほとんどのアプリケーションでは、最初に示したオプションが使用されます。
http://server/action?id=a&id=b
. その情報を裏付けるために、次のように見てみましょう。
スタックオーバーフローのリンク
と、この
MSDNリンク
ASP.NETアプリケーションでは、複数の値を持つパラメータに同じ規格が使用されています。
しかし、APIの呼び出し側はクエリ文字列の作成にそれほど苦労しないので、APIを開発する以上、自分にとって最も簡単な方法をとることをお勧めします。
関連
-
[解決済み] 要求されたURLの長さが、このサーバーの容量制限を超えていませんか?
-
[解決済み] Google ChromeでSPDYを無効にする方法
-
[解決済み] POSTとPUT HTTP REQUESTの違いは何ですか?
-
[解決済み] PUT、DELETE、HEADなどのメソッドは、ほとんどのウェブブラウザで利用可能ですか?
-
[解決済み] プリフライト要求に対する応答がアクセス制御チェックを通過しない
-
[解決済み] URLクエリパラメータを含むHTTP POST -- 良いアイデアかどうか?
-
[解決済み】HTTP 1.0 vs 1.1
-
[解決済み】エンティティボディを持たないHTTP POSTを実行することはバッドプラクティスとみなされますか?
-
[解決済み] HTTP GETリクエストにcontent-typeヘッダーは必要ですか?
-
[解決済み] クロスドメインフォームのPOST送信
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] リバースルーティングとは何ですか?
-
[解決済み] IISファイルのダウンロードがハングアップ/タイムアウトする - sc-win32-status = 64
-
[解決済み] POSTとGETの違いは何ですか?[重複しています]。
-
[解決済み] JavaScriptでURLにパラメータを追加する
-
[解決済み】ファイルから取得した投稿データでcURLにリクエストを送信する。
-
[解決済み】AngularでHTTPリクエストにURL引数(クエリ文字列)を渡すには?
-
[解決済み】GETリクエストで同じパラメータ名で複数の値を渡す場合の正しい方法
-
[解決済み】エンティティボディを持たないHTTP POSTを実行することはバッドプラクティスとみなされますか?
-
[解決済み] HTTPヘッダーの設定
-
[解決済み] HTTP GET クエリの重複キーの権威位置