Welcome! Log In Create A New Profile

Advanced

Re: Патч ETags в NixOS

Anonymous User
November 25, 2023 04:58AM
Здравствуйте, Максим.

Вариант использования полного пути в URI выглядит не очень удобно.

Второй вариант с использованием `$realpath_root` работает, но
как сделать так, чтобы генерировался хэш от значения `$realpath_root`,
в противном случае отображается для всех полный путь к файлу, не
думаю, что такой вариант не безопасен:
add_header ETag $realpath_root;

К тому же это надо дополнительно везде прописывать add_header,
пользователь легко может упустить в конфигурации места, где надо
его изменить.

Судя по коду в src/http/ngx_http_core_module.c для генерации ETag
используется только время модификации файла и его размер. А вот
путь до файл не учитывается.
Как можно попробовать добавить возможность учитывать полный путь до
файла для проверки? Может подойдёт такой вариант:
ETag = путь к файлу + размер файла + время модификации файла.

Если подойдёт, тогда всё будет работать автоматически.

Вы писали 25 ноября 2023 г., 3:59:57:

> Hello!

> On Tue, Nov 21, 2023 at 09:53:16PM +0300, izorkin@gmail.com wrote:

> Если размера для идентификации версии файла недостаточно, то
> ожидаемо нужны другие идентификаторы. В классических файловых
> системах таким идентификатором выступает время модификации файла.

> В /nix/store, как я понимаю, идея состоит в том, что время
> модификации не нужно, потому что файлы в рамках конкретного пути
> не меняются. Решением, целиком повторяющим эту идею, будет
> использование полного пути из /nix/store в URI, тогда всё будет
> работать так, как ожидают создатели /nix/store.

> Если же хочется выкинуть из URI полный путь, то наверное имеет
> смысл думать в сторону возможности установки ETag'а из переменных
> (сейчас его можно поменять в ответе клиенту, но это происходит
> после проверок If-Modified-Since / If-None-Match, и выставленное
> значение не используется самим nginx'ом). Тогда можно будет
> поставить и использовать произвольный ETag, основываясь, например,
> на переменной $realpath_root - то есть сделать штатными средствами
> примерно то же, что пытались накостылить авторы соответствующего
> патча в NixOS.


--
С уважением,
Izorkin mailto:izorkin@gmail.com
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
https://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Патч ETags в NixOS

Anonymous User November 19, 2023 08:16AM

Re: Патч ETags в NixOS

Maxim Dounin November 19, 2023 09:58PM

Re: Патч ETags в NixOS

Anonymous User November 21, 2023 01:54PM

Re: Патч ETags в NixOS

Maxim Dounin November 24, 2023 08:02PM

Re: Патч ETags в NixOS

Anonymous User November 25, 2023 04:58AM

Re: Патч ETags в NixOS

Anonymous User January 07, 2024 01:58AM

Re: Патч ETags в NixOS

Maxim Dounin January 08, 2024 09:28PM

Re: Патч ETags в NixOS

Anonymous User January 12, 2024 02:36PM

Re: Патч ETags в NixOS

Maxim Dounin January 12, 2024 07:30PM

Re: Патч ETags в NixOS

Anonymous User January 13, 2024 02:36AM

Re: Патч ETags в NixOS

Maxim Dounin January 13, 2024 08:22AM

Re: Патч ETags в NixOS

Anonymous User January 13, 2024 10:02AM

Re: Патч ETags в NixOS

Maxim Dounin January 15, 2024 12:24PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 246
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready