66 votes

Qui l'accès au fichier est le meilleur : Webdav ou FTP?

Je dois développer une application Java qui a pour lire certains fichiers sur le réseau, de les éditer et de les mettre en arrière.

Le problème est que j'ai toujours fait (sur le réseau) les opérations de fichiers via le protocole FTP. Mais, j'ai récemment entendu parler de Webdav qui est basée sur HTTP.

Personne n'a remarquer une différence (en termes de vitesse) entre eux ? Lequel est le meilleur ? Pourquoi ont-ils "inventent" Webdav si le FTP est bon pour qui?

74voto

WebDAV a les avantages suivants sur le FTP:

  1. En travaillant via une connexion TCP, il est plus facile de le configurer pour contourner les pare-feu, Nat et les procurations. FTP dans le canal de données peut causer des problèmes avec la bonne NAT de l'installation.

  2. Encore une fois dû à une connexion TCP, qui peut être permanente, WebDAV serait un peu plus rapide que le FTP lors du transfert de petits fichiers - pas besoin de faire une connexion de données pour chaque fichier.

  3. La compression GZIP est un standard pour HTTP, mais pas pour le FTP (oui, le MODE Z est offert en FTP, mais ce n'est pas définies dans la norme).

  4. HTTP a un large choix de méthodes d'authentification qui ne sont pas définis dans le FTP. Par exemple. L'authentification NTLM et Kerberos est commun en HTTP et FTP, il est difficile d'obtenir le soutien approprié pour eux, sauf si vous écrivez des deux côtés client et serveur FTP.

  5. WebDAV prend en charge partielle des transferts et FTP partielle téléchargements ne sont pas possibles (ie. vous ne pouvez pas remplacer un bloc dans le milieu du fichier).

Il y a encore une chose à considérer (en fonction de si vous contrôlez le serveur) - SFTP (SSH File Transfer Protocol, qui n'est liée à FTP en quelque sorte). SFTP est plus riche en fonctionnalités que et SFTP WebDAV est un protocole d'accès aux systèmes de fichiers distants, tout en WebDAV a été conçu avec l'abstraction dans l'esprit (WebDAV était de "documents", tout en SFTP est pour les fichiers et les répertoires). SFTP supporte tous les avantages mentionnés ci-dessus pour WebDAV et est de plus en plus populaire parmi les administrateurs et les développeurs.

28voto

pyfunc Points 31088

Réponse à la question - Why did they "invent" Webdav

WebDAV est l'acronyme de Web Distributed Authoring and Versioning.

Internet était juste pas fait pour la consommation de ressources par le biais d'url (Uniform resource locator)

Mais qu'est ce qu'il est devenu.

Parce HTTP eu une forte de la sémantique de l'extraction de ressources (GET) et (TÊTE). (POST) a fourni une couverture pour le numéro de la sémantique des opérations tout (SUPPRIMER) a été enveloppé dans la méfiance. HTTP manqué de quelques autres qualités comme la multi-exploitation des ressources.

En bref, il a été lu protocole et ne pas écrire le protocole.

Vous allez autour de lui, pour faire de vos ressources (Url) disponible pour aller chercher en le téléchargeant bien que FTP et de nombreuses certain nombre de mécanismes.

WebDAV est censé fournir à l'manquant histoire de l'internet : de la création de ressources par le même mécanisme de HTTP. Elle a étendu sa sémantique, introduit de nouveaux VERBES.

Il a aussi introduit le mécanisme de non seulement lire, écrire, modifier et supprimer une ressource (uri), mais aussi faire des demandes de renseignements sur les méta-propriétés de la ressource et de le modifier. Ce n'est pas que vous ne pouvait pas le faire avant, mais il a été fait par la porte arrière du mécanisme.

Donc, vous voyez, il a apporté quelques-uns des mêmes mécanismes que vous attendez sur les opérations de fichiers sur des ordinateurs de bureau aux ressources de l'internet.

Suivants sont quelques-uns des analogies:

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

J'espère , j'ai créé quelques-uns des nobles objectifs de WebDAV comme une extension de HTTP pour prendre en charge internet de la programmation. Vous ne savez pas si nous avons atteint ce bien.

Pour votre question

Votre application est un client et devra faire avec ce mécanisme est disponible par FTP ou WebDAV sur l'autre côté. Si WebDAV est disponible, vous pouvez l'utiliser. Mais Il faudra un certain temps pour s'habituer à la sémantique. FTP est a limité la sémantique et excelle dans la simplicité. Si vous utilisez déjà, il ne faut pas le changer.

Ce qui est plus rapide

Qui est semblable à la réponse, qui est plus rapide HTTP ou FTP?

Sur un sly remarque, si c'était un problème que l'on n'aurait pas été de téléchargement / téléchargement de fichiers via HTTP ;)

4voto

HDA Points 2590

Depuis DAV fonctionne sur HTTP, vous bénéficiez de tous les avantages de HTTP FTP ne peut pas fournir.

Par exemple:

l'authentification forte, chiffrement, support de proxy, et la mise en cache.

Il est vrai que vous pouvez obtenir une partie de ce à travers SSH, mais le HTTP infrastructure est beaucoup plus largement déployée que SSH. De plus, SSH n'ont pas la vaste panoplie d'outils, le développement des bibliothèques et des applications qui n'HTTP.

DAV transferts (bien, HTTP transferts) sont également plus efficace que le FTP. Vous pouvez pipeline de multiples transferts par le biais d'une seule connexion TCP, alors que FTP nécessite une nouvelle connexion pour chaque fichier transféré (plus le témoin de connexion).

Référence

3voto

xryl669 Points 535

Dépend de ce que vous voulez faire. Par exemple, les frais généraux sur FTP pour récupérer une liste de fichiers est 7 octets (LISTE a), alors qu'il est de 370 octets avec Webdav (PROPFIND + 207 Multi Statut).

Pour envoyer un fichier, la charge est plus faible sur FTP que sur Webdav, et ainsi de suite.

Si vous avez besoin d'envoyer/récupérer beaucoup de petits fichiers, FTP se révélera plus rapide (en utilisant plusieurs connexions pour corriger le pipelining, et par-fichier de connexion TCP). Si vous êtes à envoyer/recevoir des fichiers volumineux, il est le même sur les deux technologies, la charge sera négligeable.

Veuillez voir: http://www.philippheckel.com/files/syncany-heckel-thesis.pdf

1voto

Webdav a des avantages sur FTP sujet facile en passant par des pare-feu (pas de contrôle/données sockets). La vitesse doit être à peu près la même chose que les deux protocoles de transfert de fichier de plus de un raw socket tcp.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X