2010-11-25 2 views
1

Einige meiner Benutzer-Links erstellen, die Wie interpretieren Browser Refref, die mit "http: /" beginnen?

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

ich bemerkt habe, wie

aussehen, dass Firefox dies als

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

Kann ich auf diese zählen in allen Browsern interpretiert auftritt? Oder sollte ich die http:/ s selbst entfernen?

+0

Sie sollten besser sicherstellen, dass dies nie passieren wird. Das erste Formular ist ungültig und niemand kann garantieren, dass es wie erwartet funktioniert. Der zweite ist in Ordnung. – jwueller

+0

Kein Formular funktioniert für mich in IE8. –

Antwort

4

Dies ist eine ungewöhnliche URL, die jedoch nicht ungültig ist. Die URL-Spezifikation besagt, dass ausgelassene Komponenten standardmäßig aus der Basis-URL herauskommen, die explizit in einem <base>-Tag angegeben werden kann, oder die aktuelle URL der Seite nicht enthält.

Wenn ein Browser /some_local_path sieht, fehlt ein Schema und ein Host, also nimmt es sie von der Basis-URL. Wenn Ihre Benutzer http:/some_local_path eingeben, hat sie ein explizites Schema, aber es fehlt ein Host, daher nimmt der Host standardmäßig die Basis-URL an. Wenn Ihre Seite eine http: -Seite ist, werden die beiden URLs identisch interpretiert.

Alles in allem, diese URLs sind fast sicher nicht, was Ihre Benutzer beabsichtigt haben. Sie werden ihnen helfen, wenn Sie auf ihren Fehler hinweisen.

1

Es ist immer am besten, die von Benutzern eingegebenen Daten zu validieren. Sie werden zwangsläufig etwas Unerwartetes bekommen.

Verwandte Themen