Pergunta

Adicionado : Estou realizando um estudo para um novo sistema que vamos desenvolver no meu trabalho. Ele consiste em autenticar usuários, mostrando quais arquivos que deseja baixar e baixá-los. Além disso, se os arquivos não estão prontamente disponíveis, o usuário não pode baixá-los, mas o servidor obtém uma cópia do arquivo solicitado e notifica o usuário por e-mail quando ele pode obter o arquivo. Esperamos que os arquivos sejam tipicamente de 2 a 50 gigabytes de tamanho, por agora.

Eu só quero verificar se é possível escrever um aplicativo da Web para resolver o problema ou se temos de fazer uma solução cliente-servidor.

Foi útil?

Solução

Não há máximo. Qualquer máximo que você está encontrando é aplicação específica ou específica site.

Eu fiz o download isos DVD da Microsoft utilizando HTTP e FTP sem problema (~ 4GB).

Eu também fez upload de grandes arquivos via ambos os métodos.

Você pode elaborar sobre o que você está tentando fazer?

Outras dicas

Como já respondeu, o protocolo não tem limitações, mas a maioria HTTP servidores ter limites de upload padrão out-of-the-box:

IIS6 usos MaxRequestEntityAllowed (o padrão é 4 GB) e AspMaxRequestEntityAllowed (o padrão é 200000 bytes) em metabase. xml .

IIS7 usa MaxRequestEntityAllowed : ** appcmd set config / section: asp / MaxRequestEntityAllowed: *** int * (o padrão é 200000 bytes)

O Apache usa LimitRequestBody (o padrão é 2 GB)

Não há tal limitação por-design em protocolos que você disse. Somente o tempo limite em servidores concretos

O upload em HTTP é geralmente limitado como o servidor tem que esperar até o (principalmente lento) de upload está acabado para responder ao pedido.

E uma questão importante -? Você vai fazer o upload ou download

Eu poderia dizer que o download tem significativamente menos limitações que upload. Eu não sei por quê. Talvez porque o propósito principal de HTTP e FTP está enviando dados, não recebendo.

É por isso que HTTP / FTP servidores poderiam quebrar sessão de carregamento com mais frequência em vez de baixar sessão.

Uma vez que o tamanho da transferência é, provavelmente, afirmou perto do começo, eu apostaria o limite do seu tamanho do arquivo é o mesmo que o limite para um inteiro sem sinal. A julgar pelo período de tempo em HTTP e FTP se tornou popular e útil, eu diria que é um bits 32 inteiro sem sinal, então 2 ^ 32 bytes, ou 4.0 GiB .

Para o protocolo TCP, você tem número de seqüência de 0 a 2 ^ 32-1. Suponha pior caso, quando você aumenta seqüência de 1 para cada byte. Agora o tamanho máximo do arquivo é de 4 GB. E você tem uma conexão de 1 Gbps. Todos acabamento sequência em 4s que é envolvente tempo. Se TTL é maior do que o envoltório em torno do tempo para que possamos seqüência não reutilização de modo tamanho máximo do arquivo é de 4 GB.

Mas a magia está em Opções TCP, em opções que podemos adicionar um timestamp. Agora Problema resolvido, mesmo se chegarmos com a mesma fonte e mesmo destino número mesma sequência, mas temos timestamp diferente de identificar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top