Qual é o objetivo da barra invertida em URLs HTML?

17

Percebi que algumas postagens em blogs têm links usando um valor começando /em href.

Por exemplo:

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

O líder /significa que o caminho está começando na raiz do site?

Em outras palavras, se o URL do site for www.mysite.com, o hrefvalor efetivo é www.mysite.com/somedir/somepage.html?

Esta convenção é aceita em todos os navegadores?

Jérôme Verstrynge
fonte
3
Você também pode encontrar um URL de barra dupla, //somedomain.com/somedir/em alguns links, que usa o mesmo protocolo usado para a página atual, stackoverflow.com/questions/4978235/… stackoverflow.com/questions/4831741/…
Hawken

Respostas:

19

É importante iniciar um URL com um /para que o URL pretendido seja retornado em vez de seu pai ou filho.

Digamos que, se você estiver navegando /cream-cakes/, você tiver um link na página que, blah.htmlsem a barra, tentará visitar a página, /cream-cakes/blah.htmlenquanto a barra assumirá que você quer dizer o nível superior domain.com/blah.html.

Geralmente, é melhor sempre usar /na minha experiência como mais amigável quando você altera a estrutura do seu site, embora não haja certo ou errado supondo que a página pretendida seja retornada.

Simon Hayter
fonte
11

O '/' principal significa que o caminho está começando na raiz do site?

Tecnicamente, isso é referenciado na seção 4.2 da RFC 3986 como uma "referência de caminho absoluto":

Uma referência relativa que começa com um único caractere de barra é denominada referência de caminho absoluto.

Ele garante que o caminho seja absoluto para o diretório raiz e não o diretório atual (denominado uma referência de "caminho relativo"). Veja isso para uma discussão expandida sobre isso.

dan
fonte
Você pode abordar o suporte do navegador para esse tipo de link?
Stephen Ostermiller
2
@ Stephen todos os navegadores já criados desde, pelo menos, 1998.
DisgruntledGoat
1
@DisgruntledGoat: Provavelmente bem antes disso. Na verdade, eu iria em um membro e apenas dizer "cada navegador sempre "; essa sintaxe faz parte do padrão de URL desde o início.
Ilmari Karonen
2

Esse é um link relativo à raiz. É um link relativo (um pouco parecido com ../), mas começa na raiz do site. Se uma página com três níveis de profundidade no site iniciar um link com a barra, o restante do caminho será relativo à raiz do site.

Um benefício para essa forma de desvio é o número menor de caracteres na marcação:

http://example.com/page.html

vs

/page.html

Outra vantagem é a portabilidade entre alterações de domínio. Se o example.comconteúdo for movido para example.org, por exemplo, os links relativos à raiz ainda funcionarão, assumindo que o mesmo nome / layout de diretório seja usado. Especialmente útil no desenvolvimento de páginas localmente e no upload para a web.

Assim como outros tipos de caminhos - relativo ( ../) e absoluto ( http://...), isso ainda está sujeito à atualização de links quando arquivos ou diretórios são renomeados ou movidos.

Grant Palin
fonte
0

Este tutorial indica que a resposta para minha pergunta é sim.

O efetivo hrefvalor é de fato: www.mysite.com/somedir/somepage.html.

Jérôme Verstrynge
fonte