2010-11-25 5 views
1

私のユーザーの中には、私はFirefoxが、私はすべてのブラウザで発生し、この上で数えることができるブラウザは "http:/"で始まる階層をどのように解釈しますか?

<a href='/some_local_path'>whatever</a> 

としてこれを解釈することに気付きました

<a href='http:/some_local_path'>whatever</a> 

のように見えるのリンクを作成していますか?または自分でhttp:/を削除する必要がありますか?

+0

これは決して起こらないようにしてください。最初のフォームは無効で、誰も期待どおりに動作することを保証することはできません。しかし、もう1つは大丈夫です。 – jwueller

+0

IE8でどちらのフォームも私のために働きません。 –

答えて

4

これは珍しいURLですが、無効ではありません。 URLスペックでは、除外されたコンポーネントは、ベースURLからデフォルトに設定されます。これは、<base>タグで明示的に指定できます。存在しない場合は、ページの現在のURLです。

ブラウザで/some_local_pathが表示されると、スキームとホストがないため、ベースURLから取得します。ユーザーがhttp:/some_local_pathを入力すると、明示的なスキームがありますが、ホストがないため、ホストのデフォルトはベースURLになります。ページがhttp:ページの場合、2つのURLは同じように解釈されます。

これらのURLは、ほとんどの場合、ユーザーが意図したものではないと言いました。エラーを指摘すれば、あなたはそれらを助けるでしょう。

1

ユーザーが入力したデータを検証することは常にベストです。必然的に、予期せぬことが起こります。

関連する問題