Dave Ward dit,
Ce n'est pas exactement une lecture légère, mais section 4.2 du RFC 3986 permet de créer des URL entièrement qualifiées sans protocole (HTTP ou HTTPS). Lorsque le protocole d'une URL est omis, le navigateur utilise le protocole du document sous-jacent à la place.
En bref, ces URL "sans protocole" permettent à une référence comme celle-ci de fonctionner dans tous les navigateurs que vous utiliserez :
//ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js
Cela peut paraître étrange au premier abord, mais cette URL "sans protocole" est le meilleur moyen de référencer le contenu d'un tiers qui est disponible à la fois via HTTP et HTTPS.
Cela résoudrait certainement un grand nombre d'erreurs de contenu mixte que nous voyons sur les pages HTTP - en supposant que nos ressources soient disponibles à la fois via HTTP et HTTPS.
Est-ce que c'est complètement compatible avec les différents navigateurs ? Y a-t-il d'autres inconvénients ?
0 votes
J'ai lu cette technique sur le blog de l'IE il y a quelque temps. Mais quand j'ai essayé, ça n'a pas bien fonctionné. Si mon site était servi avec HTTPS, le navigateur (Chrome) utilisait toujours HTTP pour les URL sans protocole.
11 votes
AVERTISSEMENT : n'oubliez pas de ne JAMAIS utiliser les URI sans schéma dans les redirections HTTP 3xx ! Les en-têtes HTTP ne sont pas compatibles avec ce format d'URL. Si vous avez besoin de rediriger en fonction du schéma, utilisez mod_rewrite ou similaire.
1 votes
@user2596282 L'expérimentation dans les versions modernes de Chrome et de Firefox ne vous donne pas raison, tout comme la révision (toujours en projet) de la spécification HTTP 1.1. définie par le groupe de travail HTTPbis (cf. svn.tools.ietf.org/svn/wg/httpbis/draft-ietf-httpbis/latest/ ). Ce que vous dites est peut-être vrai pour certains navigateurs ; en connaissez-vous un en particulier qui échoue avec les URL relatives au protocole dans les en-têtes de localisation ?
0 votes
Même question avec de bonnes réponses : URLs absolues omettant le protocole (schéma) afin de préserver celui de la page actuelle
0 votes
Ne les utilisez pas, ils sont laids et redondants.
0 votes
Duplicata possible de Est-il valable de remplacer http:// par // dans un <script src="http://..."> ?