C'è un motivo per includere il protocollo http
/https
sull'attributo href
di collegamenti?html - collegamenti senza protocollo http
sarebbe bene lasciare appena fuori:
<a href="example.com">my site</a>
C'è un motivo per includere il protocollo http
/https
sull'attributo href
di collegamenti?html - collegamenti senza protocollo http
sarebbe bene lasciare appena fuori:
<a href="example.com">my site</a>
L'inclusione della parte "http:" o "https:" è in parte solo una questione di tradizione, in parte una questione di specificazione effettiva del protocollo. Se è impostato come predefinito, viene utilizzato il protocollo della pagina corrente; ad esempio, //www.example.com diventa http://www.example.com o https://www.example.com a seconda dell'URL della pagina di riferimento. Se una pagina Web viene salvata su un disco locale e poi aperta da lì, non ha protocollo (solo il file: pseudo-protocollo), quindi URL come //www.example.com non funzioneranno; ecco quindi un motivo per includere la parte "http:" o "https:".
Omettere anche la parte "//" è un problema completamente diverso, trasformando l'URL in un URL relativo che verrà interpretato come relativo all'URL di base corrente.
Il motivo per cui www.example.com funziona quando viene digitato o incollato sulla riga di un indirizzo del browser è che gli URL relativi non avrebbero senso lì (non esiste un URL di base da collegare), quindi i produttori di browser hanno deciso di implicare il " http: // "prefisso lì.
senza http, ci vorrebbe il relativo URL. Se devi puntare a un URL esterno, è necessario specificare http, altrimenti cercherebbe di portarti una risorsa locale.
Quindi, dipende da dove si desidera puntare.
False. L'host può essere specificato senza un protocollo iniziando con "//" come in: "//www.example.com/blah/blah" – NVRAM
hanks per indicare che i collegamenti sono considerati percorsi relativi senza http (o //) come ha sottolineato @NVRAM). Sono stato in grado di risolvere il mio problema controllando l'url e inserendo "//" se non conteneva "http". Questo ha funzionato alla grande. Grazie a tutti e due –
Gli URL in href non sono limitati ai soli documenti HTTP. Supportano tutti i protocolli supportati dai browser: ftp, mailto, file, ecc.
Inoltre, è possibile precedere il nome dell'URL con '#', per collegarsi a un id html internamente nella pagina. Puoi dare solo il nome o il percorso della directory, senza un protocollo, che sarà preso come un URL relativo.
Confronta '' e '' - dato che il browser non può indovinare su cosa un link punta in base all'estensione cosa dovrebbe fare ? Oppure '' - è un link a una [pagina web polacca] (http://en.wikipedia.org/wiki/.pl) o un [file Perl] (http: //www.fileinfo.com/extension/pl)? – Gareth
Grazie @Gareth buona spiegazione! –
La parte dell'URL che fa andare un link esternamente è // non il protocollo. Il protocollo comunica al computer solo il dispositivo da utilizzare sul collegamento. Puoi collegarti a "http://example.com", https://example.com, ftp://example.com o solo //example.com. Quest'ultimo afferma che è necessario utilizzare il protocollo del client corrente (di solito un browser http/https, ma potrebbe essere un client di posta elettronica, ecc.) Ed è estremamente utile quando si considera che un sito sia in esecuzione con protocolli http e https. –