HandyCache форум

Главная категория => Новые предложения => Тема начата: olDjeka от 28 апреля 2014, 15:45:29



Название: Оригинальный размер (до сжатия) исходного файла в кэше
Отправлено: olDjeka от 28 апреля 2014, 15:45:29
Одни и те же данные могут отдаваться как в оринальном, так и в сжатом виде. Например, такое может происходить при получении данных через онлайн-прокси (включая анонимные, "китайские" и TOR), также это может зависеть от получаемых сервером данных (IP, User-Agent, Referer, Accept-Language).
В случаях когда файл уже имеется в кэше в сжатом виде, а получение происходит в оринальном (не сжатом), то расширение "Не обновлять файлы по размеру" не может работать полноценно.
Предлагаю дополнить функцию "get_cache_file_content_type" третьим значением:
если значение "Content-Encoding" возвращает значение gzip, то третьим значением возвращается ISIZE (оригинальный размер исходного файла).
Для получения этого значения достаточно прочитать последние четыре байта сжатых данных и конвертировать их из HEX в десятичную систему счичления. (http://www.ietf.org/rfc/rfc1952.txt)
Это позволит в расширении "Не обновлять файлы по размеру" сравнивать размер сжатого файла из кэша и оригинальный размер получаемого не сжатого файла.


Название: Re: Оригинальный размер (до сжатия) исходного файла в кэше
Отправлено: mai62 от 29 апреля 2014, 00:13:38
Это увеличит нагрузку на процессор и диск. Данные будут читаться из файла даже, если они не нужны.


Название: Оригинальный размер (до сжатия) исходного файла в кэше
Отправлено: olDjeka от 29 апреля 2014, 01:11:16
Предложенный вариант имел целью показать что функция востребована и может быть добавлена в уже имеющуюся. Если же смотреть с такой стороны, то наверное можно добавить и новую функцию, типа "get_cache_file_ISIZE".