web-dev-qa-db-fra.com

Prise en charge du navigateur pour les URL commençant par une double barre oblique

J'ai récemment vu quelques liens utilisés sans protocole. Cela ne semblait pas 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, utilisez une URL comme //example.com/script.js pointera sur http://example.com/script.js ou https://example.com/script.js selon que l'URL provient ou non d'un http ou https URL. L'inclusion de scripts http ou d'images d'une page https peut être un problème de sécurité, par exemple, donc cela résout cela sans avoir besoin de détection de protocole dans votre code.

Ma question est la suivante: quel type de navigateur/système d'exploitation existe-t-il? Est-il sûr d'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 ceci pour le serveur publicitaire de mon entreprise en production pour beaucoup de choses sans problème depuis quelques années maintenant.

102
dtbarne

Ce comportement faisait partie de RFC 1808 (Section 4) qui a environ 16 ans, donc tous les navigateurs principaux devraient (et le font) le prendre en charge.

Malheureusement, il y a n bogue avec IE7 et -8 qui leur fera 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.

84
oezi

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 ou https://Host.com/filename.

2
Matas Vaitkevicius