Ostatnio dużo czytałem o mechanizmach buforujących i zadałem sobie to samo pytanie. Mogę wymyślić tylko przypadek użycia (oprócz wspomnianych Leonid), gdzie byłoby sens przechowywać i wysyłać wiele ETags
: gdy ressource wycofuje.
Może to być przypadkowe, takie jak api, który obsługuje json, a podstawowe dane są często aktualizowane, w sposób, w jaki zostanie przywrócony do poprzedniej wersji.
Ale może też być według projektu, gdzie duży obiekt konfiguracyjny miałby tylko kilka różnych wersji, które można by bardzo często przełączać. (Częstotliwość, z jaką zostanie zmieniona, jest ważna, w przeciwnym razie buforowanie nie przyniesie dużej wartości).W takim przypadku pamięci podręczne będą zadowolone, że wszystkie dostępne wersje będą zawsze gotowe do wyświetlenia.
Wiem, że to długa szansa i nie mogę wymyślić żadnej realnej sytuacji, która pasowałaby do jednego z nich. Poza tym, rewalidacja i tak ssać, trafienia w pamięci podręcznej są drogą do zrobienia =)
Możesz również przeczytać this. Wygląda na to, że wszystkie pamięci podręczne przechowują tylko ostatni wysłany ETag
(co jest zrozumiałe z oczywistych względów związanych z pamięcią).
Nadzieja to pomaga
Można odwołać się do [RFC 7230] (https://tools.ietf.org/html/rfc7230) ff. 2616 jest już od jakiegoś czasu przestarzały. Problem nadal istnieje. Przyjrzę się temu później, brzmi interesująco :) – DaSourcerer
Prawo nietoperza: Możliwe, że schematy wersjonowania, takie jak te używane przez WebDAV, wymagają tego. – DaSourcerer