Niedawno widziałem kilka linków używanych bez protokołu. Nie wydawało się to trudne do zrozumienia - myślę, że to świetny pomysł i całkiem intuicyjny.
Dla tych z Was zdaje sobie sprawy, jak przy użyciu adresu URL //example.com/script.js
punkt będzie albo http://example.com/script.js
czy https://example.com/script.js
w zależności od tego, czy pochodzi URL-a z http lub https URL. Dołączanie skryptów http lub obrazów ze strony https może na przykład stanowić zagrożenie dla bezpieczeństwa, więc rozwiązuje to problem bez konieczności wykrywania protokołu w kodzie.
Moje pytanie brzmi: jaki rodzaj obsługi przeglądarki / systemu operacyjnego jest dla niego dostępny? Czy użycie w produkcji jest bezpieczne? To z pewnością ułatwiłoby sprawę.
Prosty przykład i test: http://codetester.org/916c6916
EDYCJA: Po prostu kontynuacja, że używam tego serwera reklam mojej firmy w środowisku produkcyjnym do wielu rzeczy bez problemu od kilku lat.
źródło
Odpowiedzi:
To zachowanie było częścią RFC 1808 (sekcja 4), która ma około 16 lat, więc każda większa przeglądarka powinna (i obsługuje) to.
Niestety, w IE7 i -8 jest błąd, który powoduje, że pobierają zasoby dwukrotnie, jeśli adres URL zależny od protokołu jest używany w
link
lub@import
- co nie powinno stanowić dużego problemu, ale jest brzydkie i należy o tym pamiętać.źródło
//code.jquery.com/jquery-2.1.3.min.js
Nie znaleziono adresu URL, a biblioteka nie została załadowana. Następnie próbuję załadowaćhttp://code.jquery.com/jquery-2.1.3.min.js
i wyświetlić stronę błędu. Podejrzewam, że konfiguracja zabezpieczeń proxy, VPN lub zapory sieciowej została ustawiona wewnętrznie. Po zaktualizowaniu adresu URL w celu korzystania zhttps
protokołu wszystko działa dobrze.Jeśli programujesz na komputerze lokalnym, istnieje możliwość, że to się nie powiedzie
src="file://host.com/filename".
W tej sytuacji musisz wyraźnie określić schemat:
http://host.com/filename
lubhttps://host.com/filename
.źródło