martes, 27 de abril de 2021

File URL en Windows vs Unix

 File URL en Windows vs Unix


Hola.

En esta ocasión voy a escribir acerca de las diferencias para especificar la ubicación de un directorio o archivo en Windows vs Unix.

Este es un problema común para aquellos que trabajamos entre ambos sistemas indistintamente. La diferencia en rutas entre uno y otro sistema varía un poco por lo que es necesario hacer modificaciones para apuntar a la ubicación correcta.

Generalmente la duda de siempre es cuántos slashes se deben poner en el file URL.

El // (doble slash) después de file: indica que sigue un hostname o la palabra localhost. Aunque esta parte puede ser omitida o indicar un hostname vacío. 

Así que lo correcto, en teoría, es poner la ruta después del tercer slash.

Digo en teoría porque yo he visto el uso de incluso 5 slashes que seguramente podrían reescribirse en alguna forma correcta usando menos. Leyendo un poco sobre esto veo que hay formas no correctas que son usadas y funcionan.

Cuando se está trabajando en múltiples sistemas, lo mas común es no usar un nombre de host o rutas absolutas porque esto permite mover tus configuraciones fácilmente entre servidores sin necesidad de estar cambiándolas cada que las mueves.

Abajo los ejemplos, noten los 3 slashes que indican un hostname vació y enseguida la ruta.

Unix

Con hostname

file://localhost/tmp/archivo.txt

Sin hostname

file:///tmp/archivo.txt

Windows

Con hostname

file://localhost/c$/WINDOWS/archivo.txt 

Sin hostname

file:///c:/WINDOWS/archivo.txt 


Referencia:

https://en.wikipedia.org/wiki/File_URI_scheme


Espero les sirva.