Per il trasferimento di file, ftp ha prestazioni migliori di http?


Risposte:


7

Rubato da eHow, link in basso

Vantaggi e svantaggi di HTTP

I caricamenti HTTP forniscono un metodo incredibilmente semplice per caricare file su un server, con una conoscenza minima dei trasferimenti di file. Anche scaricare un file è incredibilmente facile. Tuttavia, gli svantaggi risiedono nella mancanza di energia di HTTP quando si tratta di caricare file. Inoltre, un programmatore deve disporre delle conoscenze necessarie per creare il modulo in HTML, al fine di caricare il file in questione. Ciò è particolarmente vero se il file è per un social network simile a Myspace o Facebook che stanno creando.

Vantaggi e svantaggi dell'FTP

L'uso di un server FTP offre vantaggi propri. Per uno, un utente può utilizzare un programma per eseguire un caricamento di massa su un server, senza doversi preoccupare di dover ripetere la ricerca di file e ricaricarli nuovamente utilizzando un modulo. I download possono anche essere eseguiti in massa. Sfortunatamente, un server FTP richiede ancora un client FTP da usare e l'uso di uno sarebbe particolarmente complicato per coloro che volevano solo caricare una o due foto.

differenze

In definitiva, i trasferimenti di file FTP e HTTP hanno scopi completamente diversi. Lo scopo del trasferimento di file FTP è più o meno per la manutenzione del sito Web e i caricamenti in batch, mentre HTTP è per il lavoro da parte del cliente e per gli utenti finali di caricare cose come film, immagini e altri file sul server. Spesso, un programmatore utilizzerà FTP per caricare i file che consentono a un utente finale di caricare file anche tramite HTML / HTTP.

Per saperne di più: HTTP vs. Trasferimento file FTP | eHow.com http://www.ehow.com/about_5435784_http-vs-ftp-file-transfer.html#ixzz0wlUSkVIY


4
Si tratta principalmente di vantaggi / svantaggi durante il caricamento . Non è questa la domanda.
sleske,

@sleske: concordato. Ho ridimensionato la risposta di Nifle.
indimenticabileidSupportaMonica

8

In generale, le risposte generali sulle prestazioni di rete di un protocollo sono molto difficili, poiché le prestazioni dipendono molto dalla configurazione di rete specifica, spesso più che dal protocollo utilizzato.

Detto questo, non conosco alcun motivo per cui il throughput di dati di http e ftp dovrebbe essere diverso. Entrambi fondamentalmente inviano i dati su un flusso TCP, quindi il processo di trasferimento dei dati è lo stesso. Quindi, no, in generale la velocità di download dovrebbe essere la stessa per ftp e http.

L'http è di solito preferito per altri motivi: funziona meglio con i firewall (può essere sottoposto a proxy), consente il riavvio dei download interrotti e può fornire il tipo di supporto insieme al download (MIME), è più facile da crittografare (TLS / SSL) , eccetera...


1
http non consente download interrotti, sei sicuro di non voler dire ftp? ftp può essere anche proxy e criptato. I download HTTP sono preferiti solo perché non richiede che nessuno installi un client ftp (o un server per il fornitore di contenuti)
Nifle

1
Sì, intendo http. http ti consente di riprendere un download (usando l'intestazione "Range:"). Sono corretto su FTP, tuttavia: consente anche di riprendere i download.
sleske,

Per quanto riguarda il proxy / la crittografia: Sì, FTP può farlo, ma è apparentemente più complicato e, soprattutto, meno diffuso, mentre il supporto per proxy HTTP e TLS è praticamente universale.
sleske,

E btw, il download ftp di solito non richiede l'installazione di un client ftp, poiché la maggior parte dei browser può scaricare da ftp (usando un URL ftp: //). Tuttavia, la maggior parte dei browser non può essere caricata tramite ftp.
sleske,

3

Per me una delle più grandi insidie ​​dell'FTP è la sua incapacità di riutilizzare i socket. FTP ha 3 modalità di trasferimento, Stream, Block e Compressed, tuttavia il supporto per gli ultimi due non è comune. Nella modalità predefinita e più utilizzata (Stream), i dati vengono sostanzialmente trasferiti come un flusso non elaborato di byte e poiché non ha metadati su quando è finito con quel file, deve chiudere la connessione al termine. Ciò significa che se si trasferiscono 100.000 file tramite FTP, si aprono e chiudono 100.000 connessioni TCP. Se ciò non fosse abbastanza grave quando una di queste connessioni è chiusa, deve essere messa in stato TIME_WAIT per un periodo di tempo. Il ritardo predefinito per il riutilizzo di quella porta su Windows è 240 secondi (4 minuti). Per finire, hai solo fino a 5.000 porte da usare per impostazione predefinita. Questo rende FTP un incubo per il trasferimento di grandi quantità di piccoli file. Modificando il registro è possibile ottenere il ritardo di recupero a 30 secondi e aumentare le porte massime dell'utente a circa 65.000, il che aiuterà molto ma non è affatto l'ideale.

HTTP invece può riutilizzare lo stesso socket per il trasferimento di più file. Quindi, se hai molti file (soprattutto file più piccoli), allora HTTP sarebbe la scelta migliore senza dubbio.

Se stai facendo solo pochi file di grandi dimensioni, non importa quanto protocollo usi. Penso che FTP venga in mente solo quando le persone pensano di trasferire file, ma ciò non significa che sia meglio.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.