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