Bezwzględne adresy URL z pominięciem protokołu (schematu) w celu zachowania jednego z bieżącej strony

85

Widziałem //somepage.com/resourceformat adresu URL. Na przykład:

<img src="//remotesite.com/image1.jpg" />

Chodzi o to, że jeśli bieżąca strona (strona definiująca imgtag) używa http, to żądanie do zdalnej witryny jest wysyłane przez http. Jeśli to https - to jest https. Eliminuje to ostrzeżenia przeglądarki o nie w pełni zaszyfrowanych stronach.

Moje pytanie brzmi - czy ten format adresu URL jest bezpieczny w użyciu we wszystkich przeglądarkach. Czy to standard?

Bozho
źródło
4
Powiązane: Czy mogę zmienić wszystkie moje linki http: // na tylko //? odpowiada na pierwszy, a względne adresy URL schematu - na drugie pytanie.
Gumbo
Chociaż nie użyłeś tego terminu w swoim pytaniu, dodałem tag związany z protokołem (więc to pytanie można znaleźć łatwiej).
unor

Odpowiedzi:

61

czy ten format adresu URL jest bezpieczny w użyciu we wszystkich przeglądarkach.

Nie mogę nic powiedzieć na pewno, ale powinieneś móc to przetestować w różnych przeglądarkach.

Czy to standard?

Technicznie nazywa się to „odniesieniem do ścieżki sieciowej” zgodnie z RFC 3986 . Oto schemat:

  relative-ref  = relative-part [ "?" query ] [ "#" fragment ]

  relative-part = "//" authority path-abempty
                / path-absolute
                / path-noscheme
                / path-empty

Istnieje jednak problem, gdy jest używany na <link>lub @import, IE7 i IE8 pobierają plik.

Oto post napisany na ten temat przez Paula Irisha:

Sarfraz
źródło
1
Pamiętaj, że Paul Irish zaktualizował swój post, aby wskazać, że zasoby powinny być teraz zawsze obsługiwane przez https, jeśli jest to wykonalne. Zobacz post pod linkiem @Sarfraz powyżej.
Evan Donovan
1
Google Analytics używa tego fragmentu kodu programu, więc założę się, że to krzyż przeglądarkę natomiast to narzędzie jest używane przez wielu wielu stronach internetowych, to oni tylko dostarczają https wersję inaczej
Lukas Liesis
22

Tak, myślę, że tak. Paul Irish ukuł termin Względny adres URL protokołu .

Chciałbym również zwrócić uwagę, że jest to część projektu HTML5Boilerplate , który ewangelizuje kompatybilność z różnymi przeglądarkami.

Uwaga: w IE6 jest przypadek skrajny z Google Analytics, o którym wspomniano w artykule Paula. Więc to nie jest idealne.

xzyfer
źródło
To już nie jest prawda, zobacz stackoverflow.com/a/37609402/2237601 lub tutaj , teraz używają https://. Zobacz także , dlaczego pominięcie schematu protokołu może nie być dobrym pomysłem.
bg17aw