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