FTP vs HTTP

Status
Nicht offen für weitere Antworten.

CyD

Mitglied
Hi Leutz.

Also, ich hab vor kurzen ein Programm geschrieben um Dateien/Ordner von Computer zu Computer zu übertragen.
Das Programm läuft (bisher) ohne Probleme. Allerdings hab ich bei der letzten LAN bemerkt, das
die meisten keine Lust haben extra noch ein Programm zu installieren/kopieren um einige Daten zu übertragen.

Dann hat mich ein Kumpel auf die Idee gebracht, die Daten mit Hilfe von FTP zu übertragen.
Einen FTP-Client hat im Grunde jeder, zB. einen Browser.

Ich hab mich dann ein bisschen auf dem Gebiet versucht schlau zu machen, bin aber dann auf HTTP gestoßen...

Leider finde ich keine Seiten, die die beiden Protokolle, hinsichtlich der Datenübertragung, vergleichen.

Ich habe hier mal eine paar Stichpunkte, mit Funktionen, die mein eingenes Protokoll kann. Ich würde gerne wissen, in wie weit FTP oder HTTP solche Sachen unterstützen.

a) Passwortschutz:
AFAIK arbeitet HTTP vollkommen ohne Passwörter. Bei FTP muss man sich immer einloggen und jeder User hat seine Berechtigungen für Ordner.

Wäre es auch möglich nur bestimmte Ordner mit einem Passwort zu versehen? Ohne jetzt User oder Gruppen mit diesem Ordner zu verknüpfen?

b) Übertragung Pausieren:
IMO kann sowohl HTTP als auch FTP die Übertragung pausieren.

c) Übertragung neu beginnen:
Gibt es mit HTTP oder FTP eine Möglichkeit eine Datei zu übertragen, von der bereits ein Teil übertragen worden ist, ohne die Datei von Beginn an noch einmal neu übertragen zu müssen?

d) Ordner mit einem Kommentar versehen:
Ich hab irgendwo gelesen, das man auch in FTP ordner mit einem Kommentar versehen kann. So weit ich weis in Form einer Textdatei in dem betreffendem Ordner. Vielleicht habt ihr genauere Informationen.

e) Mehrere Downloads parallel:
Bei beiden Protokollen ist eine Übertragung von mehreren Dateien gleichzeitig möglich.


Der Vorteil von HTTP wäre natürlich noch die hübschere Darstellung der Daten mit Hilfe von HTML. Allerdings lege ich darauf keinen Wert, immerhin kann man ja auch auf eine FTP-URL verlinken.

Ich hoffe ihr könnt ein bisschen Licht in die Sache bringen.

gruß
CyD
 

Pappenheimer++

Bekanntes Mitglied
zu a): Doch, HTTP bietet auch einen Passwortschutz (wie z.b. den mit dem http-access file auf manchen Webservern).

Zum Fortsetzen pausierter Downloads: Das scheint sich mit HTTP auch umsetzen zu lassen. Ich weiß zwar nicht genau wie, aber rapidshare bietet den Service und deren Downloads funktionieren über HTTP (unerwarteter Weise). Wie schwierig das umzusetzen sein wird, weiß ich nicht, aber irgendwie geht es ;)
 
M

maki

Gast
zu a): Doch, HTTP bietet auch einen Passwortschutz (wie z.b. den mit dem http-access file auf manchen Webservern).
Natürlich unterstützt HTTP Authentifizierung, das sog. BASIC und das DIGEST:
http://www.ietf.org/rfc/rfc2617.txt

Ansonsten habe ich den Eindruck, hier wurde das Rad zum x-ten mal erfunden, wieviele Programme zum Dateitransfer braucht man eigentlich noch?
Gibt doch erst ein halbes dutzend Standards dafür und tausende Implementierungen...
 
T

tuxedo

Gast
*Kopfschüttel*

Bis auf die Sache mit dem "Download wieder aufnehmen" können solche Dinge "moderne" Betriebssysteme von Haus aus (Stichwort: Windows Dateifreigabe, Samba unter Linux, ....).

Muss maki also voll und ganz zustimmen.
 

CyD

Mitglied
maki hat gesagt.:
Natürlich unterstützt HTTP Authentifizierung, das sog. BASIC und das DIGEST:
http://www.ietf.org/rfc/rfc2617.txt

Danke! Ich glaube ich werd mich mal mit der Basic Authentication auseinandersetzten.

alex0801 hat gesagt.:
*Kopfschüttel*

