[解決済み] url クエリパラメータに値がない場合、有効ですか?
質問
のようなurlは
http://example.com/foo?bar
は有効ですか?
どちらか一方を示す公式なものへのリンクが欲しいのです。 単純なイエス/ノー回答や逸話的な証拠では意味がありません。
どのように解決するのですか?
- URI RFCに対して有効
- サーバーサイドのフレームワークやコードに受け入れられそうなもの
は URI RFC は、クエリ文字列の形式を義務付けていません。 クエリー文字列がしばしば名前-値ペアを運ぶことは認識されていますが、それは必須ではありません(例えば、しばしば別のURIを含むでしょう)。
<ブロッククオート3.4. クエリ
<ブロッククオートクエリコンポーネントには、非階層的なデータが含まれ、そのデータとともに パスコンポーネント (セクション 3.3) のデータによって URIのスキームと命名権の範囲内にあるリソースが含まれます。 (もしあれば) ...
... しかし、クエリコンポーネント の形で識別情報を伝えるために使われることが多い。 キー=値" のペアで、よく使われる値の1つが 別のURI、 ...
HTML は、HTTP GETで送信されるフォームが、フォームの値を "?key1=value1&key2=value2..."(適切にエンコードされた)形式の名前-値ペアでエンコードすべきことを確立します。 クエリー文字列の解析は、サーバーサイドのコード(Javaサーブレットエンジンなど)に任されています。
サーバーサイドフレームワークを使用しているかどうかが不明ですが、サーバーサイドフレームワークは、クエリー文字列が常に名前と値のペアであると想定している可能性があり、その形式でないクエリー文字列 (例.
?bar
). もし独自のコードでクエリ文字列を解析しているのであれば、そのクエリ文字列のフォーマットを確実に処理する必要があります。 フレームワークの場合は、ドキュメントを参照するか、それがどのように処理されるかをテストする必要があります。
関連
-
[解決済み] ブラウザによって異なるURLの最大長とは?
-
[解決済み] リモート Git リポジトリの URI (URL) を変更するには?
-
[解決済み] URI、URL、URNの違いは何ですか?
-
[解決済み] JavaScriptで現在のURLを取得する?
-
[解決済み] ページを再読み込みせずにURLを変更するにはどうすればよいですか?
-
[解決済み] JavaScriptでクエリ文字列の値を取得するにはどうすればよいですか?
-
[解決済み] JavaScriptでURLをエンコードする?
-
[解決済み] jQueryで現在のURLを取得する?
-
[解決済み] アプリケーションからAndroidのWebブラウザでURLを開くにはどうすればよいですか?
-
[解決済み] React-routerのURLを更新したり、手動で書き込んだりするとうまくいかない
最新
-
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 実装 サイバーパンク風ボタン