Como posso ativar a solicitação de intervalo de bytes?

4

Como posso ativar a solicitação de intervalo de bytes? Enquanto o podcast é lançado no iTunes, é exibida uma mensagem de erro "Há um problema com seu feed. Seus episódios são hospedados em um servidor que não oferece suporte a solicitações de intervalo de bytes. Ative as solicitações de intervalo de bytes e tente seu envio novamente". br> Por favor, me dê um método para ativar o pedido de intervalo de bytes

    
por praji 13.06.2012 / 11:52

2 respostas

5

O Apache lida com isso para conteúdo estático. Se o conteúdo está sendo gerado pelo PHP, então você precisará alterar seu código PHP de acordo.

Supostamente, o link () e link () funções manipulam solicitações de intervalo - mas não tenho certeza do que isso significa na prática - alguma experimentação é necessária .

    
por 13.06.2012 / 12:04
3

O Apache suporta a opção Byte-Range fora da caixa - assumindo que ele não tenha sido explicitamente desabilitado para contornar este bug DoS ( link ).

Você pode testar com algo trivial como o seguinte (em PHP):

<?php
$range = '60-120';
$host = "my.domain.name";
$socket = fsockopen($host,80);
$packet = "GET /path/to/static/file.xml HTTP/1.1\r\nHost: $host\r\nRange:bytes=$range\r\nAccept-Encoding: gzip\r\nConnection: close\r\n\r\n";
fwrite($socket,$packet);
echo fread($socket,2048);

A execução do acima, deve resultar em algo como o seguinte:

HTTP/1.1 206 Partial Content
Date: Tue, 10 Jul 2012 11:17:55 GMT
Server: Apache
Last-Modified: Tue, 10 Jul 2012 10:12:23 GMT
Accept-Ranges: bytes
Content-Length: 61
Content-Range: bytes 60-120/6433
Connection: close
Content-Type: text/xml

tp://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">
<ch

Se o acima não funcionar, é provável que alguém tenha desativado o cabeçalho Range - veja o URL acima para sugestões sobre o que procurar em arquivos .htaccess ou na configuração global do Apache.

    
por 10.07.2012 / 13:25