webentwicklung-frage-antwort-db.com.de

Browser-Unterstützung für URLs, die mit einem doppelten Schrägstrich beginnen

Ich habe kürzlich ein paar Links gesehen, die ohne Protokoll verwendet wurden. Es schien nicht allzu schwer zu verstehen - ich denke, es ist eine großartige Idee und ziemlich intuitiv.

Für diejenigen unter Ihnen, die dies nicht wissen, verwenden Sie eine URL wie //example.com/script.js zeigt entweder auf http://example.com/script.js oder https://example.com/script.js abhängig davon, ob die URL von einer http oder https URL stammt. Das Einbeziehen von http-Skripten oder Bildern von einer https-Seite kann beispielsweise ein Sicherheitsrisiko darstellen, sodass dies behoben werden kann, ohne dass in Ihrem Code eine Protokollerkennung erforderlich ist.

Meine Frage ist, welche Art von Browser/OS-Unterstützung gibt es dafür? Ist die Verwendung in der Produktion sicher? Es würde die Dinge sicherlich ein bisschen einfacher machen.

Einfaches Beispiel und Test: http://codetester.org/916c6916

EDIT: Nur eine Folge davon, dass ich dies seit ein paar Jahren ohne Probleme für den Ad-Server meines Unternehmens in der Produktion für viele Dinge verwende.

102
dtbarne

Dieses Verhalten war Teil von RFC 1808 (Abschnitt 4), der ungefähr 16 Jahre alt ist, daher sollte (und tut) jeder größere Browser dies unterstützen.

Leider gibt es ein Fehler mit IE7 und -8 , der sie veranlasst, die Ressourcen zweimal herunterzuladen, wenn eine protokollbezogene URL in einem link oder @import - verwendet wird sollte kein großes problem sein, ist aber hässlich und sollte beachtet werden.

84
oezi

Wenn Sie auf einem lokalen Computer entwickeln, besteht die Möglichkeit, dass dies mit src="file://Host.com/filename". Fehlschlägt.

In dieser Situation müssen Sie das Schema explizit angeben: http://Host.com/filename Oder https://Host.com/filename.

2