0

私は自分の URL を人間が判読できるようにできるだけ美しくしたいと考えています。スペース文字でも URL で機能することに気付きました。コピー:http://en.wikipedia.org/wiki/Prince of Persiaまたはhttp://en.wikipedia.org/wiki/سنڌي借用者のアドレス バーにコピーすると、機能します。

これらも機能します:

<a href='http://en.wikipedia.org/wiki/Prince of Persia'> Foo </a>
<a href='http://en.wikipedia.org/wiki/سنڌي'> Bar </a>

URL で AZ を超える Unicode 文字を使用することはどの程度安全ですか? 私の URL は、Wikipedia のリンクと同様に、句読点のないシンプルなものです。

それが有効か無効かは私にとって重要ではありません。私はそれが機能することだけを望んでいます!

(実際に+は ' ' の代わりに使用しますが、私の主な関心事は Unicode テキストに関するものです)

上記はすべての一般的なブラウザで問題なく動作しますか?

4

2 に答える 2

0

「 http://en.wikipedia.org/wiki/Prince of Persia」と呼ぶと、ブラウザが舞台裏で魔法をかけてくれます。スペース文字は %20 エスケープ形式に変換され、Web サーバーに送信されます。 http://en.wikipedia.org/wiki/Prince%20of%20Persia

ただし、ウィキペディアはまだ実際のページを返しません。ブラウザは、アンダースコア形式のリダイレクト応答を受け取ります。次に、ブラウザが実際のコンテンツをダウンロードします。表示される URL をサニタイズするウィキペディア サーバー ビジネス ロジック。HTTP/1.0 301 は永久に移動しました場所: http://en.wikipedia.org/wiki/Prince_of_Persia

ブラウザとインターネットの負荷を高めるだけです :-)

どの Unicode 文字でも問題ありません。それらは Web ブラウザに送信される前に %XX エスケープされます。これは、宛先 Web サーバーによって見られる実際の URL 形式です。 http://en.wikipedia.org/wiki/%D8%B3%D9%86%DA%8C%D9%8A

UTF8 Unicodeエスケープを処理する方法を知っているのはWebサーバー次第であり、ほとんどの最新のサーバーは何をすべきかを知っています。スマート ブラウザは、%XX エスケープをアドレス バー フィールドに表示される文字に変換できます。プログラムで http 呼び出しを行う場合、エスケープがどのように機能するかを知る必要があります。

于 2013-03-27T12:41:49.447 に答える
0

これは単なる UI ギミックであるため、完全にブラウザーに依存します。使用される実際の URL はエンコードされたものであり、それをコピーして貼り付けようとすると、クリップボードに URL エンコードの URL があることがわかります。

于 2013-03-27T12:36:11.523 に答える