Uno svantaggio si verifica se i tuoi URL sono visualizzati al di fuori del contesto di una pagina web. Ad esempio, un messaggio di posta elettronica che si trova in un client di posta elettronica (ad esempio Outlook) non ha effettivamente alcun URL e quando si visualizza un messaggio contenente un URL relativo al protocollo, non esiste affatto un contesto di protocollo ovvio (il messaggio stesso è indipendente del protocollo utilizzato per recuperarlo, sia che si tratti di POP3, IMAP, Exchange, uucp o qualsiasi altra cosa), quindi l'URL non ha alcun protocollo a cui fare riferimento. Non ho esaminato la compatibilità con i client di posta elettronica per vedere cosa fanno quando vengono presentati con un gestore di protocolli mancante. Suppongo che la maggior parte delle persone farà una supposizione su http. Apple Mail si rifiuta di farti inserire un URL senza un protocollo. È analogo al modo in cui gli URL relativi non funzionano nell'e-mail a causa di un contesto simile mancante.
problemi simili possono verificarsi in altri contesti non HTTP come nel tweet, messaggi SMS, documenti Word ecc
La spiegazione più generale è che gli URL di protocollo anonimi non possono lavorare in modo isolato; ci deve essere essere un contesto pertinente. In una tipica pagina web è quindi bene inserire in questo modo una libreria di script, ma ogni link esterno dovrebbe sempre specificare un protocollo. Ho provato un semplice test: //stackoverflow.com
mappe a file:///stackoverflow.com
in tutti i browser in cui l'ho provato, quindi loro in realtà non funzionano da soli.
questo rallenta il sito ??? – TheBlackBenzKid
non c'è motivo per cui questo dovrebbe avere alcun impatto sulle prestazioni, tranne nei casi in cui Meder è elencato di seguito nella sua risposta. –
Sembra che io stavo partecipando a qualcosa. Alcuni mesi fa, Google Developers ha iniziato a utilizzare questa convenzione nella sua pagina delle librerie Javascript ospitate https://developers.google.com/speed/libraries/devguide –