1

http_build_query()phpのurl-encodesbackslash-charactersをクエリ文字列で知っています。また、円記号は予約文字であり、これがその関数にとって望ましい動作になることも知っています。プログラマーがクエリ文字列にエンコードされていないバックスラッシュを使用しているので、私が尊敬している人々を見てきました。また、URLを少し見栄えよくするために同じことをしたいと思っていました。バックスラッシュのURLエンコードを控える場合、どのような悪いことが予想されますか?

私がurlエンコードの規則を破ることについて考え始めた理由は、グーグルがクエリ文字列にプラス記号を使用しているという事実です。誰かがそれをすることで彼らにどんな悪いことが起こるか知っていますか?

私が最終的に解決しようとしている問題は、?q=MVC複数のクエリ変数を設定することなく、人間が判読できるURLセーフな文字で呼び出しを区切ることです。

4

1 に答える 1

1

RFCはこれについてかなり明確です:

query = *(pchar / "/" / "?")

文字のスラッシュ( "/")と疑問符( "?")は、クエリコンポーネント内のデータを表す場合があります。いくつかの古い、誤った実装はそのようなデータを正しく処理しないかもしれないことに注意してください...

したがって、クエリ部分でスラッシュを使用することは問題ありません(2005年に「古い」実装を処理する必要がある場合を除く)。

于 2013-03-25T23:38:18.087 に答える