1. Resumo
Resposta para 2019: você ainda pode usar URLs relativos ao protocolo, mas essa técnica é um antipadrão .
Além disso:
- Você pode ter problemas no desenvolvimento.
- Algumas ferramentas de terceiros podem não suportá-las.
Migrar de URLs relativos ao protocolo para https://
ele seria bom.
2. Relevância
Esta resposta é relevante para janeiro de 2019. No futuro, os dados desta resposta podem estar obsoletos.
3. Anti-padrão
3.1 Argumentação
Paul Irish - engenheiro front-end e defensor do desenvolvedor do Google Chrome - escreveu em 2014, dezembro :
Agora que o SSL é incentivado para todos e não tem problemas de desempenho , essa técnica agora é um antipadrão . Se o ativo necessário estiver disponível em SSL, use sempre ohttps://
.
Permitir que o snippet solicite por HTTP abre a porta para ataques como o recente ataque do lado do GitHub . É sempre seguro solicitar recursos HTTPS, mesmo que seu site esteja em HTTP; no entanto, o contrário não é verdadeiro .
3.2 Outros links
3.3 Exemplos
4. Processo de desenvolvimento
Por exemplo, tento usar o console limpo .
- Arquivo de exemplo
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
Ligação //cdn.jsdelivr.net/npm/jquery@3.3.1/dist/jquery.min.js
é válido, mas estou recebendo um erro.
Preste atenção file://cdn.jsdelivr.net/npm/jquery@3.3.1/dist/jquery.min.js
e leia as respostas Thilo e bg17aw sobrefile://
.
Eu não sabia sobre esse comportamento e não conseguia entender por que tenho problemas como esse para pageres .
5. Ferramentas de terceiros
Eu uso o pacote de texto sublime de URLs clicáveis . Use-o, eu posso simplesmente abrir links do meu editor de texto no navegador.
Os dois links no exemplo são válidos. Mas o primeiro link que posso abrir com sucesso no navegador usa URLs clicáveis, segundo link - não. Isso pode não ser muito conveniente.
6. Conclusão
Sim:
- Se você tiver problemas como no
Developing process
item, poderá definir seu fluxo de trabalho de desenvolvimento.
- Caso contrário, você tem problemas, como no
Third-party tools
item, você pode contribuir com ferramentas.
Mas você não precisa desses problemas adicionais. Leia as informações por links no Anti-pattern
item: URLs relativas ao protocolo estão obsoletas.