J'ai récemment vu quelques liens utilisés sans protocole. Cela n'a pas semblé trop difficile à comprendre - je pense que c'est une excellente idée et assez intuitive.
Pour ceux d'entre vous qui ne le savent pas, l'utilisation d'une URL comme //example.com/script.js
pointera vers l'un http://example.com/script.js
ou l' autre ou https://example.com/script.js
selon que l'URL provient ou non d'une URL http ou https . L'inclusion de scripts http ou d'images à partir d'une page https peut être un problème de sécurité, par exemple, cela résout cela sans avoir besoin de détection de protocole dans votre code.
Ma question est la suivante: quel type de support de navigateur / système d'exploitation existe-t-il? Est-il sûr à utiliser en production? Cela rendrait certainement les choses un peu plus faciles.
Exemple simple et test: http://codetester.org/916c6916
EDIT: Juste un suivi que j'utilise cela pour le serveur publicitaire de mon entreprise en production pour beaucoup de choses sans problème depuis quelques années maintenant.
la source
Réponses:
Ce comportement faisait partie de la RFC 1808 (section 4) qui a environ 16 ans, donc tous les principaux navigateurs devraient (et le font) prendre en charge cela.
Malheureusement, il y a un bogue avec IE7 et -8 qui les obligera à télécharger les ressources deux fois si une URL relative au protocole est utilisée sur un
link
ou@import
- ce qui ne devrait pas être un gros problème, mais est moche et doit être gardé à l'esprit.la source
//code.jquery.com/jquery-2.1.3.min.js
n'a pas été trouvée et la bibliothèque n'a pas été chargée. J'essaye ensuite de chargerhttp://code.jquery.com/jquery-2.1.3.min.js
et de voir une page d'erreur. Je soupçonne une configuration de sécurité proxy ou VPN ou pare-feu qu'ils ont définie en interne. Après avoir mis à jour l'URL pour utiliser lehttps
protocole, tout fonctionne correctement.Si vous développez sur une machine locale, il est possible que cela échoue avec
src="file://host.com/filename".
Dans cette situation, vous devez spécifier explicitement le schéma:
http://host.com/filename
ouhttps://host.com/filename
.la source