Un inconvénient se présente si vos URL sont consultées en dehors du contexte d'une page web. Par exemple, un message électronique se trouvant dans un client de messagerie (disons Outlook) n'a effectivement pas d'URL, et lorsque vous visualisez un message contenant une URL relative au protocole, il n'y a aucun contexte de protocole évident (le message lui-même est indépendant du protocole utilisé pour le récupérer, qu'il s'agisse de POP3, IMAP, Exchange, uucp ou autre), de sorte que l'URL n'a pas de protocole auquel être relative. Je n'ai pas étudié la compatibilité avec les clients de messagerie pour voir ce qu'ils font lorsqu'ils sont confrontés à un gestionnaire de protocole manquant - je suppose que la plupart d'entre eux se contenteront de http. Apple Mail refuse de vous laisser entrer une URL sans protocole. C'est analogue à la manière dont les URL relatives ne fonctionnent pas dans le courrier électronique en raison de l'absence d'un contexte similaire.
Des problèmes similaires pourraient se produire dans d'autres contextes non HTTP, comme dans les tweets, les messages SMS, les documents Word, etc.
L'explication plus générale est que les URL de protocole anonymes ne peuvent pas fonctionner de manière isolée ; il y a doit être un contexte pertinent. Dans une page web typique, il est donc possible de faire entrer une bibliothèque script de cette façon, mais tout lien externe doit toujours spécifier un protocole. J'ai fait un test simple : //stackoverflow.com
mapas a file:///stackoverflow.com
dans tous les navigateurs dans lesquels je l'ai essayé, donc ils realmente ne fonctionnent pas toutes seules.
1 votes
Est-ce que cela ralentit le site ???
2 votes
Il n'y a aucune raison que cela ait un impact sur les performances, sauf dans les cas que Meder a énumérés ci-dessous dans sa réponse.
0 votes
On dirait que j'étais sur quelque chose. Il y a quelques mois, Google Developers a commencé à utiliser cette convention sur la page de ses bibliothèques Javascript hébergées. developers.google.com/speed/libraries/devguide
10 votes
Que se passe-t-il si un tel fichier HTML est chargé localement (ouvert directement avec le navigateur) ? Il semble que Firefox (28 dans ce cas) ne charge pas la ressource distante. C'est logique, car HTTP n'est alors pas le protocole parent. Mais ce serait un inconvénient, à mon avis.