Re: Патч ETags в NixOS
izorkin на gmail.com
izorkin на gmail.com
Сб Янв 13 15:01:26 UTC 2024
Добрый день, Максим.
Вы писали 13 января 2024 г., 16:21:12:
> Именно об этом и тикет, да. Мне тоже вариант с файлами кажется
> более интересным - с extended-атрибутами, возможно, код будет чуть
> проще и, вероятно, быстрее, в силу меньшего количества необходимых
> системных вызовов, но там сразу возникает масса проблем как с
> портабельностью, так и с хранением/синхронизацией (e.g., в том же
> nix store они могут просто не работать).
Имеется в виду синхронизация дополнительных файлов между основным
и кэширующим сервером? Мне кажется, что если основной сервер
предоставит необходимый ETags, тогда синхронизация не потребуется.
Мне предполагается такой вариант, что надо добавить дополнительный
параметр, при включении которого в блоке location Nginx начинает искать
дополнительные файлы по расширению (например .crc) при запросе основного
файла. Если доп. файл отсутствует, то использовать существующую логику
работы с ETags, а если есть - применить на основе доп. файла.
При активном параметре и отсутствии дополнительного файла выводить в
лог предупреждение, чтобы пользователь самостоятельно добавил
необходимые файлы.
А при отключенном параметре вообще игнорировать дополнительные файлы
с crc или ETags.
Можно ещё добавить параметры, которые позволяют указать расширение
для дополнительных файлов и метод использования этих файлов - на основе
hash-суммы (crc, md5, sha и т.п.), либо прямое указание ETags. Но с
последним вариантом мне кажется может возникнуть проблемы, например,
если пользователь обновит основной файл, а дополнительный забудет.
--
С уважением,
Izorkin mailto:izorkin на gmail.com
Подробная информация о списке рассылки nginx-ru