Qual é a diferença entre os arquivos que podem ser pausados para download e que não podem ser pausados?

5

Tecnicamente, qual é a diferença entre o modo de hospedagem (no servidor) de

  • um arquivo que pode ser pausado durante o download e retomado novamente e
  • um arquivo que precisa ser baixado de uma só vez?
por Lazer 12.08.2010 / 22:30

3 respostas

1

O servidor precisa suportar a capacidade de veicular conteúdo parcial e lidar com solicitações parciais. A maioria dos servidores web modernos é capaz de lidar com isso, a menos que você esteja usando algo que você construiu internamente.

Você pode obter mais informações lendo este documento Apache e os RFCs relevantes. Do documento vinculado - um exemplo de resposta.

HTTP/1.1 206 Partial Content
Date: Wed, 15 Nov 1995 06:25:24 GMT
Last-Modified: Wed, 15 Nov 1995 04:58:08 GMT
Content-type: multipart/byteranges; boundary=THIS_STRING_SEPARATES

--THIS_STRING_SEPARATES
Content-type: application/pdf
Content-range: bytes 500-999/8000

...the first range...
--THIS_STRING_SEPARATES
Content-type: application/pdf
Content-range: bytes 7000-7999/8000

...the second range
--THIS_STRING_SEPARATES--
    
por 13.08.2010 / 04:08
1

Um comum é a falta de um cabeçalho content-size ou content-range . Talvez o autor tenha esquecido de colocar um em seu script de download?

    
por 13.08.2010 / 01:11
0

Um download pode ser retomado se o servidor HTTP oferecer suporte a solicitações de recuperação de intervalo, conforme definido na Seção 14.35 do RFC 2616 , que A Wikipedia chama " serviço de bytes " por algum motivo estranho.

  1. O servidor envia Accept-Ranges: bytes em resposta a uma solicitação HEAD ou GET para indicar que ele suporta a veiculação de bytes.
  2. O cliente envia uma solicitação GET incluindo Range: bytes=aaa-bbb , em que o deslocamento inicial é aaa bytes após o início do arquivo e o comprimento do intervalo é bbb - aaa + 1 bytes.
  3. O servidor envia uma resposta de status 206 (conteúdo parcial) incluindo Content-range: bytes aaa-bbb/cccc , em que aaa-bbb é como antes e cccc é o tamanho do arquivo em bytes ou * se o servidor não puder determiná-lo, seguido por um corpo de resposta contendo o intervalo de bytes solicitado. Se o intervalo estiver fora dos limites, o servidor envia uma resposta de status 416 (intervalo solicitado não satisfatório).

Alguns players de vídeo usam solicitações de intervalo para oferecer suporte à pesquisa por meio de um vídeo. O contêiner de mídia Ogg usa a pesquisa de bissetriz interpolada para dar suporte a este caso de uso.

O software popular de servidor da Web pode ser configurado para atender a intervalos de arquivos estáticos, mas um script do lado do servidor que autentica o download pode ou não precisar lidar com os próprios intervalos. (Verifique o manual do seu idioma de script.) Algumas operadoras de servidores de download abrem para o público deliberadamente solicitando solicitações de intervalo porque vários gerenciadores de download usaram suporte para intervalos de conteúdo para fazer mais de uma solicitação a um servidor, monopolizando recursos que poderiam ser usados para fornecer downloads para outros usuários.

    
por 09.09.2015 / 20:52