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.





2 comentarios:

  1. Excelente información. ¿Cuándo se llega a dañar alguno de los múltiples slashes se pierde el acceso definitivo al file URL y por ende se perdería éste?

    Ejemplo:

    file:///d:/Respaldo/OctavoSemestre/Seminario/PrimerParcial/tesis.txt

    En el ejemplo anterior: ¿Si se dañara "Seminario" el archivo "tesis.txt" se perdería en definitivo?

    Saludos.

    ResponderBorrar
    Respuestas
    1. Hola Su Santidad.
      Esto es independiente de la integridad del archivo. Se refiere únicamente a la especificación de la ubicación de un archivo en programación.
      En el artículo se da por entendido que el archivo existe y se encuentra en la ubicación especificada.
      Gracias. Vuelvas prontos!

      Borrar