Rubyのurl_encodeを使ってみました(ドキュメントはこちら)。
としてエンコードhttp://www.google.com
しhttp%3A%2F%2Fwww.google.com
ます。しかし、ブラウザで後者を開くことはできません。もしそうなら、この関数の使用は何ですか?それがエンコードするURLを開くことさえできないとき、それは何のために役に立ちますか?
典型的な用途は、クエリ文字列が必要なHTTP GETメソッドです。
クエリ文字列 1:
valudA=john&valueB=john2
サーバーが取得する実際の値:
valueA : 「ジョン」
値 B : "john2"
url_encodeは、キーと値のペアが、スペースや特殊文字などの非 ASCII エンコード文字を含む文字列を格納できるようにするために使用されます。
valueB に私の名前コード 4 j が格納されるとします。スペースがいくつかあるため、エンコードする必要があります。
url_encode("code 4 j")
code%204%20j
クエリ文字列 2:
valueA=ジョン&valueB=コード%204%20j
サーバーが取得する実際の値:
url_encode
たとえば、GET 要求のキー/値をエンコードするために使用できます。
エンコード後の SO 検索クエリ URL の例を次に示します。
https://stackoverflow.com/questions/tagged/c%23+or+.net+or+asp.net
ご覧のとおり、URL エンコーディングは、最後のスラッシュの後の URL の最後の部分にのみ適用されているようです。
一般に、URL 全体で url_encode を使用することはできません。または、例の :// のような通常の URL で特殊文字もエンコードします。
ここでどのように機能するかを説明するチュートリアルを確認できます: http://www.permadi.com/tutorial/urlEncoding/