2017-01-01 5 views
-2

たとえば、「^」記号(必要に応じてエスケープされた)と「?」記号ではなく「 - 」記号でクエリを分割してURLを解析するようにサーバーを構成したとしたら、と "&"は、混乱したユーザー以外にも何か問題が発生しますか?"?"完全に任意のURLで(予約済み/非エスケープ文字の問題などを無視して)

送信されたブラウザ/ HTTPリクエストは、私の今後の "パワーマイナス"ビジネスに有害な影響を与える方法で別の方法で処理しますか?

+1

お使いのブラウザでは、ブラウザの制限を超えるクエリ文字列を許可することがあります。また、標準を破ったり、サイトを利用しているユーザーが問題を抱えたりする可能性があります(たとえば、サイトにリンクするサードパーティのサイト、おそらくクエリパラメータなど)。 –

+0

ああ、ブラウザの長さは私が考えていない良い点です。しかし、URLがHTTPプロトコルで処理される方法と、クライアントからサーバーへのパスの間に違いがありますか?たとえば、URLが「www.whatever.com/^x=2-y=3」v.s「www.whatever.com/?x=2&y=3」の場合、HTTPはさまざまなことを行いますか?たとえば、「クエリのパラメータが表示されていますが、URLなどと区別して、このリクエストをやや異なる方法で行います」と言うでしょうか? – user7339019

+0

さて、Javaの人として言えば、サーブレットフレームワークはW3C標準に準拠したURLを期待しています。だから、これから出発するとどこでも摩擦が期待できる。 –

答えて

0

?は、URI RFCのセクションで定義されていません。3.4クエリ、私はあなたがそれを変更することはできないと思います。

クエリコンポーネント内部構文は(名前=値の結合のエンコード方法)URI RFCによって定義されていない、セパレータは、他の仕様で定義することができる。 &HTML Specによってapplication/x-www-form-urlencodedコンテンツタイプのセパレータとして定義されます。区切り記号として例えば;をサポートするこの側面を変更することができますが、HTMLフォームによって生成された要求を処理する場合には、いずれも&をサポートします。

関連する問題