на range requestы без окончания можно отвечать любым количеством байт, которое сервер считает нужным(не уверен что это по стандарту но браузеры кушают). например, делать такой же ответ на "bytes=0-" как на запрос "bytes=0-1048576"
Я так и делаю. Только браузер (chrom) игнорирует всячески, если только явно не указать типа end=start+1000000 "bytes=start-end/file.length". Но в этом случае он может дать два запроса, получить 1 000к и замолчать, хотя файл 10 000к и хедеры ему content-length:chunk=end-start+1 accept-ranges:bytes и пр.
Смотрю Гугл вроде бы Рэнджь цепляет параметром к строке запроса, но в респонзе получает другое количество байтов. Как?