Re: Битые файлы в кеше при gzip ответах
Maxim Dounin
mdounin на mdounin.ru
Ср Авг 14 13:25:39 UTC 2019
Hello!
On Wed, Aug 14, 2019 at 08:43:39AM -0400, Vladislavik wrote:
> Ничего не генерится, файлы лежат на диске, созданы один раз и записаны на
> диск. Nginx должен сжать его на лету и отдать, вот, что от него требуется,
> он это выполняет, но иногда в кэше браузера/клаудфлера лежит обрезанный
Что лежит в кэшах браузера и клаудфлера - вопрос к браузеру и
клаудфлеру соответственно. Исходный вопрос был про proxy cache -
что лежит в нём, когда наблюдается проблема?
> файл, например половина его (уже разжатый, тупо не весь, не хватает куска
> кода в конце файла) возникает ли ошибка при разжатии я не знаю, видно
> только, что файл читаемый, но код не полный, чаще только половина его) я так
> понял, что в процессе передачи или упаковки возникает какая-то проблема и
> nginx принимает файл от другого nginx/браузера без проверки его на
> целостность...Размеры файлов не более 20кб.
> Вопрос такой: возможно ли распаковать архив, если он получен не полностью?
> (Тк тест в js файла читаемый, но файл состоит только из половины того, что
> должно быть)
Распаковать - возможно. При распаковке будет известно, полностью
получен ответ или нет - по наличию/отсутствию gzip trailer'а (8
байт с CRC32 и размером несжатого ответа). Что делает с этой
информацией конкретный распаковщик - тайна сия великая есть, да и
не важно. Смотреть надо строго на то, что лежит в кэше nginx'а,
см. выше.
--
Maxim Dounin
http://mdounin.ru/
Подробная информация о списке рассылки nginx-ru