ftp - webdav client
¿Qué acceso a archivos es el mejor: Webdav o FTP? (6)
Tengo que desarrollar una aplicación Java que tenga que leer algunos archivos en la red, editarlos y volverlos a poner.
El problema es que siempre hice (a través de la red) operaciones de archivos a través del protocolo FTP. Pero, recientemente escuché acerca de Webdav que está basado en HTTP.
¿Alguien notó una diferencia (en términos de velocidad) entre ellos? Cuál es el mejor ? ¿Por qué "inventan" Webdav si el FTP es bueno para eso?
Webdav tiene ventajas sobre el FTP con respecto al paso fácil de firewalls (sin conectores de control / datos separados). La velocidad debe ser aproximadamente la misma ya que ambos protocolos transfieren el archivo a través de un socket tcp sin formato.
Respuesta a la pregunta: Why did they "invent" Webdav
WebDAV significa Web Distributed Authoring and Versioning
.
Internet no fue diseñado para el consumo de recursos a través de urls ( localizador uniforme de recursos )
Pero eso es en lo que se convirtió.
Porque HTTP tenía una semántica fuerte para obtener recursos (GET) y (HEAD). (POST) proporcionó cobertura para el número de operaciones semánticas mientras (DELETE) estaba envuelto en desconfianza. HTTP carecía de otras cualidades, como las operaciones de recursos múltiples.
En pocas palabras, fue protocolo de lectura y no de escritura.
Usted iría a poner sus recursos (URL) disponibles para su búsqueda, cargándolos a través de FTP y muchos mecanismos.
Se suponía que WebDAV proporcionaría la historia que falta de internet: soporte para recursos de autoría a través del mismo mecanismo HTTP. Extendió su semántica, introdujo nuevos HTTP VERBS.
También introdujo el mecanismo para no solo leer, escribir, modificar y eliminar un recurso (uris) sino también realizar consultas sobre las meta propiedades del recurso y modificarlo. No es que no pudieras hacerlo antes, sino que se hizo a través del mecanismo de la puerta trasera.
Como ve, trajo algunos de los mismos mecanismos que espera en operaciones de archivos en el escritorio a recursos de internet.
Las siguientes son algunas de las analogías:
MKCOL ----- make collection ----- similar to make folder
PROPGET ---- get properties (meta?) --- same as get info or extended attributes on mac
PROPPATCH --- modify properties
COPY ---- cp
MOVE ---- mv
Espero haber establecido algunos de los nobles objetivos de WebDAV como extensión de HTTP para admitir la creación de sitios web. Sin embargo, no estoy seguro si lo hemos logrado.
Para tu pregunta
Su aplicación es un cliente y tendrá que conformarse con qué mecanismo está disponible, FTP o WebDAV en el otro lado. Si WebDAV está disponible de maravilla, puede usarlo. Pero tomará algún tiempo acostumbrarse a la semántica. FTP tiene una semántica limitada y sobresale en la simplicidad. Si ya lo está usando, no lo cambie.
Cual es mas rápido
Eso es similar a responder, ¿cuál es más rápido HTTP o FTP?
En una nota maliciosa, si se tratara de un problema, no hubiéramos estado descargando / cargando archivos a través de HTTP;)
Depende de lo que quieras hacer. Por ejemplo, la sobrecarga en FTP para obtener una lista de archivos es de 7 bytes (LISTA -a), mientras que es de 370 bytes con Webdav (PROPFIND + 207 Estado múltiple).
Para enviar algún archivo, la sobrecarga es menor en FTP que en Webdav, y así sucesivamente.
Si necesita enviar / recuperar una gran cantidad de archivos pequeños, FTP demostrará ser más rápido (utilizando múltiples conexiones para la canalización correcta y la conexión TCP por archivo). Si está enviando / recibiendo archivos grandes, es lo mismo en ambas tecnologías, la sobrecarga será insignificante.
Por favor mira: http://www.philippheckel.com/files/syncany-heckel-thesis.pdf
Como DAV funciona a través de HTTP , obtiene todos los beneficios de HTTP que FTP no puede proporcionar.
Por ejemplo:
autenticación fuerte , cifrado , soporte de proxy y almacenamiento en caché .
Es cierto que puede obtener algo de esto a través de SSH , pero la infraestructura HTTP se implementa mucho más ampliamente que SSH. Además, SSH no tiene el amplio complemento de herramientas, bibliotecas de desarrollo y aplicaciones que HTTP tiene.
Las transferencias DAV (bueno, las transferencias HTTP) también son más eficientes que FTP. Puede canalizar transferencias múltiples a través de una única conexión TCP, mientras que FTP requiere una nueva conexión para cada archivo transferido (más la conexión de control).
tiempo de modificación de archivo:
parece haber una diferencia en cómo ftp y webdav se ocupan del tiempo de modificación de archivos.
Parece que hay un ''comando'' en ftp para preservar ese tiempo (varios clientes ftp y servidores afirman hacer eso), mientras que webdav, si mal no recuerdo, puede obtener la fecha de modificación del archivo pero no puede configurarlo al cargarlo.
El cliente owncloud y algunos clientes propietarios de webdav parecen tener una solución alternativa, pero eso solo funciona en su software
dependiendo del uso, ese es un argumento fuerte a favor de ftp. No quiero que mis archivos tengan su fecha de modificación == fecha de carga. Después de una descarga posterior, no podría decir por fecha qué versión del archivo tengo.
WebDAV tiene las siguientes ventajas sobre FTP:
Al trabajar a través de una conexión TCP, es más fácil configurarla para evitar firewalls, NAT y proxies. En FTP, el canal de datos puede causar problemas con la configuración de NAT adecuada.
Nuevamente, debido a una conexión TCP, que puede ser persistente, WebDAV sería un poco más rápido que FTP al transferir muchos archivos pequeños, sin necesidad de hacer una conexión de datos para cada archivo.
La compresión GZIP es un estándar para HTTP pero no para FTP (sí, MODE Z se ofrece en FTP, pero no está definido en ningún estándar).
HTTP tiene una amplia selección de métodos de autenticación que no están definidos en FTP. P.ej. La autenticación NTLM y Kerberos es común en HTTP y en FTP, es difícil obtener el soporte adecuado para ellos a menos que se escriban los lados del servidor y del servidor de FTP.
WebDAV admite transferencias parciales y en cargas FTP parciales no son posibles (es decir, no puede sobrescribir un bloque en el medio del archivo).
Hay una cosa más a considerar (dependiendo de si controla el servidor): SFTP (protocolo de transferencia de archivos SSH, no relacionado con FTP de ninguna manera). SFTP es más rico en funciones que WebDAV y SFTP es un protocolo para acceder a sistemas de archivos remotos, mientras que WebDAV fue diseñado con abstracción en mente (WebDAV era para "documentos", mientras que SFTP es para archivos y directorios). SFTP tiene todos los beneficios mencionados anteriormente para WebDAV y es más popular entre los administradores y desarrolladores.