Migration HTTPS ; protocole relatif ou non ?

WRInaute passionné
Bonjour,
Google préconise l'utilisation de HTTPS pour nos sites depuis 2014

De plus toutes les ressources externes présentes dans nos pages doivent être aussi sécurisées pour se voir bénéficier du petit cadenas vert à gauche de l'URL dans le navigateur.

L'astuce serait de mettre les liens externes en protocole relatif :
c'est à dire écrire href="//www.lienexterne.com/" au lieu de href="http://www.lienexterne.com/" ou href="https//www.lienexterne.com/"

sachant que le lien se débrouille à trouver le bon protocle selon le site.

Qu'en pensez vous ? Y a t-il des effets de bord ?

Merci d'avance de vos remarques
 
WRInaute accro
+1
C'est les <script src>, <link href>, <img src>, bref les ressources (assets) ... pas les <a href>
 
WRInaute passionné
ok SPOUT

j'ai également lu (tout et son contraire) que si le site ne disposait pas de protocole https, il ne fallait pas utiliser le protocole relatif.
Est ce vrai ?
 
WRInaute passionné
donc c'est faux.

// permet justement d'utiliser https s'il existe et sinon http, c'est le but.
 
WRInaute passionné
je me permets de relancer ma dernière question,

pourquoi ne doit on pas l'utiliser pour des <a href="... ? alors que d'après mes tests cela fonctionne bien
 
WRInaute accro
Parce que comme on t'as dit, c'est FAUX !

Exemple: https://jsfiddle.net/a6yxdh6a/
JSFiddle est en HTTPS, donc le lien (relatif au protocole courant) vers WRI ça donne -https://forum.webrankinfo.com/ (FAUX) et celui vers Google -https://www.google.be/
 
WRInaute passionné
précise ta pensée quand tu dis "c'est faux" : qu'est ce qui est FAUX ?

En effet, tu m'avais dit
"C'est les <script src>, <link href>, <img src>, bref les ressources (assets) ... pas les <a href>"

tu me précisais bien que les <a href> n'était pas concerné par le protocole relatif, et maintenant tu me dis que c'est possible !! ?
 
WRInaute accro
Si l'exemple JSFiddle montrant clairement ce qui est faux n'est pas assez parlant là je /surrender
 
WRInaute passionné
absolument pas, ce n'est pas ma question initiale qui était, peux t-on utiliser le protocole relatif (oui ou non ?) dans une balise lien :

<a href="//www.mondomaine.com">...</a>

dans ta première réponse tu disais que NON et maintenant tu semble dire OUI
 
WRInaute passionné
reponse finale :
oui on peut utiliser le protocole relatif dans une balise lien

mais c'est NUL car aucun intérêt (le cadenas vert ne dépend pas des balises liens)
 
WRInaute passionné
ok forttrafic, mais si l'on met une URL sans protocole, ton cas n° 2 n'a plus lieu d'etre étant donné que le navigateur testera aussi le lien en HTTP donc pas de message d'erreur
 
WRInaute passionné
Non, le // reprend le meme protocole que la page en cours, donc sur un site en https le lien va vers https cest tout, ca teste rien du tout.

Cest au site final de rediriger le trafic https en http dans le .htaccess mais aucun le fait dans ce sens :)
 
WRInaute passionné
ah ok merci

par contre ce comportement n'est vrai que pour les <a href> n'est ce pas ?

pour les ressources ASSET (img, link, etc..) cela fonctionne bien meme si le htaccess n'est pas renseigné ?
 
WRInaute passionné
pour les ressources, c'est pareil, mettre // sur ta page en https va appeler la ressource avec https://

Si la ressource n'existe pas en https alors elle ne sera pas téléchargée, erreur 404.. (je ne suis pas sûr pour le code erreur)

Si par contre le site qui héberge la ressource a une redirection https -> http dans son htaccess là je ne sais pas ce que ça va faire au niveau du cadenas vert de ta page...

Est-ce qu'il y aura une alerte de sécurité ? J'imagine que oui mais je n'ai pas essayé.
 
WRInaute passionné
ce post tourne en rond

ce que tu dis forttrafic est le contraire de spout qui disais "// permet justement d'utiliser https s'il existe et sinon http, c'est le but."
 
WRInaute accro
C'est rick38 qui a dit ça.

Qu'est-ce que tu ne comprends pas dans le mot: relatif ?
Si tu es sur https://example.com, les liens relatifs: // pointent vers https://...
Si tu es sur http://example.com, les liens relatifs: // pointent vers http://...

Donc si tu l'utilises pour les <a href="//..."> vers les sites extérieurs, rien ne t'assures que le site extérieur aura ce protocole relatif actif/configuré, cfr. JSFiddle.
 
WRInaute passionné
c'est donc contraire à ce que tu avais dit au départ, c'est à dire :""// permet justement d'utiliser https s'il existe et sinon http, c'est le but."
 
WRInaute passionné
ah oui c vrai

mais en pratique, mes tests démontrent le contraire :
j'appelle un lien n'existant pas en httpS depuis un site en httpS et au final le lien appelé s'affiche bien sans message d'erreur en http

que faut donc t-il croire ? la théorie ou la pratique ?
 
WRInaute accro
Sur toysrus.fr il y a une redirection de https vers http, donc dans ce cas ça fonctionne.
Par contre là non si tu es sur un site HTTPS: <a href="//forum.webrankinfo.com/">test</a>
 
WRInaute passionné
effectivement (je vais y arriver)

donc en conclusion (merci de valider) : dans le cadre de construire une page full sécurisée (pour avoir le cadenas vert dans google chrome, entre autres) je ne vois aucun intéret à utiliser le protocole relatif pour des ressources externes.
Autant tester ces liens, et mettre le protocole qui nous va bien dès le début.
 
WRInaute accro
saluts92 a dit:
effectivement (je vais y arriver)

donc en conclusion (merci de valider) : dans le cadre de construire une page full sécurisée (pour avoir le cadenas vert dans google chrome, entre autres) je ne vois aucun intéret à utiliser le protocole relatif pour des ressources externes.
Autant tester ces liens, et mettre le protocole qui nous va bien dès le début.
Bonjour,

Etant donné qu'on ne peut pas maîtriser l'évolution des protocoles des sites externes liés, en effet, c'est la conclusion à en tirer.
Merci à tous pour vos éclairages sur le sujet.
 
Discussions similaires
Haut