1. Podsumowanie
Odpowiedź na rok 2019: nadal możesz używać adresów URL zależnych od protokołu, ale ta technika jest anty-wzorcem .
Również:
- Możesz mieć problemy z rozwojem.
- Niektóre narzędzia innych firm mogą ich nie obsługiwać.
Migracja z adresów URL zależnych od protokołu https://
byłaby miła.
2. Trafność
Ta odpowiedź dotyczy stycznia 2019 r. W przyszłości dane tej odpowiedzi mogą być nieaktualne.
3. Anty-wzór
3.1 Argumentacja
Paul Irish - inżynier i rzecznik programistów Google Chrome - napisz w 2014 r., Grudzień :
Teraz, gdy protokół SSL jest wspierany przez wszystkich i nie ma problemów z wydajnością , ta technika jest teraz anty-wzorcem . Jeśli potrzebny zasób jest dostępny w protokole SSL, zawsze używaj go https://
.
Zezwolenie fragmentowi na żądanie przez HTTP otwiera drzwi do ataków, takich jak niedawny atak GitHub Man-on-the-side . Żądanie zasobów HTTPS jest zawsze bezpieczne, nawet jeśli witryna korzysta z HTTP, jednak odwrotna sytuacja nie jest prawdą .
3.2 Kolejne linki
3.3 Przykłady
4. Proces opracowywania
Na przykład próbuję użyć czystej konsoli .
- Przykładowy plik
KiraCleanConsole__cdn_links_demo.html
:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>clean-console without protocol demonstration</title>
<!-- Really dead link -->
<script src="https://unpkg.com/bowser@latest/bowser.min.js"></script>
<!-- Package exists; link without “https:” -->
<script src="//cdn.jsdelivr.net/npm/jquery@3.3.1/dist/jquery.min.js"></script>
<!-- Package exists: link with “https:” -->
<script src="https://cdn.jsdelivr.net/npm/gemini-scrollbar/index.js"></script>
</head>
<body>
Kira Goddess!
</body>
</html>
D:\SashaDebugging>clean-console -i KiraCleanConsole__cdn_links_demo.html
checking KiraCleanConsole__cdn_links_demo.html
phantomjs: opening page KiraCleanConsole__cdn_links_demo.html
phantomjs: Unable to load resource (#3URL:file://cdn.jsdelivr.net/npm/jquery@3.3.1/dist/jquery.min.js)
phantomjs: phantomjs://code/runner.js:30 in onResourceError
Error code: 203. Description: Error opening //cdn.jsdelivr.net/npm/jquery@3.3.1/dist/jquery.min.js: The network path was not found.
phantomjs://code/runner.js:31 in onResourceError
phantomjs: Unable to load resource (#5URL:https://unpkg.com/bowser@2.1.0/bowser.min.js)
phantomjs: phantomjs://code/runner.js:30 in onResourceError
Error code: 203. Description: Error downloading https://unpkg.com/bowser@2.1.0/bowser.min.js - server replied: Not Found
phantomjs://code/runner.js:31 in onResourceError
phantomjs: Checking errors after sleeping for 1000ms
2 error(s) on KiraCleanConsole__cdn_links_demo.html
phantomjs process exited with code 2
Link //cdn.jsdelivr.net/npm/jquery@3.3.1/dist/jquery.min.js
jest prawidłowy, ale pojawia się błąd.
Zwróć uwagę file://cdn.jsdelivr.net/npm/jquery@3.3.1/dist/jquery.min.js
i przeczytaj Thilo i bg17aw odpowiedzi na tematfile://
.
Nie wiedziałem o tym zachowaniu i nie mogłem zrozumieć, dlaczego mam takie problemy z pageres .
5. Narzędzia innych firm
Używam klikalnego pakietu URL Sublime Text. Użyj go, mogę po prostu otworzyć linki z mojego edytora tekstu w przeglądarce.
Oba linki w przykładzie są prawidłowe. Ale pierwszy link, który mogę z powodzeniem otworzyć w przeglądarce, wykorzystuje klikalne adresy URL, drugi link - nie. To może nie być zbyt wygodne.
6. Wniosek
Tak:
- Jeśli masz problemy jak w
Developing process
pozycji, możesz ustawić przepływ pracy programistycznej.
- W przeciwnym razie masz problemy, ponieważ w
Third-party tools
elemencie możesz wnieść narzędzia.
Ale nie potrzebujesz tych dodatkowych problemów. Przeczytaj informacje według linków w Anti-pattern
elemencie: Adresy URL zależne od protokołu są nieaktualne.