В Интернете есть множество статей, в которых подробно рассказывается, почему вы можете не хотите использовать для ETags стандартный формат inode-mtime-size Apache (см., например, Вот или Вот). Во всех подобных статьях рекомендуется одно и то же: удалять inodes из ваших ETags.
Но мне еще предстоит прочитать что-либо о том, что могло бы мотивировать включение inode для Apache в первую очередь. На первый взгляд, это кажется полезным только в том случае, если нужно иметь возможность различать факсимиле «октет за октетом» одного и того же ресурса, но это, несомненно, противоречит самой цели ETags.
Авторы Apache не известны своим небрежным отношением к Интернет-стандартам, поэтому я чувствую, что что-то упускаю. Кто-нибудь может уточнить?
Я ожидаю, что это будет различать ресурсы одинакового размера и с одинаковым mtime, но на самом деле это не один и тот же файл. Это было бы легко сделать - скажем, у вас есть два файла с разным содержимым, но одинакового размера (не так уж сложно) и одного и того же mtime (сложнее, но если вы скопировали дерево каталогов откуда-то еще, все еще не сложно), a
и b
, и вы обслуживаете a
через Apache. Сейчас mv b a
и пока индекс изменяется на a
, размер и время - нет - и вы наверху без inode.