در دنیای شبکه و وب، پروتکل HTTP یکی از ستونهای اصلی ارتباطات بین سرور و کلاینت است. یکی از مفاهیم کلیدی در HTTP، سرایندها (headers) هستند که اطلاعات خاصی را درباره درخواستها و پاسخها فراهم میکنند. در این میان، هدر Referer
یکی از هدرهای مهم است که توسط مرورگر ارسال میشود. این هدر به سرور مقصد میگوید درخواست از کدام صفحه منبع (Referrer) آمده است.
استفاده از هدر Referer
برای تحلیل رفتار کاربران در سایتها بسیار کاربردی است. با کمک این هدر میتوانید بفهمید کاربر از کدام صفحه به شما مراجعه کرده است، که میتواند در بهینهسازی سایت و بهبود تجربهی کاربری بسیار مفید باشد. البته در نظر داشته باشید که برخی مرورگرها و افزونهها برای حفاظت از حریم خصوصی کاربران، این هدر را تغییر داده یا حذف میکنند.
ممکن است بپرسید چرا نام این هدر به شکل «Referer» نوشته شده است در حالی که به نظر میرسد در املای آن خطایی وجود دارد. جالب است بدانید این موضوع به یک خطای تایپی در نسخههای اولیه پروتکل بازمیگردد که به مرور به یک استاندارد بدل شد.
موضوع دیگری که باید در نظر بگیرید، امنیت استفاده از هدر Referer
است. این هدر ممکن است در مواردی باعث درز اطلاعات حساس شود. برای مثال، اگر اطلاعات حساس بهطور ناخواسته در URL قرار گرفته باشد، هدر Referer
این اطلاعات را به سایت مقصد منتقل خواهد کرد.
نمونه کد هدایت Referer
GET /path/to/resource HTTP/1.1
Host: example.com
Referer: https://www.origin.com/source-page
...
توضیح خط به خط کد
GET /path/to/resource HTTP/1.1
در این خط، نوع درخواست HTTP مشخص میشود، که در این مورد از نوع GET است. کلاینت قصد دارد به یک منبع مشخص به آدرس داده شده دسترسی پیدا کند.
Host: example.com
این خط نشان میدهد که درخواست برای دامنه example.com ارسال شده است.
Referer: https://www.origin.com/source-page
این هدر به سرور مقصد اعلام میکند که درخواست از کدام صفحه منبع آمده است و در این مثال صفحه مبدا، صفحهای در دامنه origin.com است.
...