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.
![Beispiele für CSS-Links](https://i.imgur.com/nheLLEc.png)
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.