Diferencias al declarar su directorio raíz en HTML

Esto me ha estado molestando por mucho tiempo, así que necesito hacer la pregunta.

¿Cuál es la diferencia entre / y ./ , es solo a la configuración del servidor?

Por ejemplo, si estuviéramos buscando una carpeta de imágenes en el directorio raíz, escribiríamos:

Sin embargo, otro servidor solo lo aceptará de la siguiente manera:

No es gran cosa, pero en un mundo ideal me gustaría pensar que podría transferir mis sitios a otro servidor con relativa facilidad sin tener que actualizar detalles menores como estos.

Por supuesto, puedo declararlo en PHP y configurarlo una vez en un archivo de configuración, pero realmente me está molestando. ¿Por qué hay dos métodos para declarar la raíz?

Para referenciar archivos relativos a la página actual, puede escribir la ruta claramente sin un prefijo, o puede ser explícito al agregar prefijo con ./ . Para llegar a los archivos con rutas relativas a la raíz de su sitio, prefija la ruta con / .

Resumen

/ ruta absoluta (ruta completa al recurso desde el directorio raíz)
./ ruta relativa desde el directorio actual (igual a no especificar ningún prefijo de carpeta)
../ ruta relativa desde el directorio principal
../../ ruta relativa desde el padre del padre

Ejemplos

 Current URL Resource path Resolves to /pages/home.html ./picture.jpg /pages/picture.jpg /pages/home.html ../img/picture.jpg /img/picture.jpg /pages/about/home.html /img/picture.jpg /img/picture.jpg /pages/about/home.html img/picture.jpg /pages/about/img/picture.jpg /home.html img/picture.jpg /img/picture.jpg 

Esto es lo mismo solo si la página de origen (la que contiene este HTML) está en la raíz del dominio.

En el caso general, ./images es equivalente a images .

Esto no tiene nada que ver con HTML, aparte del hecho de que las URL también se usan en HTML. Esto se define en las especificaciones de URL. En resumen, ./ es relativo a la URL base actual y / es relativa a la raíz del servidor (técnicamente, se refiere a la parte del servidor de la URL base).