Вы можете взглянуть на заголовок HTTP Range. Клиент может запросить диапазон байтов, а сервер вернет только эти байты. Используйте сжатие GZIP.
У вас может быть действие, которое вы вызываете от клиента, который предоставит индекс с байтовыми диапазонами до запроса части журнала.
С заголовками HTTP связано много накладных расходов, поэтому вы можете рассмотреть возможность отправки 100 строк за раз или более.
Наконец, рассмотрим кодирование передачи по частям, которое позволит вам передавать данные клиенту.