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.