عامل کاربر
عاملِ کاربر یا نمایندهٔ کاربر (به انگلیسی: User Agent) در کامپیوتر به نرمافزاری گفته میشود که به نمایندگی از طرف کاربر عمل میکند. برای مثال یک نرمافزار مرورگر وب (مانند فایرفاکس) یک عامل کاربر در فضای وب محسوب میشود.
در اکثر موارد، عاملِ کاربر نقش کارخواه (کلاینت) در مدل کارخواه-کارساز (کلاینت-سرور) را ایفا میکند. به طور خاص پروتکل انتقال ابرمتن (HTTP) نرمافزار کلاینت را از طریق سرآیندِ (به انگلیسی: Header) عامل کاربر (User Agent) شناسایی میکند.
تشخیص عامل کاربر
به طور معمول هنگامی که یک نرمافزارِ عامل در یک پروتکل تحت شبکه فعالیت میکند، هویتِ خود شامل سیستم عامل، شرکت تولید کننده و نسخه را به وسیلهٔ ارسال یک رشته مشخص میکند. در پروتکلهای HTTP، SIP و SMTP/NNTP[1] این هویت در سرآیندی با عنوان عامل کاربر (User Agent) ارسال میشود. رباتهای اینترنتی مانند خزندگان وب معمولاً یک نشانی وب یا پست الکترونیک نیز معرفی میکنند تا بتوان با گردانندهٔ آنها تماس برقرار کرد.
مسئلهٔ حریم خصوصی
همانند بسیاری از سرآیندهای دیگر پروتکل انتقال ابرمتن، سرآیند عامل کاربر نیز اطلاعاتی را از کاربر برای سرور ارسال میکند. این اطلاعات با توجه به یکتا بودن برای کاربران مختلف میتوانند موجب تهدید حریم خصوصی و دنبال کردن کاربر در فضای وب شود.[2]
ساختار
ساختار کامل رشتهٔ عامل کاربر در متن تعریف پروتکل انتقال ابرمتن (RFC 2616) در بخش ۱۴٫۴۳ آمده است. این رشته حاوی نشانههای مربوط به عامل کاربر است که هر کدام با توضیحات اضافی قابل همراهی است. ترتیب این نشانهها باید براساس اهمیت در شناسایی عامل کاربر باشد. برای مثال اگر ما از مرورگری به اسم WikiBrowser استفاده نماییم، رشتهٔ عامل کاربر چیزی مانند "WikiBrowser/1.0 Gecko/1.0" خواهد بود. این رشته از ۲ نشانهٔ اصلی تشکیل شده است:
- نام عامل کاربر به همراه نسخهٔ آن (WikiBrowser/1.0)
- موتور چیدمان (موتور مرورگر) به همراه نسخهٔ آن (Gecko/1.0)
در سالهای اولیهٔ گسترش مرورگرهای وب که تحت عنوان جنگ مرورگرها شناخته میشود، وب سرورها صفحات کامل را فقط برای مرورگرهایی ارسال میکردند که محصول شرکت موزیلا میبودند و نسخهٔ ساده صفحات برای دیگر مرورگرها مانند موزاییک (Mosaic)، سلو (Cello) و سامبا (Samba) ارسال میشد.
به همین دلیل از آن پس مرورگرها خود را به این صورت در عامل کاربر معرفی میکنند: (از راست به چپ خوانده شود)
- Mozilla/[نسخه] ([اطلاعات مربوط به سیستم و مرورگر]) [پلتفرم سیستم] ([جزییات پلتفرم]) [افزونهها]
برای مثال نسخه ۱۰ مرورگر اینترنت اکسپلورر که بر روی سیستم عامل ویندوز ۷ نصب شده باشد، خود را این گونه معرفی میکند:
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)
جعل عامل کاربر
گسترش و محبوبیت مرورگرهای وب در دورههای مختلف تاریخ وب متفاوت بوده است. همین امر سبب شده تا وبسایتها یا صفحاتی طراحی شوند که به جای پیروی از استانداردهای کنسرسیوم وب جهانشمول (W3C) یا گروه ضربت مهندسی اینترنت (IETF)، فقط از استانداردهای مرورگری خاص پیروی کنند. این وبسایتها حاوی کدهایی هستند که مرورگر را تشخیص داده و براساس مرورگر تشخیص داده شده، نسخهای متفاوت به کاربر ارائه میدهند و در بعضی موارد حتی استفاده از یک مرورگر خاص را اجبار میکنند.[3] این امر موجب شده تا بسیاری از مرورگرها قابلیتهایی برای مخفی کردن یا جعل خود داشته باشند. برای مثال مرورگر سیستم عامل اندروید، در مواردی خودش را به جای سفری جا میزند تا بتواند وبسایت را کامل داشته باشد.[4]
نرمافزارهای مدیریت دانلود، مرورگرهای آفلاین نیز عموماً امکاناتی برای تغییر رشتهٔ عامل کاربر دارند.
رباتهای اسپمِ و نرمافزارهای استخراج اطلاعات از وب معمولاً هویت خود را جعل میکنند.
مسئلهٔ جعلِ عاملِ کاربر میتواند باعث شود که بسیاری از آمارهای مربوط به میزان استفاده از مرورگرهای وب دقیق نباشد.
جستارهای وابسته
منابع
- مشارکتکنندگان ویکیپدیا. «User Agent». در دانشنامهٔ ویکیپدیای انگلیسی، بازبینیشده در ۹ اردیبهشت ۱۳۹۲.
- «پروتکل SIP - RFC 5536». IETF.
- Peter Eckersley (ژانویه ۲۰۱۰). «نسخه مرورگرها به طور میانگین حاوی ۱۰٫۵ بیت اطلاعات لو دهنده است». Electronic Frontier Foundation.
- «کمپین حمایت از تمامی مرورگرها».
- «عوامل کاربر مورد استفاده مرورگر سیستم عامل اندروید». بایگانیشده از اصلی در ۴ مه ۲۰۱۲.