1

私たちは次のようなURLを持つことを計画しています

http://www.nowhere.nu/path/file;key:value,key2:value2.html

このドキュメントでは、特殊文字をエスケープする必要があると述べています。これは、「適切な」URLを持つ目的を無効にします。

http://www.blooberry.com/indexdot/html/topics/urlencoding.htm

ただし、主要なブラウザをテストすると、この位置で;:および、をurlencodeする必要はないようです。

それが機能しない人気のあるブラウザ、またはそのようなスキームに反対する議論を提供できますか?

&(無効ですが機能します)と&の同様の質問 (有効)。

4

1 に答える 1

3

コメントで述べたように、参照されている情報は古くなっています。疑わしい文字は安全のためにエスケープする必要があります。

URLを使用すると、人間と機械の2つのターゲットオーディエンスがあります。ほとんどの人間は、英数字、.s、および/s以外のものを含むURLパスを効率的に処理できません。また、ホスト名を通過するほど効率が低下します。したがって、基本的に、エンコードする必要のある文字に到達すると、人間に優しいことをすでに失っています(そして、多くの人は、ロケーションバーがどこにあるのかさえ知らず、それに注意を払っていません)。

一方、マシンはエスケープ文字に問題はありません。認識できないエスケープされていない文字に問題がある可能性があります。HTTPは非常にシンプルなので、マッシュアップなどを実行するための小さなカスタムクライアントを含め、多数のクライアントを利用できます。したがって、エスケープされていない文字を処理できる主要なブラウザをカバーしている場合でも、予期しないクライアントを壊す可能性があります。全体として、実際的なメリットはありませんが、リスクは高くなります。

于 2012-10-26T12:47:22.357 に答える