¿Cómo manejan los servidores FTP el acceso concurrente al mismo archivo, es decir, si un usuario está actualizando un archivo mientras otro está leyendo el mismo archivo? ¿Debería preocuparme por obtener datos corruptos? ¿Depende del servidor FTP o incluso del sistema operativo?
Creo que las implementaciones de FTP simplemente no se ocupan de esto, y el sistema operativo variará en función de cómo lo hace, Windows podría bloquear el archivo, Linux le dará datos parciales.
Sí, debería estar preocupado, especialmente con un alto uso. Las soluciones que encontré en el pasado eran incompletas en el mejor de los casos, incluidas diferentes carpetas para cargar / descargar y un proceso de monitor para copiar de carga a descarga cuando el archivo está completamente cargado.
Esto empeora a medida que los archivos son más largos y / o las personas cargan desde conexiones lentas.
Estoy bastante seguro de que podrías tener problemas. Prueba esto:
Inicie la carga de un archivo grande en su servidor FTP. Actualice la vista de la carpeta en la que se está cargando y verá que el tamaño del archivo aumenta y la carga progresa.
Si intenta esto con un archivo .mp3. Puede acceder a él a través del navegador y ver que solo se reproducirá hasta el punto que se ha cargado actualmente.
Es por eso que programas como Dreamweaver tienen un sistema de entrada / salida. De modo que si alguien está trabajando en un archivo .html, otra persona no puede cargar una versión anterior o causar ese tipo de problemas.
No creo que FTP use ningún tipo de archivos temporales o colas tampoco ...
Correcto. Una vez descomprimí un archivo que en realidad no se transfirió por completo. Mensajes de error extraños, por supuesto ...
Arjan
Creo que la actualización y el archivo existente es diferente de crear un nuevo archivo (la lectura no comenzará antes de que ocurra la creación, y luego seguirá la escritura). Si la lectura va más allá de la escritura, obtienes lecturas incompletas. Un archivo ZIP incompleto mostrará daños. Un mp3 incompleto se reproducirá hasta el primer punto de corrupción (creo). Esa es una diferencia en los formatos de archivo.
nik
Una modificación / sobrescritura de un archivo existente debe identificar una lectura en progreso y crear una nueva versión para escribir, conservando la versión anterior para que se complete la lectura. Es por eso que digo en mi respuesta que un sistema de archivos típico daría una copia anterior del archivo en tal caso.
nik
0
Cada vez que intento acceder a una página que aún no he subido, obtengo un "restablecimiento de la conexión al cargar". Sin embargo, creo que realmente depende del software.
El uso de un software de control de revisión ayudaría en este caso, eche un vistazo a Git y SVN , tenga en cuenta que hay dos tipos principales (centralizados y distribuidos) y muchas otras aplicaciones además de esos dos.
Cada vez que intento acceder a una página que aún no he subido, obtengo un "restablecimiento de la conexión al cargar". Sin embargo, creo que realmente depende del software.
fuente
El uso de un software de control de revisión ayudaría en este caso, eche un vistazo a Git y SVN , tenga en cuenta que hay dos tipos principales (centralizados y distribuidos) y muchas otras aplicaciones además de esos dos.
fuente