Wenn ich sowohl http- als auch ftp-Optionen habe (wie die Hadoop-Download-Seite ), sollte ich ftp bevorzugen?
Ich habe FTP schon einmal ausprobiert und keinen signifikanten Unterschied festgestellt. Soll es besser abschneiden?
Wenn ich sowohl http- als auch ftp-Optionen habe (wie die Hadoop-Download-Seite ), sollte ich ftp bevorzugen?
Ich habe FTP schon einmal ausprobiert und keinen signifikanten Unterschied festgestellt. Soll es besser abschneiden?
Antworten:
Aus eHow gestohlen, Link unten
Vor- und Nachteile von HTTP
HTTP-Uploads bieten eine unglaublich einfache Methode zum Hochladen von Dateien auf einen Server mit minimalen Kenntnissen über Dateiübertragungen. Das Herunterladen einer Datei ist ebenfalls unglaublich einfach. Die Nachteile liegen jedoch in der mangelnden Leistung von HTTP beim Hochladen von Dateien. Außerdem muss ein Programmierer über die erforderlichen Kenntnisse verfügen, um das Formular in HTML zu erstellen, damit die betreffende Datei hochgeladen werden kann. Dies gilt insbesondere dann, wenn die Datei für ein soziales Netzwerk bestimmt ist, das Myspace oder Facebook ähnelt und das sie erstellen.
Vor- und Nachteile von FTP
Die Verwendung eines FTP-Servers bietet eigene Vorteile. Zum einen kann ein Benutzer ein Programm verwenden, um einen Massen-Upload auf einen Server durchzuführen, ohne sich Sorgen machen zu müssen, dass er wiederholt nach Dateien suchen und diese mithilfe eines Formulars erneut hochladen muss. Downloads können auch massenhaft durchgeführt werden. Leider benötigt ein FTP-Server immer noch einen FTP-Client, und die Verwendung eines solchen Clients wäre für diejenigen, die nur ein oder zwei Bilder hochladen möchten, besonders umständlich.
Unterschiede
Letztendlich haben FTP- und HTTP-Dateiübertragungen völlig unterschiedliche Zwecke. Der Zweck der Dateiübertragung von FTP besteht mehr oder weniger in der Wartung der Website und im Batch-Upload, während HTTP für die Arbeit am Client und für Endbenutzer zum Hochladen von Dingen wie Filmen, Bildern und anderen Dateien auf den Server bestimmt ist. Oft verwendet ein Programmierer FTP, um die Dateien hochzuladen, mit denen ein Endbenutzer Dateien auch über HTML / HTTP hochladen kann.
Lesen Sie mehr: HTTP Vs. FTP-Dateiübertragung | eHow.com http://www.ehow.com/about_5435784_http-vs-ftp-file-transfer.html#ixzz0wlUSkVIY
Im Allgemeinen sind allgemeine Antworten zur Netzwerkleistung eines Protokolls sehr schwierig, da die Leistung sehr stark von der spezifischen Netzwerkeinrichtung abhängt, häufig mehr als vom verwendeten Protokoll.
Ich kenne jedoch keinen Grund, warum der Datendurchsatz von http und ftp unterschiedlich sein sollte. Beide senden im Grunde nur Daten über einen TCP-Stream, sodass der eigentliche Datenübertragungsprozess der gleiche ist. Nein, im Allgemeinen sollten die Download-Geschwindigkeiten für FTP und http gleich sein.
http wird normalerweise aus anderen Gründen bevorzugt: Es funktioniert besser mit Firewalls (kann als Proxy verwendet werden), ermöglicht den Neustart unterbrochener Downloads und kann den Medientyp zusammen mit dem Download (MIME) angeben. Es ist einfacher zu verschlüsseln (TLS / SSL). , usw...
Für mich ist eine der größten Gefahren von FTP die Unfähigkeit, Sockets wiederzuverwenden. FTP verfügt über drei Übertragungsmodi: Stream, Block und Compressed. Die Unterstützung für die letzten beiden Modi ist jedoch nicht üblich. Im Standard- und am weitesten verbreiteten Modus (Stream) werden die Daten im Grunde genommen als Rohdatenstrom von Bytes übertragen. Da sie keine Metadaten darüber haben, wann sie mit dieser Datei fertig sind, muss sie die Verbindung schließen, wenn sie fertig ist. Das heißt, wenn Sie 100.000 Dateien über FTP übertragen, öffnen und schließen Sie 100.000 TCP-Verbindungen. Wenn dies beim Schließen einer dieser Verbindungen nicht schlimm genug war, muss sie für einen bestimmten Zeitraum in den Status TIME_WAIT versetzt werden. Die Standardverzögerung für die Wiederverwendung dieses Ports unter Windows beträgt 240 Sekunden (4 Minuten). Um das Ganze abzurunden, müssen Sie standardmäßig nur bis zu 5.000 Ports verwenden. Dies macht FTP zu einem Albtraum für die Übertragung großer Mengen kleiner Dateien. Durch Optimieren der Registrierung können Sie die Abklingzeitverzögerung auf 30 Sekunden erhöhen und die maximale Anzahl der Benutzerports auf etwa 65.000 erhöhen, was viel hilft, aber keineswegs ideal ist.
HTTP hingegen kann denselben Socket für die Übertragung mehrerer Dateien wiederverwenden. Wenn Sie also viele Dateien haben (insbesondere kleinere Dateien), ist HTTP ohne Zweifel die bessere Wahl.
Wenn Sie nur ein paar große Dateien erstellen, spielt es keine Rolle, welches Protokoll Sie verwenden. Ich denke, FTP fällt mir nur ein, wenn Leute daran denken, Dateien zu übertragen, aber das bedeutet sicherlich nicht, dass es besser ist.