Какова цель Apache для помещения inode в ETag?

В Интернете есть множество статей, в которых подробно объясняется, почему вы не хотите использовать стандартный формат Apode inode-mtime-size для ETags (см., Например, здесь или здесь). Все такие статьи рекомендуют одно и то же: удалите иноды из ваших ETag.

Но мне еще предстоит прочитать что-нибудь о том, что могло послужить причиной включения inode для Apache. На первый взгляд, это кажется полезным, только если нужно уметь различать факсимиле "октет для октета" одного и того же ресурса, но это, безусловно, противоречит самой цели ETags.

Авторы Apache не известны своей небрежной подачей интернет-стандартов, поэтому я чувствую, что что-то упустил. Кто-нибудь может уточнить?

1 ответ

Решение

Я ожидаю, что он должен различать ресурсы одинакового размера и одинакового времени mtime, но на самом деле они не совпадают. Это было бы легко сделать - скажем, у вас есть два файла с разным содержимым, но одинакового размера (не так сложно) и одинаковым mtime (хитрее, но если вы скопировали дерево каталогов откуда-то еще, но не сложно), a а также bи вы служите a через апач. Сейчас mv b a и пока индекс изменяется на a, размер и время - нет, и вы без ручья.

Другие вопросы по тегам