ETags là một thay thế cho (nhưng có thể được sử dụng kết hợp với) "Thời gian sửa đổi lần cuối" để xác định xác thực bộ đệm.
Khách hàng có thể gửi một điều kiện trước như if-trận đấu hoặc if-none-khớp dựa trên ETag. Đây không chỉ dành cho các yêu cầu GET (đó là những gì webpagetest.org làm) mà bạn có thể sử dụng "cập nhật cơ hội" để yêu cầu PUT có điều kiện trước và sẽ không thực hiện thao tác cập nhật nếu tài nguyên đã được cập nhật kể từ khi ETag được cuối cùng có được.
Nói một cách đơn giản: bạn nhấn chỉnh sửa trên một trang trong CMS của bạn, bạn bè của bạn nhấn chỉnh sửa trên một trang trong CMS của bạn, bạn của bạn thực hiện chỉnh sửa và lưu lần truy cập và cuối cùng bạn nhấn lưu - không cần tiêu đề HTTP ETag hoặc Content-MD5 bạn cần để phát minh lại bánh xe để ngăn chặn các sự cố xảy ra (chẳng hạn như bạn xóa sạch các thay đổi của bạn bè), giải pháp đã là một phần của giao thức HTTP và do đó, thật hợp lý khi chỉ sử dụng nó.
Nói chung, tôi đồng ý với AOL (người điều hành webpagetest.org) về lời khuyên "một kích thước phù hợp với tất cả" của họ - tốt hơn là không làm tắc nghẽn các tiêu đề HTTP bằng chuỗi mật mã (ETags thường không đẹp hoặc có thể đọc được) khi khác biệt ( mà Thời gian sửa đổi lần cuối có thể phát hiện) sẽ thực hiện cho công việc trong tay.
Nếu một trang đang được cập nhật nhiều lần trong một giây và bạn hoàn toàn cần phiên bản chính xác nhất mới nhất được hiển thị, bạn có thể muốn thử nghiệm các giải pháp khác ngoài HTTP GET hoặc chỉ sử dụng ETags.
Hãy cẩn thận rằng các ETags của bạn không bao gồm mỗi hệ thống tệp, mỗi thay đổi cấu hình máy chủ, v.v. (chẳng hạn như các nút được mặc định trên Apache) nếu không bạn sẽ gặp sự cố khi có hai máy chủ (các ETags từ mỗi máy chủ sẽ không khớp).