Qual o acesso a arquivos é o melhor: Webdav ou FTP? [fechado]

Eu tenho que desenvolver uma aplicação Java que tem que ler alguns arquivos na rede, editá-los e colocá-los de volta.

o problema é que eu sempre fiz (através da rede) operações de arquivos através do protocolo FTP. Mas, eu recentemente ouvi sobre Webdav que é baseado em HTTP.

Alguém notou alguma diferença (em termos de velocidade) entre eles ? Qual é o melhor ? Por que eles" inventaram " Webdav se o FTP é bom para isso?

 56
Author: Nakilon, 2012-06-27

6 answers

O WebDAV tem as seguintes vantagens em relação ao FTP:

  1. Trabalhando através de uma conexão TCP é mais fácil configurá-lo para contornar firewalls, NATs e proxies. No FTP o canal de dados pode causar problemas com a configuração NAT adequada.

  2. Mais uma vez devido a uma conexão TCP, que pode ser persistente, WebDAV seria um pouco mais rápido do que FTP ao transferir muitos arquivos pequenos - não há necessidade de fazer uma conexão de dados para cada arquivo.

  3. A compressão GZIP é uma standard for HTTP but not for FTP (yes, MODE Z is offered in FTP, but it's not defined in any standard).

  4. O HTTP tem uma ampla escolha de métodos de autenticação que não são definidos no FTP. Exemplo. A autenticação NTLM e Kerberos é comum em HTTP e em FTP é difícil obter suporte adequado para eles, a menos que você escreva ambos os lados cliente e servidor de FTP.

  5. WebDAV suporta transferências parciais e em FTP uploads parciais não são possíveis (ie. você não pode sobrepor um bloco em o meio do arquivo).

Há mais uma coisa a considerar (dependendo se você controla o servidor) - SFTP (SSH File Transfer Protocol, não relacionado com FTP de nenhuma forma). SFTP é mais rico em recursos do que WebDAV e SFTP é um protocolo para acessar sistemas de arquivos remotos, enquanto WebDAV foi projetado com abstração em mente (WebDAV era para "documentos", enquanto SFTP é para arquivos e diretórios). SFTP tem todos os benefícios mencionados acima para WebDAV e é mais popular entre ambos os administradores e desenvolvedores.

 65
Author: Eugene Mayevski 'Allied Bits, 2015-04-01 20:55:34
Resposta para a Pergunta - Why did they "invent" Webdav

WebDAV significa Web Distributed Authoring and Versioning.

A Internet não se destinava apenas ao consumo de recursos através de urls.) Mas foi nisso que se tornou.

Porque o HTTP tinha uma semântica forte para obter recursos (GET) e (HEAD). (POST) forneceu cobertura para o número de operações semânticas, enquanto (DELETE) foi envolto em desconfiança. O HTTP não tinha algumas outras qualidades como operações multi-recursos.

Em poucas palavras, era o protocolo lido e não o protocolo escrito.

Você iria por aí para tornar os seus recursos (URLs) disponíveis para obter através do upload dele através do FTP e de muitos mecanismos.

O WebDAV deveria fornecer a história em falta da internet: Suporte para a criação de recursos através do mesmo mecanismo HTTP. Ele estendeu sua semântica, introduziu novos verbos HTTP.

Também introduziu o mecanismo para não só ler, escrever, modificar e apagar um resource (uris), mas também fazer perguntas sobre as meta propriedades do recurso e modificá-lo. Não é que você não poderia fazê-lo antes, mas foi feito através de mecanismo de porta traseira. Então você vê, ele trouxe alguns dos mesmos mecanismos que você espera em operações de arquivos no desktop para recursos de internet.

A seguir estão algumas das analogias:

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

Eu espero, eu estabeleci alguns dos objetivos nobres do WebDAV como extensão para HTTP para apoiar a criação de internet. Nao HTTP ou FTP mais rápidos?

Numa nota astuta, se fosse esse o problema, não estaríamos a descarregar / enviar ficheiros via HTTP;)

 25
Author: pyfunc, 2012-06-27 08:22:51

Dado que o DAV funciona sobre o HTTP, obtém todos os benefícios do HTTP que o FTP não pode fornecer.

Por exemplo:

autenticação forte, criptografia, suporte a proxy, e caching .

É verdade que você pode obter um pouco disto através SSH, mas a infra-estrutura HTTP é muito mais amplamente implantada do que SSH. Além disso, o SSH não dispõe de um amplo complemento de ferramentas, bibliotecas de desenvolvimento e aplicações que o HTTP faz.

As transferências DAV (bem, as transferências HTTP) também são mais eficientes do que o FTP. Você pode transferir várias transferências através de uma única conexão TCP, considerando que o FTP necessita de uma nova ligação para cada ficheiro transferido (mais a conexão de controle).

Referência

 4
Author: Durai Amuthan.H, 2014-02-14 19:58:02
Depende do que queres fazer. Por exemplo, a sobrecarga em FTP para obter uma lista de arquivos é de 7 bytes (lista a), enquanto é 370 bytes com Webdav (PROPFIND + 207 Status Multi).

Para enviar algum ficheiro, a sobrecarga é mais baixa no FTP do que no Webdav, e assim por diante.

Se precisar de enviar / obter muitos ficheiros pequenos, o FTP irá revelar-se mais rápido (usando várias ligações para a ligação correcta do pipelining e por ficheiro TCP). Se você está enviando / recebendo arquivos grandes, é o mesmo em ambas as tecnologias, a sobrecarga será insignificante.

Por favor veja: http://www.philippheckel.com/files/syncany-heckel-thesis.pdf

 3
Author: xryl669, 2013-01-14 17:43:45

Hora de modificação do Ficheiro:

Parece haver uma diferença na forma como o ftp e o webdav lidam com o tempo de modificação de ficheiros.

Parece que existe um' comando ' no ftp para preservar esse tempo( vários clientes e servidores ftp afirmam fazer isso), enquanto o webdav, se bem me lembro, pode obter a data de modificação do ficheiro, mas não pode configurá-la no upload.

O cliente próprio Cloud e alguns clientes propriatários webdav parecem ter uma solução, mas isso só funciona nos seus software

Dependendo do uso, esse é um argumento stong a favor do ftp. Não quero que os meus ficheiros tenham a data de modificação deles = data de envio. Depois de um download posterior, eu não seria capaz de dizer por data que versão do arquivo que eu tenho.

 2
Author: opto, 2014-03-30 13:48:59

O Webdav tem vantagens sobre o FTP em relação à fácil passagem de firewalls (sem tomadas de controlo/dados separadas). A velocidade deve ser aproximadamente a mesma que ambos os protocolos transferir o arquivo sobre um soquete TCP raw.

 1
Author: Jan-Philipp Niewerth, 2012-06-26 22:39:49