Вы также можете использовать заголовок HTTP RANGE, чтобы загрузить только то, что вам нужно.
Было бы очень просто создать HttpRangeStream, который поддерживает поиск и чтение на удаленном HTTP-ресурсе, если удаленный сервер HTTP 1.1 и правильно поддерживает заголовки RANGE.