معرفی ماژول ngx_http_browser_module در Nginx
ماژول ngx_http_browser_module در Nginx یک ماژول کاربردی است که به ما این امکان را میدهد تا با تشخیص نوع مرورگر، تنظیمات خاصی برای پاسخ به درخواستهای HTTP انجام دهیم. به عبارت سادهتر، این ماژول میفهمد که کاربر با چه نوع مرورگری به سمت سرور شما آمده و بنا بر آن تصمیم میگیرد که چه نوع محتوایی را برگرداند.
در این ماژول، از متغیر modern_browser_value استفاده میشود که مشخص میکند آیا مرورگر مدرن است یا خیر. این قابلیت به ما کمک میکند تا در صورت نیاز، محتوای متفاوتی برای مرورگرهای قدیمی و جدید ارسال کنیم. مثلاً میتوانیم از CSS و JavaScriptهای جدید در مرورگرهای مدرن استفاده کنیم و در عوض برای مرورگرهای قدیمیتر محتوای سادهتری ارائه دهیم.
قبل از استفاده از این ماژول، مهم است که در مورد چگونگی تنظیم آن در پیکربندی Nginx اطلاعات کافی داشته باشید. در اینجا ما نحوه استفاده از متغیر modern_browser_value را بررسی میکنیم و یک مثال از آن ارائه میدهیم. همچنین، اهمیت استفاده از چنین ماژولهایی را در بهبود تجربه کاربری و بهینهسازی عملکرد وبسایت بررسی خواهیم کرد.
اجازه دهید با یک مثال ساده از نحوه پیکربندی و استفاده از modern_browser_value شروع کنیم. این مثال به شما نشان میدهد که چگونه میتوانید با استفاده از Nginx، رفتار خاصی برای مرورگرهای مختلف تنظیم کنید.
map $http_user_agent $modern_browser_value {
~*Chrome 1;
~*Firefox 1;
~*Safari 1;
default 0;
}
server {
listen 80;
location / {
if ($modern_browser_value) {
return 200 "مرورگر مدرن شناسایی شده است";
}
return 200 "مرورگر قدیمی شناسایی شده است";
}
}
توضیح کد
کد:
map $http_user_agent $modern_browser_value {...
در این بخش، ما از دستور
map
استفاده میکنیم تا متغیر $modern_browser_value
را بر اساس نوع مرورگر کاربر تنظیم کنیم.کد:
~*Chrome 1;
این خط مشخص میکند که اگر مرورگر Chrome شناسایی شود، مقدار 1 به
$modern_browser_value
اختصاص داده خواهد شد.کد:
default 0;
اگر هیچ یک از شرایط بالا برآورده نشود، مقدار پیش فرض 0 به متغیر تخصیص مییابد که به معنای شناسایی مرورگر قدیمی است.
کد:
if ($modern_browser_value) {...
در این بخش، با استفاده از
if
، بررسی میکنیم که آیا مرورگر مدرن شناسایی شده است یا خیر.کد:
return 200 "مرورگر مدرن شناسایی شده است";
اگر مرورگر مدرن باشد، یک پیام مبنی بر شناسایی مرورگر مدرن به کاربر ارسال میشود.
کد:
return 200 "مرورگر قدیمی شناسایی شده است";
اگر مرورگر قدیمی باشد، پیام متفاوتی به کاربر بازگشت داده میشود.