2009-01-20 23 views
16

Agregado: Estoy realizando un estudio para un nuevo sistema que vamos a desarrollar en mi trabajo. Consiste en autenticar usuarios, mostrar qué archivos desean descargar y descargarlos. Además, si los archivos no están disponibles, el usuario no puede descargarlos, pero el servidor obtiene una copia del archivo solicitado y notifica al usuario por correo cuando puede obtener el archivo. Esperamos que los archivos tengan un tamaño típico de 2 a 50 gigabytes, por ahora.¿Cuál es el tamaño máximo de archivo que puedo transferir usando HTTP? Y usando FTP?

Solo quiero comprobar si es posible escribir una aplicación web para resolver el problema o si necesitamos hacer una solución cliente-servidor.

Respuesta

20

No hay un máximo. Cualquier máximo que encuentre es específico de la aplicación o específico del sitio.

He descargado isos de DVD de Microsoft usando HTTP y FTP sin problemas (~ 4 gb).

También he cargado archivos enormes a través de ambos métodos.

¿Puede explicar lo que está tratando de hacer?

+5

Encontramos esto en los años 90 cuando la descarga de un archivo tomó días;) +1 – Kezzer

+1

Por lo tanto, depende del servidor y el navegador, ¿verdad? Leí aquí (http://stackoverflow.com/questions/35248/large-file-download) que IExplorer se detiene a 4 gb. –

+0

Sí, es todo el navegador/servidor específico. Sí: IE tiene un límite de 4 GB –

1

La carga en HTTP es generalmente limitada ya que el servidor tiene que esperar hasta que la carga (en su mayoría lenta) finalice para responder a la solicitud.

+0

Para no colgar recursos en el servidor por mucho tiempo, ¿verdad? –

2

No hay tal limitación por diseño en los protocolos que usted dice. Solo tiempos de espera en servidores concretos

+0

¿Ambos tienen soporte integrado para reanudar las descargas? –

1

Y una pregunta importante: ¿la vas a cargar o descargar?

Podría decir que la descarga tiene significativamente menos limitaciones que la carga. No sé por qué. Tal vez porque el propósito principal de HTTP y FTP es enviar datos, no recibirlos.

Es por eso que los servidores HTTP/FTP podrían interrumpir la sesión de carga con más frecuencia en lugar de descargar la sesión.

+1

La capacidad de carga grande o ilimitada podría generar ataques de denegación de servicio a medida que el atacante llena su sistema de archivos de carga. –

+0

Las cargas se controlarán en mi aplicación. Mi interés son las descargas por ahora. Es una preocupación de seguridad muy válida limitar las cargas, si, por supuesto, eso está definido en el servidor. Limitar al cliente es ridículo, en mi humilde opinión. –

17

Como ya se ha contestado, el protocolo no tiene limitaciones, pero la mayoría de HTTP servidores tienen límites de subida predeterminada fuera de la caja:

IIS6 utiliza MaxRequestEntityAllowed (por defecto es de 4 GB) y AspMaxRequestEntityAllowed (por defecto es 200000 bytes) en metabase.xml.

IIS7 utiliza maxRequestEntityAllowed: ** appcmd set config/section: asp/maxRequestEntityAllowed: *** int * (por defecto es 200000 bytes)

Apache utiliza LimitRequestBody (por defecto es de 2 GB)

+0

La carga está limitada en la mayoría de los servidores; sin embargo, aún no he visto un límite de tamaño de descarga. – Piskvor

1

Dado que el tamaño de una transferencia probablemente se indique cerca del comienzo, apostaría que el límite del tamaño de su archivo es el mismo que el límite para un entero sin signo. A juzgar por el período de tiempo en que HTTP y FTP se volvieron populares y útiles, yo diría que es un entero sin signo de 32 bits, por lo que 2^32 Bytes, o 4.0 GiB.

Cuestiones relacionadas