URL assoluti che omettono il protocollo (schema) per preservare quello della pagina corrente


85

Ho visto il //somepage.com/resourceformato dell'URL. Per esempio:

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

Il punto è che se la pagina corrente (la pagina che definisce il imgtag) sta utilizzando http, la richiesta al sito remoto viene effettuata tramite http. Se è https, è https. Ciò elimina gli avvisi del browser di pagine non completamente crittografate.

La mia domanda è: questo formato URL è sicuro da usare per tutti i browser. Ed è uno standard?





Anche se non hai usato il termine nella tua domanda, ho aggiunto il tag relativo al protocollo (quindi questa domanda può essere trovata più facile).
fino al

Risposte:


61

questo formato URL è sicuro da usare per tutti i browser.

Non posso dire nulla di sicuro, ma dovresti essere in grado di testarlo in diversi browser.

Ed è uno standard?

Tecnicamente, si chiama "riferimento al percorso di rete" secondo RFC 3986 . Ecco lo schema per questo:

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

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

C'è un problema però, se utilizzato su un <link>o @import, IE7 e IE8 scaricano il file.

Ecco un post scritto da Paul Irish sull'argomento:


1
Si noti che Paul Irish ha aggiornato il suo post per indicare che le risorse dovrebbero ora essere sempre servite su https quando è possibile farlo. Vedi il post collegato da @Sarfraz sopra.
Evan Donovan

1
Il codice dello snippet di Google Analytics utilizza questo schema, quindi scommetto che è cross browser mentre questo strumento è utilizzato da molti molti siti Web, altrimenti fornirebbero semplicemente la versione https
Lukas Liesis

22

Sì, credo di sì. Paul Irish ha coniato il termine URL relativo al protocollo .

Vorrei anche sottolineare che fa parte del progetto HTML5Boilerplate che promuove la compatibilità tra browser.

Nota: c'è un caso limite in IE6 con Google Analytics che è menzionato nell'articolo di Paul. Quindi non è perfetto.


Questo non è più vero, vedi stackoverflow.com/a/37609402/2237601 o qui , ora usano https://. Vedi anche qui perché commettere lo schema del protocollo potrebbe non essere una buona idea.
bg17aw

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.