Qual è lo scopo di portare la barra negli URL HTML?


18

Ho notato che alcuni blog post hanno collegamenti utilizzando un valore di partenza con /in href.

Per esempio:

<a href="/somedir/somepage.html">My Page</a>

Il principale /indica che il percorso inizia dalla radice del sito?

In altre parole, se l'URL del sito è www.mysite.com, il hrefvalore effettivo è www.mysite.com/somedir/somepage.html?

È una convenzione accettata in tutti i browser?


3
È inoltre possibile trovare un URL a doppia barra, //somedomain.com/somedir/in alcuni collegamenti, che utilizza lo stesso protocollo utilizzato per la pagina corrente, stackoverflow.com/questions/4978235/… stackoverflow.com/questions/4831741/…
Hawken

Risposte:


19

È importante avviare un URL con un in /modo che l'URL previsto venga restituito anziché il suo genitore o figlio.

Diciamo che se /cream-cakes/stai navigando hai un link sulla pagina che ha blah.htmlsenza la barra in avanti tenterà di visitare la pagina /cream-cakes/blah.htmlmentre con la barra in avanti supporrà che intendi il livello superiore che sarà domain.com/blah.html.

In generale, è meglio utilizzare sempre /nella mia esperienza come più amichevole quando si cambia la struttura del sito, anche se non c'è giusto o sbagliato supponendo che la pagina desiderata venga restituita.


12

Il carattere '/' iniziale indica che il percorso inizia dalla radice del sito?

Tecnicamente questo è indicato nella sezione 4.2 di RFC 3986 come "riferimento di percorso assoluto":

Un riferimento relativo che inizia con un singolo carattere barra viene definito riferimento di percorso assoluto.

Assicura che il percorso sia assoluto nella directory principale e non nella directory corrente (definito riferimento "percorso relativo"). Vedi questo per una discussione estesa su questo.


Potete rivolgervi al supporto del browser per questo tipo di collegamento?
Stephen Ostermiller

2
@Stephen ogni browser mai realizzato almeno dal 1998.
DisgruntledGoat

1
@DisgruntledGoat: probabilmente molto prima. In effetti, andrei su un arto e direi semplicemente "ogni browser di sempre "; questa sintassi ha fatto parte dello standard URL sin dall'inizio.
Ilmari Karonen,

2

Questo è un collegamento relativo alla radice. È un collegamento relativo (in qualche modo simile a ../) ma inizia dalla radice del sito. Se una pagina a tre livelli di profondità sul sito inizia un collegamento con la barra, il resto del percorso sarà relativo alla radice del sito.

Un vantaggio per questa forma di tracciamento è un minor numero di caratteri nel markup:

http://example.com/page.html

vs

/page.html

Un altro vantaggio è la portabilità attraverso i cambiamenti di dominio. Se il example.comcontenuto viene spostato example.org, ad esempio, i collegamenti relativi alla radice funzioneranno comunque, supponendo che venga utilizzato lo stesso nome / layout di directory. Particolarmente utile se si sviluppano pagine localmente, quindi si caricano sul Web.

Come per altri tipi di pathing - relative ( ../) e absolute ( http://...), questo è ancora soggetto all'aggiornamento dei collegamenti quando i file o le directory vengono rinominati o spostati.


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.