Но сжатые файлы невозможно прочитать до получения всех данных, не так ли?
Это (как правило) неверно.Сжатие на основе сжатия (например, gzip, brotli), используемое для файлов HTML, может быть распаковано без получения всех данных.
Они работают в основном с помощью обратных ссылок на данные.Например, в приведенном выше предложении есть повторяющаяся ссылка на текст «compress»:
Deflate based compress ion (например, gzip, brotli) может быть de compress редактируется без получения всех данных.
Таким образом, второй экземпляр можно заменить обратной ссылкой на первый:
Сжатие на основе сжатия (например, gzip, brotli)) можно удалить (-49,8) без получения всех данных.
Таким образом, вы можете видеть это, пока вы читаете по порядку (что гарантирует HTTP) и с самого начала, тогдавам не нужны никакие последующие данные для распаковки того, что вы уже получили, - но вам нужен любой предыдущий текст.
Аналогичным образом JPEG часто отображаются до того, как они полностью получены, либо загружая их построчно (не прогрессивные JPEG) или с размытым изображением, которое усиливается при загрузке большего количества данных (прогрессивные JPEG).