web-dev-qa-db-fra.com

URL absolues omettant le protocole (schéma) afin de conserver celui de la page courante

J'ai vu le //somepage.com/resource format url. Par exemple:

<img src="//remotesite.com/image1.jpg" />

Le point de cela est que si la page actuelle (la page définissant la balise img) utilise http, alors la demande au site distant est faite via http. Si c'est https - c'est https. Cela élimine les avertissements du navigateur concernant les pages non entièrement cryptées.

Ma question est - ce format d'URL est-il sûr à utiliser pour tous les navigateurs. Et est-ce une norme?

80
Bozho

est ce format d'URL sûr à utiliser pour tous les navigateurs.

Je ne peux rien dire avec certitude, mais vous devriez pouvoir le tester dans différents navigateurs.

Et est-ce une norme?

Techniquement, il est appelé "référence de chemin de réseau" selon RFC 3986 . Voici le schéma pour cela:

  relative-ref  = relative-part [ "?" query ] [ "#" fragment ]

  relative-part = "//" authority path-abempty
                / path-absolute
                / path-noscheme
                / path-empty

Il y a cependant un problème, lorsqu'il est utilisé sur un <link> ou @import, IE7 et IE8 téléchargent le fichier.

Voici un article écrit par Paul Irish sur le sujet:

57
Sarfraz

Oui je le crois. Paul Irish a inventé le terme RL relative du protocole .

Je voudrais également souligner que cela fait partie du projet HTML5Boilerplate qui évangélise la compatibilité entre les navigateurs.

Remarque: il y a un cas Edge dans IE6 avec google analytics qui est mentionné dans l'article de Paul. Ce n'est donc pas parfait.

21
xzyfer

Devrait être sûr.

Est spécifié comme format à utiliser dans le guide de style HTML/CSS de Google: EDIT: dernière URL: https://google.github.io/styleguide/htmlcssguide.xml#Protocol

2
Peter O'Brien