名前やアクセント文字を含むものを考えています。
たとえば、次の間に違いがありますか?
<a href="http://example.com/thing?name=forêt">link</a>
そして
<a href="http://example.com/thing?name=for%C3%AAt">link</a>
?
ブラウザはこれらを同じように処理しますか?または、これらのリンクをエンコードする説得力のある理由はありますか?
ブラウザはこれらを同じように処理しますか?
はい、すべての(モダン)ブラウザーはこれらを同じように処理します。 HTMLソースで自分で明示的にエンコードしない場合、すべての(現代の)ブラウザーは暗黙的にURLをURLエンコード(パーセントエンコード)します。
どちらの場合も、ユーザーがリンクをクリックすると、ブラウザーは暗黙的にパーセントエンコードされたURLを要求します。ブラウザのコンテキストメニューから[リンクアドレスのコピー]を選択し、どちらの場合もパーセントエンコードされたURLをコピーします。 JavaScriptを使用して両方のリンクのhref
属性を読み取ると、パーセントエンコードされたURLが返されます。
実際、HTML5ではエンコードされていないUnicode文字が許可されていると思います。
https://stackoverflow.com/a/19542940/369434
潜在的な問題は、単に「古いブラウザ」かもしれません。私は何歳かわかりません。しかし、「古い」ものは心配するには古すぎるかもしれません。 (?)
W3Cは、URLはASCII文字セットを使用してのみインターネット経由で送信できると述べています。これらの文字を何かに変換する必要があります。多くの場合、安全ではない文字はエンコードされた形式に置き換えられます。パーセントでエンコードされた参照は here にあります。
ここに参照があります: http://www.w3.org/Addressing/URL/4_URI_Recommentations.html