Cuando tengo opciones de http y ftp (como la página de descarga de Hadoop ), ¿debería preferir ftp?
He intentado ftp antes y no noté ninguna diferencia significativa. ¿Se supone que funciona mejor?
Cuando tengo opciones de http y ftp (como la página de descarga de Hadoop ), ¿debería preferir ftp?
He intentado ftp antes y no noté ninguna diferencia significativa. ¿Se supone que funciona mejor?
Respuestas:
Robado de eHow, enlace en la parte inferior
Ventajas y desventajas de HTTP
Las cargas HTTP proporcionan un método increíblemente simple para cargar archivos a un servidor, con un conocimiento mínimo sobre las transferencias de archivos. Descargar un archivo también es increíblemente fácil. Sin embargo, las desventajas radican en la falta de potencia de HTTP cuando se trata de cargar archivos. Además, un programador necesita tener los conocimientos necesarios para crear el formulario en HTML, a fin de cargar el archivo en cuestión. Esto es especialmente cierto si el archivo es para una red social similar a Myspace o Facebook que están creando.
Ventajas y desventajas de FTP
El uso de un servidor FTP ofrece ventajas propias. Por un lado, un usuario puede usar un programa para realizar una carga masiva a un servidor, sin tener que preocuparse por tener que volver a buscar archivos repetidamente y volver a cargarlos usando un formulario. Las descargas también se pueden hacer en masa también. Desafortunadamente, un servidor FTP todavía requiere un cliente FTP para usar, y el uso de uno sería particularmente engorroso para aquellos que solo querían cargar una o dos fotos.
Las diferencias
En última instancia, las transferencias de archivos FTP y HTTP tienen propósitos completamente diferentes. El propósito de la transferencia de archivos de FTP es más o menos para el mantenimiento del sitio web y las cargas por lotes, mientras que HTTP es para el trabajo del cliente final y para que los usuarios finales carguen cosas como películas, imágenes y otros archivos en el servidor. Muchas veces, un programador usará FTP para cargar los archivos que permiten que un usuario final también cargue archivos a través de HTML / HTTP.
Leer más: HTTP vs. Transferencia de archivos FTP | eHow.com http://www.ehow.com/about_5435784_http-vs-ftp-file-transfer.html#ixzz0wlUSkVIY
En general, las respuestas generales sobre el rendimiento de la red de un protocolo son muy difíciles, porque el rendimiento depende en gran medida de la configuración específica de la red, a menudo más que del protocolo utilizado.
Dicho esto, no sé de ninguna razón por la cual el rendimiento de datos de http y ftp debería ser diferente. Básicamente, ambos solo envían datos a través de un flujo TCP, por lo que el proceso de transferencia de datos real es el mismo. Entonces, no, en general las velocidades de descarga deberían ser las mismas para ftp y http.
Por lo general, se prefiere http por otras razones: funciona mejor con firewalls (puede ser proxy), permite reiniciar descargas interrumpidas y puede proporcionar el tipo de medio junto con la descarga (MIME), es más fácil de encriptar (TLS / SSL) , etc ...
Para mí, una de las mayores dificultades de FTP es su incapacidad para reutilizar sockets. FTP tiene 3 modos de transferencia, Stream, Block y Compressed, sin embargo, el soporte para los dos últimos no es común. En el modo predeterminado y más utilizado (Stream), los datos se transfieren básicamente como un flujo de bytes sin procesar y, dado que no tiene metadatos sobre cuándo se termina con ese archivo, debe CERRAR la conexión cuando se hace. Esto significa que si transfiere 100,000 archivos a través de FTP, está abriendo y cerrando 100,000 conexiones TCP. Si eso no fue lo suficientemente malo cuando una de estas conexiones está cerrada, debe ponerse en un estado TIME_WAIT por un período de tiempo. El retraso predeterminado para que ese puerto se reutilice en Windows es 240 segundos (4 minutos). Para colmo, solo tiene hasta 5,000 puertos para usar de forma predeterminada. Esto hace que FTP sea una pesadilla para transferir grandes cantidades de archivos pequeños. Al ajustar el registro, puede obtener el retraso de enfriamiento a 30 segundos y aumentar los puertos de usuario máximos a aproximadamente 65,000, lo que ayudará mucho, pero de ninguna manera es ideal.
HTTP, por otro lado, puede reutilizar el mismo socket para transferir múltiples archivos. Entonces, si tiene muchos archivos (especialmente archivos más pequeños), HTTP sería la mejor opción sin lugar a dudas.
Si está haciendo solo unos pocos archivos grandes, entonces no importaría tanto qué protocolo use. Creo que FTP solo viene a la mente cuando la gente piensa en transferir archivos, pero eso ciertamente no significa que sea mejor en eso.