Znaczniki ET są alternatywą (ale mogą być używane w połączeniu z) „Last-Modified-Time” w celu ustalenia sprawdzania poprawności pamięci podręcznej.
Klient może wysłać warunek wstępny, taki jak if-mecze lub if-none-mecze na podstawie ETag. Nie dotyczy to tylko GET (czyli tego, co robi webpagetest.org). Możesz użyć „aktualizacji oportunistycznej”, aby żądanie PUT miało warunek wstępny i nie wykonało operacji aktualizacji, jeśli zasób został zaktualizowany od czasu ETag ostatnio nabyte.
Mówiąc prościej: naciskasz edytuj na stronie w CMS, twój przyjaciel naciska edycję na stronie w CMS, przyjaciel wykonuje ich edycję i zapisuje, a na koniec zapisujesz - bez nagłówka HTTP ETag lub Content-MD5, którego potrzebujesz aby wymyślić koło na nowo, aby zapobiec występowaniu problemów (takich jak wycieranie zmian przez znajomych), rozwiązanie jest już częścią protokołu HTTP i dlatego warto po prostu z niego korzystać.
Zasadniczo zgadzam się z AOL (który prowadzi webpagetest.org) w sprawie ich „jednego rozmiaru dla wszystkich” - lepiej nie zapychać nagłówków HTTP za pomocą tajemniczych ciągów (znaczniki ET na ogół nie są ładne ani czytelne dla człowieka), gdy sekunda różnicy ( który może wykryć czas ostatniej modyfikacji) zrobi dla danego zadania.
Jeśli strona jest aktualizowana kilka razy na sekundę i absolutnie potrzebujesz najnowszej, najdokładniejszej wersji do wyświetlenia, możesz poeksperymentować z rozwiązaniami innymi niż HTTP GETs lub po prostu użyć ETagów.
Uważaj, aby twoje znaczniki ETag nie obejmowały systemu plików, zmiany konfiguracji serwera itp. (Takich jak i-węzły, które są domyślne w Apache), w przeciwnym razie wystąpią problemy, gdy będą dwa serwery (znaczniki ETag z każdego z nich nie będą pasować).