ما هو وكيل مستخدم المستعرض؟
يرسل متصفحك وكيل المستخدم إلى كل موقع ويب تتصل به. لقد كتبنا عن تغيير وكيل مستخدم المتصفح من قبل - ولكن ما هو وكيل المستخدم على وجه التحديد ، على أي حال?
وكيل المستخدم هو "سلسلة" - أي سطر من النص - يحدد المتصفح ونظام التشغيل إلى خادم الويب. هذا يبدو بسيطا ، ولكن وكلاء المستخدم أصبحوا فوضى مع مرور الوقت.
أساسيات
عندما يتصل المستعرض بموقع ويب ، فإنه يتضمن حقل User-Agent في رأس HTTP الخاص به. تختلف محتويات حقل وكيل المستخدم من متصفح إلى متصفح. يحتوي كل متصفح على وكيل مستخدم مميز خاص به. أساسا ، وكيل المستخدم هو وسيلة لمتصفح ليقول "مرحبا ، أنا موزيلا فايرفوكس على ويندوز" أو "مرحبا ، أنا سفاري على iPhone" لخادم الويب.
يمكن لخادم الويب استخدام هذه المعلومات لعرض صفحات ويب مختلفة على مستعرضات ويب مختلفة وأنظمة تشغيل مختلفة. على سبيل المثال ، يمكن لموقع ويب إرسال صفحات الجوال إلى متصفحات الجوال ، وصفحات حديثة إلى متصفحات حديثة ، ورسالة "الرجاء تحديث متصفحك" إلى Internet Explorer 6.
فحص وكلاء المستخدم
على سبيل المثال ، هنا وكيل مستخدم Firefox على Windows 7:
Mozilla / 5.0 (Windows NT 6.1 ؛ WOW64 ؛ rv: 12.0) Gecko / 20100101 Firefox / 12.0
يخبر وكيل المستخدم هذا خادم الويب قليلاً: نظام التشغيل هو Windows 7 (الاسم الرمزي Windows NT 6.1) ، وهو إصدار 64 بت من Windows (WOW64) ، والمتصفح نفسه هو Firefox 12.
لنلقِ نظرة الآن على وكيل مستخدم Internet Explorer 9 ، وهو:
Mozilla / 5.0 (متوافق ؛ MSIE 9.0 ؛ Windows NT 6.1 ؛ WOW64 ؛ Trident / 5.0)
تحدد سلسلة وكيل المستخدم المتصفح على أنه IE 9 مع محرك عرض Trident 5. ومع ذلك ، قد تكتشف شيئًا محيرًا - تعرف IE نفسها على أنها موزيلا.
سوف نعود إلى ذلك في دقيقة واحدة. أولاً ، دعنا نفحص وكيل مستخدم Google Chrome أيضًا:
Mozilla / 5.0 (Windows NT 6.1 ؛ WOW64) AppleWebKit / 536.5 (KHTML ، مثل Gecko) Chrome / 19.0.1084.52 Safari / 536.5
تتكاثف المؤامرة: يتظاهر Chrome بأنه موزيلا وسفاري على حد سواء. لفهم السبب ، سيتعين علينا فحص سجل وكلاء المستخدم والمتصفحات.
وكيل المستخدم سلسلة الفوضى
كان الفسيفساء أحد المتصفحات الأولى. كانت سلسلة وكيل المستخدم هي NCSA_Mosaic / 2.0. في وقت لاحق ، جاء موزيلا (أعيد تسميته لاحقا Netscape) ، وكان وكيل المستخدم موزيلا / 1.0. كان Mozilla متصفحًا أكثر تقدمًا من Mosaic - على وجه الخصوص ، كان يدعم الإطارات. فحص خوادم الويب لمعرفة أن وكيل المستخدم يحتوي على كلمة Mozilla وأرسل صفحات تحتوي على إطارات إلى متصفحات Mozilla. بالنسبة إلى المتصفحات الأخرى ، أرسلت خوادم الويب الصفحات القديمة بدون إطارات.
في النهاية ، جاء برنامج Microsoft Internet Explorer مع دعم الإطارات أيضًا. ومع ذلك ، لم يتلقى IE صفحات الويب ذات الإطارات ، لأن خوادم الويب أرسلت تلك إلى مستعرضات Mozilla. لإصلاح هذه المشكلة ، أضافت Microsoft كلمة Mozilla إلى وكيل المستخدم الخاص بها وألقت معلومات إضافية (كلمة "متوافق" ومرجع إلى IE.) كانت خوادم الويب سعيدة برؤية كلمة Mozilla وأرسلت IE صفحات الويب الحديثة. المتصفحات الأخرى التي جاءت في وقت لاحق فعلت الشيء نفسه.
في النهاية ، بحثت بعض الخوادم عن كلمة Gecko - محرك تقديم فيرفكس - وقدمت مستعرضات Gecko صفحات مختلفة عن المتصفحات القديمة. KHTML - وضعت أصلا ل Konquerer على سطح المكتب KDE لينكس - وأضاف الكلمات "مثل جيكو" حتى يتمكنوا من الحصول على الصفحات الحديثة المصممة ل Gecko ، أيضا. اعتمد WebKit على KHTML - عندما تم تطويره ، قاموا بإضافة كلمة WebKit وحافظوا على الخط الأصلي "KHTML ، مثل Gecko" لأغراض التوافق. بهذه الطريقة ، استمر مطورو المتصفح بإضافة كلمات إلى وكلاء المستخدمين لديهم على مدار الوقت.
لا تهتم خوادم الويب فعليًا بما تمثله سلسلة وكيل المستخدم بالضبط - فهي تتحقق فقط لمعرفة ما إذا كانت تحتوي على كلمة محددة أم لا.
الاستخدامات
تستخدم خوادم الويب وكلاء المستخدم لمجموعة متنوعة من الأغراض ، بما في ذلك:
- تقديم صفحات الويب المختلفة إلى متصفحات الويب المختلفة. يمكن استخدام هذا للأفضل - على سبيل المثال ، لعرض صفحات ويب أبسط للمتصفحات القديمة - أو الشر - على سبيل المثال ، لعرض رسالة "يجب أن يتم عرض صفحة الويب هذه في Internet Explorer".
- عرض محتوى مختلف لأنظمة تشغيل مختلفة - على سبيل المثال ، عن طريق عرض صفحة مقللة على أجهزة الجوال.
- جمع إحصائيات تبين المتصفحات وأنظمة التشغيل المستخدمة من قبل المستخدمين. إذا رأيت في أي وقت مضى إحصائيات مشاركة السوق للمتصفح ، فهذا هو كيفية الحصول عليها.
تستخدم برامج تتبع ارتباطات الويب وكلاء المستخدمين أيضًا. على سبيل المثال ، يعرّف برنامج زاحف الويب من Google نفسه على النحو التالي:
Googlebot / 2.1 (+ http: //www.google.com/bot.html)
يمكن لخوادم الويب أن تعطي العلاجات الخاصة - على سبيل المثال ، عن طريق السماح لها من خلال شاشات التسجيل الإلزامية. (نعم ، هذا يعني أنه يمكنك أحيانًا تجاوز شاشات التسجيل من خلال تعيين وكيل المستخدم إلى Googlebot.)
يمكن لخوادم الويب أيضًا تقديم طلبات لبرامج معينة (أو جميع برامج التتبع) باستخدام ملف robots.txt. على سبيل المثال ، يمكن لخادم الويب إخبار برنامج تتبع محدد ، أو إخبار برنامج روبوت آخر بفهرسة مناطق معينة فقط من موقع الويب. في ملف robots.txt ، يتم تحديد برامج التتبع بواسطة سلاسل وكيل المستخدم الخاصة بهم.
تحتوي جميع المتصفحات الرئيسية على طرق لتعيين وكلاء مستخدم مخصصين ، بحيث يمكنك مشاهدة خوادم الويب التي ترسلها إلى متصفحات مختلفة. على سبيل المثال ، قم بتعيين متصفح سطح المكتب الخاص بك إلى سلسلة وكيل المستخدم لمتصفح الجوال وستظهر لك إصدارات الجوال لصفحات الويب على سطح المكتب.