Para la transferencia de archivos, ¿ftp funciona mejor que http?


Respuestas:


7

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


44
Esto se trata principalmente de ventajas / desventajas al cargar . De eso no se trataba la pregunta.
sleske

@sleske: De acuerdo. He rechazado la respuesta de Nifle.
unforgettableidSupportsMonica

8

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 ...


1
http no permite descargas interrumpidas, ¿estás seguro de que no te refieres a ftp? ftp también puede ser proxy y cifrado. Las descargas HTTP se prefieren solo porque no requieren que nadie instale un cliente ftp (o un servidor para el proveedor de contenido)
Nifle

1
Sí, me refiero a http. http le permite reanudar una descarga (utilizando el encabezado "Rango:"). Sin embargo, estoy corregido en cuanto a FTP: también permite reanudar descargas.
sleske

En cuanto a proxy / cifrado: Sí, FTP puede hacer esto, pero aparentemente es más complicado y, lo que es más importante, menos extendido, mientras que el soporte para proxy HTTP y TLS es prácticamente universal.
sleske

Y por cierto, la descarga de ftp generalmente no requiere la instalación de un cliente de ftp, ya que la mayoría de los navegadores pueden descargar por ftp (usando un ftp: // URL). Sin embargo, la mayoría de los navegadores no pueden cargar por ftp.
sleske

3

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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.