Recentemente, vi alguns links usados sem um protocolo. Não parecia muito difícil de entender - acho que é uma ótima ideia e bastante intuitiva.
Para quem não sabe, usar uma URL como //example.com/script.js
irá apontar para http://example.com/script.js
ou https://example.com/script.js
dependendo se a URL se origina ou não de uma URL http ou https . Incluir scripts http ou imagens de uma página https pode ser uma preocupação de segurança, por exemplo, então isso resolve isso sem a necessidade de detecção de protocolo em seu código.
Minha pergunta é: que tipo de suporte a navegador / sistema operacional existe para isso? É seguro usar na produção? Certamente tornaria as coisas um pouco mais fáceis.
Exemplo e teste simples: http://codetester.org/916c6916
EDIT: Apenas um acompanhamento de que eu tenho usado isso para o servidor de anúncios da minha empresa em produção para muitas coisas sem problemas há alguns anos.
fonte
Respostas:
Esse comportamento fazia parte da RFC 1808 (Seção 4), que tem cerca de 16 anos, portanto, todos os principais navegadores devem (e oferecem) suporte para isso.
Infelizmente, há um bug com o IE7 e -8 que os fará baixar os recursos duas vezes se uma URL relativa ao protocolo for usada em um
link
ou@import
- o que não deve ser um grande problema, mas é feio e deve ser mantido em mente.fonte
//code.jquery.com/jquery-2.1.3.min.js
não foi encontrado e a biblioteca não foi carregada. Em seguida, tento carregarhttp://code.jquery.com/jquery-2.1.3.min.js
e vejo uma página de erro. Eu suspeito de uma configuração de segurança de proxy ou VPN ou firewall que eles definem internamente. Depois de atualizar a URL para usar ohttps
protocolo, tudo funciona bem.Se você estiver desenvolvendo em uma máquina local, existe a possibilidade de ele falhar com
src="file://host.com/filename".
Nesta situação, você precisa especificar o esquema explicitamente:
http://host.com/filename
ouhttps://host.com/filename
.fonte