Bis auf die Sache mit dem "Download wieder aufnehmen" können solche Dinge "moderne" Betriebssysteme von Haus aus (Stichwort: Windows Dateifreigabe, Samba unter Linux, ....).

Muss maki also voll und ganz zustimmen.

Na gut, das ist euere persönliche Entscheidung, ob ihr so ein Programm braucht oder nicht.

Natürlich könnt ich bereits bestehende ServerProgramme nutzen, aber Lernen tu ich dabei nicht viel.

@alex0801: Warum hast du denn SIMON entwickelt, obwohl RMI bereits da war?

Meiner Meinung nach schaden Alternativen nicht! Im Gegenteil: Sie machen einen Wettbewerb erst möglich.
Ich könnt mein Programm auch so lassen, wie es momentan ist. Allerdings würde ich mit einem bekannten Protokoll eine höhere Kompatiblität erreichen.

Alles was ich wissen möchte ist welche der beiden Protokolle diese Aufgabe am Besten erfüllen kann.
 
T

tuxedo

Gast
CyD hat gesagt.:
@alex0801: Warum hast du denn SIMON entwickelt, obwohl RMI bereits da war?

Meiner Meinung nach schaden Alternativen nicht! Im Gegenteil: Sie machen einen Wettbewerb erst möglich.

SIMON hat eine komplett andere Zielgruppe als RMI. RMI wird häufig in UNternehmen, auch in Kombination mit JBOss und Co. eingesetzt.

Simon ziel auf Client-Server-Systeme ab, welche mit dem Internet problemlos zurecht kommen müssen. RMI ist hier gänzlich ungeeignet wenn man den Funktionsumfang auch nur zu einem Bruchteil ausschöpfen will.

Ich stehe nicht im "Wettbewerb" mit RMI. Genausowenig wie ein 7er BMW nicht mit einem Fiat 500 im Wettbewerb steht. Die Käuferschicht/Nutzerschicht ist eine ganz andere.

Alles was ich wissen möchte ist welche der beiden Protokolle diese Aufgabe am Besten erfüllen kann.
von den beiden von dir genannten: FTP

Aber wenn du einen "Augenblick" über das nachgedacht hättest was ich vorgeschlagen hab, so wäre dir CIFS als Protokoll aufgefallen. Im Vergleich zu einem Webbrowser als Client, hat die Windows-Dateifreigabe doch x-mal mehr Vorteile. FTP ist da, für diesen Anwendungszweck, in meinen Augen, eindeutig unterlegen.

- Alex
 

CyD

Mitglied
Achso... der Unterschied zwischen RMI und Simon war mir jetzt nicht ganz klar. Sorry.


BTT:
Ich denke ich werde dann doch FTP verwenden.

Weil es (meiner Meinung nach) leichter in mein bisheriges Programm integriert werden kann als SMB bzw CIFS.
Naja... mal sehen wie es sich entwickelt...
 

HoaX

Top Contributor
einen cifs server würde ich auch niemals in eine eigenen software einbauen. weil man sicherlich jeden benutzer damit überfordert wenn er vorher den entsprechenden windowsdienst beenden muss damit die ports frei werden du man verwenden _muss_

wenn es nur ums dateien hin und her scheiben geht würde ich auch zu ftp neigen.
 
T

tuxedo

Gast
Ihr stellt euch an ...

@CyD

CIFS in ein eigenes Java-Programm einbauen halte ich aucn nicht für sinnvoll. Wieso auch... Windows kann da sschon von Haus aus. Aber es wäre dennoch machbar. Schließlich gibts für CIFS eine passende Lib für Java.

Aber mal davon abgesehen:

Woher kommt die intention ein Programm zu basteln, das mehr oder weniger genau das macht was jedes aktuelle Betriebssystem von Haus aus kann und schon mehr oder weniger optimal aufbereitet dem Nutzer anbietet?
Das ist ja wie wenn ich einen Autotransporter habe und mir dann noch ein Auto kaufe, es auf den Hänger stelle, nur um meinen Beifahrer von A nach B zu kutschieren während er im Auto aufm Autotransporter sitzt.
Ist ja nicht so dass der Autotransporter nicht auch nen Beifahrersitz hat...

Naja, jedem das seine.

- Alex
 

HoaX

Top Contributor
das ist reines marketing ;)
man kann dann werben dass man komfortabel in einer s-klasse coufiert wird - in wirklichkeit ist es ein uralter ohne tüv vom schrottplatz. =)
 
