1. Zusammenfassung
Antwort für 2019: Sie können weiterhin protokollbezogene URLs verwenden, diese Technik ist jedoch ein Anti-Pattern .
Ebenfalls:
- Möglicherweise haben Sie Probleme bei der Entwicklung.
- Einige Tools von Drittanbietern unterstützen sie möglicherweise nicht.
Eine Migration von protokollbezogenen URLs zu https://
diesen wäre schön.
2. Relevanz
Diese Antwort ist für Januar 2019 relevant. In Zukunft sind die Daten dieser Antwort möglicherweise veraltet.
3. Anti-Muster
3.1. Argumentation
Paul Irish - Front-End-Ingenieur und Entwickleranwalt für Google Chrome - schreibt im Dezember 2014 :
Jetzt, da SSL für alle empfohlen wird und keine Leistungsbedenken hat , ist diese Technik jetzt ein Anti-Pattern . Wenn das benötigte Asset über SSL verfügbar ist, verwenden Sie das https://
Asset immer.
Das Zulassen, dass das Snippet über HTTP angefordert wird, öffnet die Tür für Angriffe wie den jüngsten GitHub Man-on-the-Side-Angriff . Es ist immer sicher, HTTPS-Assets anzufordern, auch wenn sich Ihre Site unter HTTP befindet. Das Gegenteil ist jedoch nicht der Fall .
3.2. Ein weiterer Link
3.3. Beispiele
4. Entwicklungsprozess
Zum Beispiel versuche ich, Clean-Console zu verwenden .
- Beispieldatei
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
Verknüpfung //cdn.jsdelivr.net/npm/jquery@3.3.1/dist/jquery.min.js
ist gültig, aber ich erhalte eine Fehlermeldung.
Achten Sie auf file://cdn.jsdelivr.net/npm/jquery@3.3.1/dist/jquery.min.js
und lesen Thilo und bg17aw Antworten zufile://
.
Ich wusste nichts über dieses Verhalten und konnte nicht verstehen, warum ich solche Probleme für Pager habe .
5. Tools von Drittanbietern
Ich verwende Clickable URLs Sublime Text-Paket. Verwenden Sie es, ich kann einfach Links aus meinem Texteditor im Browser öffnen.
Beide Links im Beispiel sind gültig. Aber der erste Link, den ich erfolgreich im Browser öffnen kann, verwendet klickbare URLs, der zweite Link - nein. Dies ist möglicherweise nicht sehr praktisch.
6. Fazit
Ja:
- Wenn Sie Probleme wie im
Developing process
Artikel haben, können Sie Ihren Entwicklungsworkflow festlegen.
- Andernfalls haben Sie Probleme wie im
Third-party tools
Artikel, können Sie Werkzeuge beitragen.
Diese zusätzlichen Probleme benötigen Sie jedoch nicht. Lesen Sie Informationen über Links im Anti-pattern
Element: Protokollbezogene URLs sind veraltet.