1. Riepilogo
Risposta per il 2019: è ancora possibile utilizzare URL relativi al protocollo, ma questa tecnica è un anti-pattern .
Anche:
- Potresti avere problemi nello sviluppo.
- Alcuni strumenti di terze parti potrebbero non supportarli.
https://
Sarebbe bello eseguire la migrazione da URL relativi al protocollo .
2. Rilevanza
Questa risposta è pertinente per gennaio 2019. In futuro, i dati di questa risposta potrebbero essere obsoleti.
3. Anti-pattern
3.1. Argomentazione
Paul Irish - ingegnere front-end e fautore dello sviluppatore per Google Chrome - scrive nel 2014, a dicembre :
Ora che SSL è incoraggiato per tutti e non ha problemi di prestazioni , questa tecnica è ora un anti-modello . Se la risorsa di cui hai bisogno è disponibile su SSL, usa sempre la https://
risorsa.
Consentire allo snippet di richiedere su HTTP apre la porta ad attacchi come il recente attacco Man-on-the-side di GitHub . È sempre sicuro richiedere risorse HTTPS anche se il tuo sito è su HTTP, tuttavia non è vero il contrario .
3.2. Un altro link
3.3. Esempi
4. Processo di sviluppo
Ad esempio, provo a utilizzare clean-console .
- File di esempio
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
Il link //cdn.jsdelivr.net/npm/jquery@3.3.1/dist/jquery.min.js
è valido, ma viene visualizzato un errore.
Presta attenzione file://cdn.jsdelivr.net/npm/jquery@3.3.1/dist/jquery.min.js
e leggi le risposte a Thilo e bg17awfile://
.
Non sapevo di questo comportamento e non riuscivo a capire perché ho problemi come questo per i pager .
5. Strumenti di terze parti
Uso il pacchetto Sublime Text degli URL cliccabili . Usalo, posso semplicemente aprire i collegamenti dal mio editor di testo nel browser.
Entrambi i collegamenti nell'esempio sono validi. Ma il primo link che posso aprire con successo nel browser usa URL cliccabili, secondo link - no. Questo potrebbe non essere molto conveniente.
6. Conclusione
Sì:
- In caso di problemi come
Developing process
nell'articolo, è possibile impostare il flusso di lavoro di sviluppo.
- Altrimenti hai problemi come
Third-party tools
nell'articolo, puoi contribuire con strumenti.
Ma non hai bisogno di questi problemi aggiuntivi. Leggi le informazioni tramite link Anti-pattern
nell'elemento: gli URL relativi al protocollo sono obsoleti.