ETags - це альтернатива (але може використовуватися в поєднанні з) "Last-Modified-Time" для визначення валідизації кешу.
Клієнт може надіслати попередню умову, як-от if-match або if-none-match на основі ETag. Це стосується не лише GET-запитів (як це робить webpagetest.org), ви можете використовувати "умовно-опунктивні оновлення", щоб запит PUT мав попередню умову і не буде виконувати операцію оновлення, якщо ресурс оновлювався з моменту ETag останній набутий.
Простіше кажучи: ви натискаєте на редагування сторінки вашої CMS, ваш друг натискає на редагування сторінки на вашій CMS, ваш друг виконує їх редагування і звернення зберегти, і, нарешті, ви натиснете зберегти - без заголовка ETag або Content-MD5 HTTP вам знадобиться щоб винайти колесо, щоб запобігти виникненню проблем (наприклад, ви стираєте зміни друзів), це рішення вже є частиною протоколу HTTP, і тому є сенс просто використовувати його.
Як правило, я погоджуюся з AOL (який керує webpagetest.org) щодо їх одноразового підходу - краще не забивати заголовки HTTP криптованими рядками (ETags, як правило, не симпатичні чи людські), коли секунда різниці ( який може виявити Last-Modified-Time) для роботи.
Якщо сторінка оновлюється кілька разів на секунду, і вам абсолютно потрібна остання найточніша версія для відображення, ви можете поекспериментувати з іншими рішеннями, ніж HTTP GET або просто використовувати ETags.
Будьте уважні, що ваші ETags не включають файлову систему, зміну конфігурації сервера тощо інформацію (наприклад, inode, який за умовчанням застосовується в Apache), інакше у вас виникнуть проблеми, коли є два сервери (ETags з кожного не збігаються).