Re: Патч ETags в NixOS

izorkin на gmail.com izorkin на gmail.com
Вт Ноя 21 18:53:16 UTC 2023


Здравствуйте, Maxim.

Да, этот патч, забыл указать ссылку.
Проверил без патча и добавлением строки `add_header Last-Modified "";`
В ответе генерируется ETag: "1-4e", "1-75" и т.д. Если после изменения
содержимого файла без изменения размера, то при запросе отдаётся файл
из кеша, т.к. при этом ETag не изменяется. А если размер файла меняется,
кеш обновляется.
Вариант с использованием хеадера Last-Modified не подходит, может надо
как-то учитывать путь к файлу для генерации ETag.

Вы писали 20 ноября 2023 г., 5:57:08:

> Hello!

> On Sun, Nov 19, 2023 at 04:15:42PM +0300, izorkin на gmail.com wrote:

> Если я правильно понимаю, речь про вот этот патч:

> https://github.com/NixOS/nixpkgs/blob/nixos-23.05/pkgs/servers/http/nginx/nix-etag-1.15.4.patch

> Патч выглядит, скажем так, непригодным для включения куда-либо.

> Если для задачи достаточно не выдавать пользователю Last-Modified, 
> а выдавать только ETag (этого, вероятно, будет достаточно как 
> минимум если в URI виден полный путь из /nix/store, включающий 
> hash, а также в остальных случаях, если на размер можно полагаться для 
> идентификации файлов), то просто убрать Last-Modified из ответов 
> можно стандартным механизмом add_header 
> (http://nginx.org/r/add_header):

>     add_header Last-Modified "";

> Соответственно у ответов будет только ETag, сформированный 
> nginx'ом из даты модификации файла (0 в случае /nix/store) и 
> размера файла.


-- 
С уважением,
 Izorkin                          mailto:izorkin на gmail.com


Подробная информация о списке рассылки nginx-ru