T

tuxedo

Gast
So kann man's auch sehen. Ich seh da auch nichtmal einen Lerneffekt wenn man was bestehenden, funktionierendes in einer eigenen Anwendung nochmal umverpackt und seinen Namen drauf schreibt. Okay, vielleicht doch einen ... Nämlich den, dass man die Zeit dann doch besser in was anständiges investiert ;-)

Aber nun gut, wir wollen dem Threadstarter ja nicht alles ausreden oder unsere Meinung aufdrängen ;-)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F http Post auf einen Grafana Server Netzwerkprogrammierung 3
H Datei mit Anhang via http "hochladen" Netzwerkprogrammierung 16
S HTTP Post?!? - Java Server Netzwerkprogrammierung 7
R Anfängerbeispiel: Suche Java-Anwendung die http-Anfragen in Tomcat liest Netzwerkprogrammierung 8
O HTTP Wer hilft mit meinem UTF-8 http Request ? Netzwerkprogrammierung 1
G localhost im Backend https vs. http Netzwerkprogrammierung 9
J Simple HTTP Framework (basierend auf expressjs) Netzwerkprogrammierung 1
M HTTP Http requests aufzeichnen Netzwerkprogrammierung 2
J HTTP [Java 9] Neuer HTTP Client - Tutorial Netzwerkprogrammierung 3
J HTTP Befehl via HTTP senden ohne Browser öffnen Netzwerkprogrammierung 3
F HTTP HTTP Rest Client mit TLS1.2 und selbst signiertem Zertifikat Netzwerkprogrammierung 2
M http request and response Netzwerkprogrammierung 0
M Verbindungszeit berechnen (TCP, HTTP/1.0, HTTP/1.1) Netzwerkprogrammierung 2
P HTTP Bild von einem Server per http kopieren Netzwerkprogrammierung 1
U HTTP XML vom Server abholen oder http Abfragen, Entscheidung treffen Netzwerkprogrammierung 0
P HTTP Server / Client Netzwerkprogrammierung 1
S HTTP-Requeste von Browser mit Java sniffen? Netzwerkprogrammierung 9
E HTTP java.lang.IllegalArgumentException: protocol = http host = null Netzwerkprogrammierung 1
M Server mit HTTP Netzwerkprogrammierung 9
H Sockets oder HTTP- Methoden? Netzwerkprogrammierung 3
B Socket HTTP-Request führt zu Endlosschleife Netzwerkprogrammierung 5
D HTTP nochne frage zu http requests Netzwerkprogrammierung 6
D HTTP Bräuchte hilfe mit Http Requests Netzwerkprogrammierung 6
K HTTP Eigener Http Response für Datei-Download Netzwerkprogrammierung 4
D Server Client Verbindung - Unexpected End of File - Invalid HTTP Response Netzwerkprogrammierung 4
F HTTP HTTP-Download: Dateien in einem Verzeichnis ermitteln Netzwerkprogrammierung 8
T HTTP Einen HTTP Server erstellen Netzwerkprogrammierung 20
N Problem über http eine Datei zu senden Netzwerkprogrammierung 4
Dit_ HTTP Einfache HTTP-Anfrage Netzwerkprogrammierung 6
nrg FileUpload HTTP POST Netzwerkprogrammierung 5
T Socket Java HTTP-Proxy Netzwerkprogrammierung 3
A HTTP Zugriff auf http-Server - Error 400 Netzwerkprogrammierung 11
B HTTP JSESSIONID in Http(s)URLConnection loswerden! Netzwerkprogrammierung 13
E Socket HTTP-Server Netzwerkprogrammierung 6
C HTTP POST Connect Netzwerkprogrammierung 9
D HTTP Java HTTP Kommunikation Netzwerkprogrammierung 9
R HTTP Apache HTTP Client: Request mit angehängter Datei Netzwerkprogrammierung 2
O Http request Netzwerkprogrammierung 7
Tobse HTTP ServerSocket HTTP Netzwerkprogrammierung 4
I HTTP Datei Uploaden mit http und Sprache anpassen Netzwerkprogrammierung 7
I Socket HTTP Nachrichten über Sockets verschicken Netzwerkprogrammierung 2
N Http Client Netzwerkprogrammierung 3
W Asynchroner HTTP Client / non-blocking I/O Netzwerkprogrammierung 2
R HTTP Problem bei Authentifizierung über (Http)UrlConnection Netzwerkprogrammierung 2
L Body eines http Request auslesen Netzwerkprogrammierung 2
T HTTP Encoding von Http-Streams Netzwerkprogrammierung 2
K Ende eines HTTP Response/Request Netzwerkprogrammierung 6
D http request Netzwerkprogrammierung 11
C HTTP Studienarbeit Kommunikation via HTTP mit POST zwischen Server und Client Netzwerkprogrammierung 7
Kr0e Simpler HTTP Stream server Test Netzwerkprogrammierung 3
K HTTP-Anfrage an einen Server wird nicht beantwortet Netzwerkprogrammierung 3
J org.apache.http.auth.NTCredentials Netzwerkprogrammierung 2
W Problem mit HTTP-Dateiübertragung Netzwerkprogrammierung 6
A org.apache.commons http client in Netbeans einbinden Netzwerkprogrammierung 3
G Http Client mit Redirect Enabled Netzwerkprogrammierung 2
M Http POST liefert kryptischen Content Netzwerkprogrammierung 4
G Sockets und HTTP: Ende des Datenempfangs erkennen Netzwerkprogrammierung 3
B Wie HTTP GET/POST Anfrage versenden? Netzwerkprogrammierung 7
R HTTP Server Memory Leak? Netzwerkprogrammierung 6
G HTTP-Request InputStream-Problem Netzwerkprogrammierung 5
K optimale HTTP Downloads Netzwerkprogrammierung 15
G auf http-request antworten. Netzwerkprogrammierung 3
I http sniffer gesucht Netzwerkprogrammierung 10
G Socket + HTTP Header Netzwerkprogrammierung 2
R HTTP ServerThread Netzwerkprogrammierung 4
J HTTP GET? Netzwerkprogrammierung 6
M HTTP-Response extrem fragmentiert Netzwerkprogrammierung 4
W HTTP-Upload Netzwerkprogrammierung 2
M HTTP response code: 401 ; ?aber im browser ist es abrufbar? Netzwerkprogrammierung 5
L Java HTTP Request Netzwerkprogrammierung 3
O Axis2 erstellt HTTP/1.1 anstatt HTTP/1.0 Netzwerkprogrammierung 3
B Fehler 401 bei http GET Netzwerkprogrammierung 2
S HTTP Request erstellen Netzwerkprogrammierung 2
E upload progress bei einem http file post Netzwerkprogrammierung 5
B lange Strings in http-Request? Netzwerkprogrammierung 3
K http-download Netzwerkprogrammierung 12
M erst POST dann Http-Request über URLConnection Netzwerkprogrammierung 3
I Apache http-client: Problem beim Proxyaufruf Netzwerkprogrammierung 2
m@nu Ende von Stream bei HTTP-Request Netzwerkprogrammierung 3
M RMI over HTTP Netzwerkprogrammierung 5
M HTTP Requests verarbeiten und Response senden mit Java Netzwerkprogrammierung 14
G HTTP Response mit Transfer-Encoding:chunked einlesen Netzwerkprogrammierung 4
D HTTP Request erstellen (Form Name übergeben!) Netzwerkprogrammierung 3
J Java Programm für Upload von Dateien per HTTP Netzwerkprogrammierung 7
L http kommunikation mit und ohne multipart Netzwerkprogrammierung 4
L file upload / download über http Netzwerkprogrammierung 5
G HTTP Client :: Komme nicht über den Proxy Netzwerkprogrammierung 7
P Easy Http Request Netzwerkprogrammierung 9
B non US-ASCII Dateinamen über HTTP? Netzwerkprogrammierung 2
N Dateigröße einer Datei auf einem HTTP-/Web-Server. Netzwerkprogrammierung 9
P File von http-Server kopieren Netzwerkprogrammierung 5
G unvollständige Daten: Http Client-Server-Kommunikation Netzwerkprogrammierung 2
G http 1.1 socket? Netzwerkprogrammierung 3
J HTTP-POST-Request mit Anhang über Socket Netzwerkprogrammierung 2
S http Server selber schreiben Netzwerkprogrammierung 5
S Suche API für einfachen HTTP-Zugriff. Netzwerkprogrammierung 17
Z HTTP Request Netzwerkprogrammierung 3
A http request per socket an apache server Netzwerkprogrammierung 5
M Ein HTTP-request aus Java heraus senden Netzwerkprogrammierung 3
N Download HTTP .php-Seite mit Anmeldung Netzwerkprogrammierung 5

Ähnliche Java Themen

Neue Themen


Oben