¿Cuál es el propósito de la barra diagonal en las URL HTML?

18

Me he dado cuenta de que algunas publicaciones de blogs tienen enlaces que utilizan un valor que comienza /en href.

Por ejemplo:

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

¿El /inicio significa que la ruta comienza desde la raíz del sitio?

En otras palabras, si la URL del sitio es www.mysite.com, ¿el hrefvalor efectivo es www.mysite.com/somedir/somepage.html?

¿Es esta una convención aceptada en todos los navegadores?

Jérôme Verstrynge
fuente
3
También puede encontrar una url de doble barra, //somedomain.com/somedir/en algunos enlaces, que utiliza el mismo protocolo utilizado para la página actual, stackoverflow.com/questions/4978235/… stackoverflow.com/questions/4831741/…
Hawken

Respuestas:

19

Es importante comenzar una URL con un /para que se devuelva la URL deseada en lugar de su padre o hijo.

Digamos que si está navegando /cream-cakes/, tiene un enlace en la página que, blah.htmlsin la barra diagonal, intentará visitar la página, /cream-cakes/blah.htmlmientras que con la barra diagonal asumirá que se refiere al nivel superior que será domain.com/blah.html.

En general, es mejor usar siempre /en mi experiencia, ya que es más amigable cuando cambia la estructura de su sitio, aunque no hay correcto o incorrecto suponiendo que se devuelva la página deseada.

Simon Hayter
fuente
12

¿El '/' inicial significa que la ruta comienza desde la raíz del sitio?

Técnicamente se hace referencia a esto en la sección 4.2 de RFC 3986 como una "referencia de ruta absoluta":

Una referencia relativa que comienza con un solo carácter de barra diagonal se denomina referencia de ruta absoluta.

Asegura que la ruta sea absoluta al directorio raíz y no al directorio actual (denominada referencia de "ruta relativa"). Vea esto para una discusión ampliada sobre eso.

dan
fuente
¿Puede abordar el soporte del navegador para este tipo de enlace?
Stephen Ostermiller
2
@Stephen todos los navegadores creados desde al menos 1998.
DisgruntledGoat
1
@DisgruntledGoat: Probablemente mucho antes que eso. De hecho, me gustaría ir a jugar y simplemente decir "todos los navegadores siempre "; esa sintaxis ha sido parte del estándar URL desde el principio.
Ilmari Karonen
2

Ese es un enlace relativo a la raíz. Es un enlace relativo (algo parecido ../) pero comienza en la raíz del sitio. Si una página de tres niveles de profundidad en el sitio comienza un enlace con la barra diagonal, el resto de la ruta será relativa a la raíz del sitio.

Un beneficio de esta forma de ruta es menos caracteres en el marcado:

http://example.com/page.html

vs

/page.html

Otra ventaja es la portabilidad a través de cambios de dominio. Si el example.comcontenido se mueve a example.org, por ejemplo, los enlaces relativos a la raíz seguirán funcionando, suponiendo que se use el mismo nombre / diseño de directorio. Especialmente útil si se desarrollan páginas localmente y luego se suben a la web.

Al igual que con otros tipos de ruta: relativa ( ../) y absoluta ( http://...), esto todavía está sujeto a actualizaciones de enlaces cuando los archivos o directorios cambian de nombre o se mueven.

Grant Palin
fuente
0

Este tutorial indica que la respuesta a mi pregunta es sí.

La efectiva hrefvalor es, en efecto: www.mysite.com/somedir/somepage.html.

Jérôme Verstrynge
fuente