Ich habe kürzlich einige 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 es nicht wissen, zeigt die Verwendung einer URL wie //example.com/script.js
entweder http://example.com/script.js
oder https://example.com/script.js
abhängig davon, ob die URL von einer http- oder einer https- URL stammt oder nicht . Das Einfügen von http-Skripten oder Bildern von einer https-Seite kann beispielsweise ein Sicherheitsrisiko darstellen, sodass dies behoben wird, ohne dass in Ihrem Code eine Protokollerkennung erforderlich ist.
Meine Frage ist, welche Art von Browser- / Betriebssystemunterstützung gibt es dafür? Ist es sicher in der Produktion zu verwenden? Es würde die Dinge sicherlich ein bisschen einfacher machen.
Einfaches Beispiel und Test: http://codetester.org/916c6916
BEARBEITEN: Nur eine Folge davon, dass ich dies für den Ad-Server meines Unternehmens in der Produktion seit vielen Jahren für viele Dinge ohne Probleme verwende.
quelle
Antworten:
Dieses Verhalten war Teil von RFC 1808 (Abschnitt 4), der ungefähr 16 Jahre alt ist, daher sollte (und tut) jeder große Browser dies unterstützen.
Leider gibt es einen Fehler in IE7 und -8 , der dazu führt, dass sie die Ressourcen zweimal herunterladen, wenn eine protokollbezogene URL für ein
link
oder verwendet wird@import
- was kein großes Problem sein sollte, aber hässlich ist und im Auge behalten werden sollte.quelle
//code.jquery.com/jquery-2.1.3.min.js
wurde nicht gefunden und die Bibliothek nicht geladen. Ich versuche dann zu ladenhttp://code.jquery.com/jquery-2.1.3.min.js
und sehe eine Fehlerseite. Ich vermute eine Proxy- oder VPN- oder Firewall-Sicherheitskonfiguration, die sie intern festgelegt haben. Nach dem Aktualisieren der URL zur Verwendung deshttps
Protokolls funktioniert alles einwandfrei.Wenn Sie auf einem lokalen Computer entwickeln, besteht die Möglichkeit, dass dies fehlschlägt
src="file://host.com/filename".
In dieser Situation müssen Sie das Schema explizit angeben:
http://host.com/filename
oderhttps://host.com/filename
.quelle