0 امتیاز
قبل در برنامه نویسی توسط (1.1هزار امتیاز)

ETag HTTP Header در برنامه های تحت وب چه کاربردی دارد؟

1 پاسخ

0 امتیاز
قبل توسط (1.1هزار امتیاز)

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 ها می شود.

سوالات مشابه

0 امتیاز
1 پاسخ 1.8هزار بازدید
+1 امتیاز
3 پاسخ 67.7هزار بازدید
+1 امتیاز
1 پاسخ 1.9هزار بازدید
سوال شده 6 سال قبل در برنامه نویسی توسط HA (347 امتیاز)
0 امتیاز
1 پاسخ 371 بازدید
0 امتیاز
1 پاسخ 755 بازدید
0 امتیاز
1 پاسخ 343 بازدید
...