ETag یا entity tag یک نوع HTTP Header استاندارد و اختیاری است که توسط مرورگر ها و وب سرور ها شناسایی می شود و به مرورگر ها در cache کردن بهینه resource های (مانند تصاویر، فایل های جاوااسکریپت و ...) کمک می کند.
یک سناریو ساده استفاده از ETag بصورت زیر است که وقتی یک مرورگر یک resource را از سرور درخواست می کند (برای مثال یک فایل جاوااسکریپت)، سرور یک ETag HTTP Header در پاسخ HTTP فرستاده شده به مرورگر می گذارد:
ETag: "686897696a7c876b7e"
مرورگر می تواند بر مبنای ETag دریافتی resource را cache کند و اگر دوباره خواست آن resource را از سرور بگیرد یک هدر If-None-Match در درخواست HTTP خود بصورت زیر بفرستد:
If-None-Match: "686897696a7c876b7e"
حالا سرور چک می کند اگر ETag این resource تغییری نکرده بود HTTP 304 Not Modified status برای مرورگر بر می گرداند و اگر تغییر کرده بود فایل جدید را با هدر ETag با مقدار جدید برای مرورگر بر می گرداند.
این کار باعث مصرف پهنای باند کمتر و بالا رفتن سرعت لود resource ها می شود.