Biraz farklıdırlar - ETag, istemcinin gelecekte bu dosya için yeniden istekte bulunup bulunmayacağını belirlemek için kullanabileceği herhangi bir bilgiye sahip değildir. ETag sahip olduğu her zaman bir istekte bulunacaktır. Ancak, sunucu ETag'ı istemci isteğinden okuduğunda, sunucu dosyayı (HTTP 200) gönderip göndermeyeceğini veya istemciye yerel kopyalarını (HTTP 304) kullanmasını söyleyebilir. Bir ETag, temel olarak dosyanın içeriği değiştiğinde anlamsal olarak değişen bir dosyanın sağlama toplamıdır.
Expires üstbilgisi, istemci (ve proxy'ler / önbellekler) tarafından sunucuya hiç istekte bulunup bulunmayacağını belirlemek için kullanılır. Sona erme tarihine ne kadar yakın olursanız, istemcinin (veya proxy) sunucudan o dosya için bir HTTP isteği yapma olasılığı o kadar yüksektir.
Gerçekten yapmak istediğiniz şey İKİ başlık kullanmaktır - Expires başlığını içeriğin ne sıklıkta değiştiğine bağlı olarak makul bir değere ayarlayın. Ardından ETag'leri gönderilecek şekilde yapılandırın, böylece istemciler sunucuya bir istek gönderdiğinde, dosyanın geri gönderilip gönderilmeyeceğini daha kolay belirleyebilir.
ETag hakkında son bir not - Apache çalıştıran birden fazla makine ile yük dengeli bir sunucu kurulumu kullanıyorsanız, muhtemelen ETag üretimini kapatmak isteyeceksiniz. Bunun nedeni, inotların sunucular arasında farklı olacak ETag karma algoritmasının bir parçası olarak kullanılmasıdır. Apache'yi hesaplamaların bir parçası olarak inodes kullanmayacak şekilde yapılandırabilirsiniz, ancak daha sonra tüm sunucular için aynı ETag'ın oluşturulduğundan emin olmak için dosyalardaki zaman damgalarının tamamen aynı olduğundan emin olmak istersiniz.