رأس User-Agent
في مجال الحوسبة ، يُعدّ رأس User-Agent أحد رؤوس HTTP المُخصصة لتحديد وكيل المستخدم المسؤول عن إرسال طلب HTTP مُحدد. بينما يُمثل تسلسل الأحرف User-Agentاسم الرأس نفسه، تُعرف قيمة الرأس التي يستخدمها وكيل المستخدم لتعريف نفسه باسم سلسلة وكيل المستخدم . يحتوي وكيل المستخدم الخاص بمشغل الحاسوب المُستخدم للوصول إلى الإنترنت على قواعد مُشفرة تُحدد كيفية التفاوض على دوره في عملية تبادل البيانات بين الطلب والاستجابة؛ وبالتالي، يلعب وكيل المستخدم دور العميل في نظام العميل والخادم . يُعتبر تحديد وتمييز البرامج التي تُسهّل جلسة الشبكة أمرًا بالغ الأهمية في الشبكات. لهذا السبب، يُستخدم رأس User-Agent لتعريف برنامج العميل للخادم المُستجيب.
استخدمها في طلبات العملاء
عندما يعمل برنامج وكيل ضمن بروتوكول شبكة، فإنه غالبًا ما يُعرّف نفسه، ونوع تطبيقه، ونظام تشغيله ، وطراز جهازه، ومُورّد برامجه، أو إصدار برنامجه، وذلك بإرسال سلسلة تعريف مميزة إلى نظيره المُشغّل. في بروتوكولات HTTP [ 1 ] وSIP [ 2 ] وNNTP [ 3 ] ، يُرسل هذا التعريف في حقل رأس يُسمى User-Agent . غالبًا ما تتضمن برامج الروبوت ، مثل برامج زحف الويب، عنوان URL و/أو عنوان بريد إلكتروني حتى يتمكن مدير الموقع من التواصل مع مُشغّل برنامج الروبوت.
في بروتوكول HTTP، يُستخدم "سلسلة وكيل المستخدم" غالبًا للتفاوض على المحتوى ، حيث يختار خادم المصدر المحتوى أو معلمات التشغيل المناسبة للاستجابة. على سبيل المثال، قد يستخدم خادم الويب سلسلة وكيل المستخدم لاختيار متغيرات بناءً على الإمكانيات المعروفة لإصدار معين من برنامج العميل. وقد تم تضمين مفهوم تخصيص المحتوى في معيار HTTP في RFC 1945 "بهدف تخصيص الاستجابات لتجنب قيود معينة لوكيل المستخدم".
تُعد سلسلة وكيل المستخدم أحد المعايير التي يمكن من خلالها استبعاد برامج زحف الويب من الوصول إلى أجزاء معينة من موقع الويب باستخدام معيار استبعاد الروبوتات ( ملف robots.txt ).
كما هو الحال مع العديد من رؤوس طلبات HTTP الأخرى، فإن المعلومات الموجودة في سلسلة وكيل المستخدم تساهم في المعلومات التي يرسلها العميل إلى الخادم، حيث يمكن أن تختلف السلسلة بشكل كبير من مستخدم لآخر. [ 4 ]
تنسيق لمتصفحات الويب التي يستخدمها البشر
يُحدد تنسيق سلسلة وكيل المستخدم حاليًا في القسم 10.1.5 من RFC 9110، دلالات HTTP . [ 5 ] يتكون تنسيق سلسلة وكيل المستخدم في HTTP من قائمة برموز المنتج (الكلمات المفتاحية) مع تعليقات اختيارية. على سبيل المثال، إذا كان اسم منتج المستخدم WikiBrowser، فقد تكون سلسلة وكيل المستخدم الخاصة به WikiBrowser/1.0 Gecko/1.0 . يُدرج مكون المنتج "الأهم" أولًا.
أجزاء هذه السلسلة هي كالتالي:
- اسم المنتج وإصداره ( WikiBrowser/1.0 )
- محرك التخطيط والإصدار ( Gecko/1.0 )
خلال حرب المتصفحات الأولى ، تمّت تهيئة العديد من خوادم الويب لإرسال صفحات الويب التي تتطلب ميزات متقدمة، بما في ذلك الإطارات ، إلى عملاء تمّ تحديدهم على أنهم يستخدمون إصدارًا معينًا من متصفح موزيلا فقط. [ 6 ] أما المتصفحات الأخرى ، مثل موزاييك وسيلو وسامبا ، فكانت تُعتبر منتجات قديمة، ويتم إرسال مستند HTML أساسي إليها.
لهذا السبب، تستخدم معظم متصفحات الويب قيمة سلسلة وكيل المستخدم على النحو التالي:
على سبيل المثال، استخدم متصفح سفاري على جهاز آيباد ما يلي:
Mozilla/5.0 (iPad; U; CPU OS 3_2_1 مثل Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML، مثل Gecko) Mobile/7B405
مكونات هذه السلسلة هي كما يلي:
- Mozilla/5.0 : كان يستخدم سابقًا للإشارة إلى التوافق مع محرك عرض Mozilla.
- (iPad; U; CPU OS 3_2_1 مثل Mac OS X; en-us) : تفاصيل النظام الذي يعمل عليه المتصفح.
- AppleWebKit/531.21.10 : النظام الأساسي الذي يستخدمه المتصفح.
- (KHTML، مثل Gecko) : تفاصيل منصة المتصفح.
- Mobile/7B405 : يستخدم المتصفح هذا الرمز للإشارة إلى تحسينات محددة متوفرة مباشرةً فيه أو عبر جهات خارجية. ومن الأمثلة على ذلك خدمة Microsoft Live Meeting التي تسجل امتدادًا لكي تعرف الخدمة ما إذا كان البرنامج مثبتًا بالفعل، مما يتيح لها توفير تجربة سلسة للانضمام إلى الاجتماعات.
قبل الانتقال إلى قاعدة بيانات Chromium ، كان متصفح Opera الأكثر استخدامًا بين متصفحات الويب التي لم تكن سلسلة وكيل المستخدم فيها تبدأ بـ "Mozilla" (بل كانت تبدأ بـ "Opera"). منذ 15 يوليو 2013، [ 7 ] أصبحت سلسلة وكيل المستخدم في Opera تبدأ بـ "Mozilla/5.0"، ولتجنب التعارض مع قواعد الخادم القديمة، لم تعد تتضمن كلمة "Opera" (بل تستخدم السلسلة "OPR" للدلالة على إصدار Opera).
تنسيق للوكلاء الآليين (الروبوتات)
يمكن لأدوات الزحف الآلي على الويب استخدام نموذج مبسط، حيث يُعد حقل معلومات الاتصال في حالة وجود مشاكل حقلاً مهماً. جرت العادة على تضمين كلمة "بوت" في اسم البرنامج. على سبيل المثال:
Googlebot/2.1 (+http://www.google.com/bot.html)من المتوقع أن تتبع البرامج الآلية القواعد الموجودة في ملف خاص يسمى " robots.txt ".
رموز قوة التشفير
كانت متصفحات الويب المُصممة في الولايات المتحدة، مثل نتسكيب نافيغيتور وإنترنت إكسبلورر ، تستخدم سابقًا الأحرف U وI وN لتحديد قوة التشفير في سلسلة وكيل المستخدم. وحتى عام 1996، عندما سمحت حكومة الولايات المتحدة بتصدير التشفير بمفاتيح أطول من 40 بت، كانت الشركات المُصنّعة تُصدر إصدارات مُختلفة من المتصفحات بقوى تشفير مُتباينة. يرمز الحرف "U" إلى "USA" (للإصدار ذي التشفير 128 بت)، ويرمز الحرف "I" إلى "International" ( للمتصفح ذي التشفير 40 بت والذي يُمكن استخدامه في أي مكان في العالم )، بينما يرمز الحرف "N" ( فعليًا ) إلى "None" (بدون تشفير). [ 8 ] بعد رفع قيود التصدير ، دعمت مُعظم الشركات المُصنّعة التشفير 256 بت.
انتحال وكيل المستخدم
تفاوتت شعبية متصفحات الويب المختلفة عبر تاريخ الإنترنت، وقد أثر ذلك على تصميم المواقع الإلكترونية، بحيث تُصمم بعضها لتعمل بكفاءة مع متصفحات محددة فقط، بدلاً من اتباع معايير موحدة من قِبل اتحاد شبكة الويب العالمية (W3C) أو فرقة عمل هندسة الإنترنت (IETF). غالبًا ما تتضمن المواقع الإلكترونية شيفرة برمجية للكشف عن إصدار المتصفح لتعديل تصميم الصفحة المُرسلة وفقًا لسلسلة وكيل المستخدم المُستلمة. قد يعني هذا عدم إرسال محتوى معقد إلى المتصفحات الأقل شيوعًا (حتى وإن كانت قادرة على التعامل معه بشكل صحيح)، أو في حالات نادرة، رفض جميع المحتويات. [ 9 ] لذا، تمتلك بعض المتصفحات ميزة لإخفاء هويتها أو تزييفها لفرض محتوى معين على الخادم. على سبيل المثال، يُعرّف متصفح أندرويد نفسه باسم سفاري (من بين أمور أخرى) لتعزيز التوافق. [ 10 ] [ 11 ]
غالباً ما تمتلك برامج عميل HTTP الأخرى، مثل برامج إدارة التنزيلات والمتصفحات غير المتصلة بالإنترنت ، القدرة على تغيير سلسلة وكيل المستخدم.
قد تكون نتيجة انتحال وكيل المستخدم هي أن الإحصائيات التي تم جمعها عن استخدام متصفح الويب غير دقيقة.
استنشاق وكيل المستخدم
يُعرف تجسس وكيل المستخدم بأنه ممارسة تقوم بها مواقع الويب لعرض محتوى مختلف أو مُعدّل عند عرضها باستخدام وكلاء مستخدمين مُحددين. ومن الأمثلة على ذلك ميزة Outlook Web Access في Microsoft Exchange Server 2003. فعند عرضها باستخدام Internet Explorer 6 أو أحدث، يتم عرض وظائف أكثر مقارنةً بعرض الصفحة نفسها في أي متصفح آخر. يُعتبر تجسس وكيل المستخدم ممارسة سيئة، لأنه يُشجع على تصميم المواقع الإلكترونية بما يتناسب مع متصفح مُعين، ويُعاقب المتصفحات الجديدة التي لا تتعرف على وكيل المستخدم. وبدلاً من ذلك، توصي W3C بإنشاء ترميز HTML قياسي، [ 12 ] مما يسمح بعرض الموقع بشكل صحيح في أكبر عدد ممكن من المتصفحات، واختبار ميزات المتصفحات المُحددة بدلاً من إصدارات أو علامات تجارية مُعينة من المتصفحات. [ 13 ]
غالباً ما تعتمد المواقع الإلكترونية المصممة للعرض على الهواتف المحمولة على تقنية استشعار وكيل المستخدم، نظراً لأن متصفحات الهواتف المحمولة غالباً ما تختلف اختلافاً كبيراً عن بعضها البعض.
إيقاف استخدام رأس User-Agent
في عام 2020، أعلنت جوجل أنها ستُجمّد أجزاءً من رأس User-Agent في متصفح كروم ، نظرًا لتوقف استخدامه في تحديد إمكانيات المتصفح، واقتصاره على استخدامه في الغالب لبصمة المتصفح السلبية . [ 14 ] وأوضحت جوجل أن ميزة جديدة تُسمى Client Hints ستحل محل وظيفة سلسلة وكيل المستخدم. [ 15 ]
ابتداءً من إصدار Chrome 113، الذي صدر في أبريل 2023، تم تجميد جزء من رأس User-Agent. في الإصدارات الأحدث من Chrome، يبقى User-Agent ثابتًا باستثناء الأرقام التي تمثل الإصدار الرئيسي للمتصفح المستخدم. [ 16 ]
خطأ في تحديد المتصفح
ابتداءً من إصدار Firefox 110 في فبراير 2023، [ 17 ] أعلنت موزيلا أنها ستُجمّد مؤقتًا أجزاءً من سلسلة وكيل المستخدم للمتصفح عند الإصدار 109. جاء ذلك نتيجةً لتعرّف العديد من المواقع الإلكترونية بشكل خاطئ على إصدار تجريبي من المتصفح (الذي يُعرّف نفسه من خلال السلسلة ) [ 18 ] على أنه Internet Explorer 11 المُهمل (الذي يُبلغ عن ). [ 19 ] توقف هذا التزييف للإصدار بدءًا من Firefox 120، حيث لوحظ أن المتصفحات التي تُعرّف نفسها بالإصدارات من 110 إلى 119 فقط هي التي تأثرت بهذه المشكلة. [ 20 ]Mozilla/5.0 (Windows NT 10.0; Win64; rv:110.0) Gecko/20100101 Firefox/110.0Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko
انظر أيضاً
مراجع
- ↑ "RFC-9110: دلالات HTTP" . IETF . تم الاطلاع عليه بتاريخ 28 يوليو 2022 .
- ↑ RFC 3261، SIP: بروتوكول بدء الجلسة ، IETF، جمعية الإنترنت (2002)
- ↑ تنسيق مقالة Netnews . فريق عمل الإنترنت . نوفمبر 2009 ثانية. 3.2.13. دوى : 10.17487/RFC5536 . آر إف سي 5536 .
- ↑ إيكرسلي، بيتر (27 يناير 2010). "تحمل إصدارات المتصفحات 10.5 بت من المعلومات التعريفية في المتوسط" . مؤسسة الحدود الإلكترونية . تم الاطلاع عليه بتاريخ 25 أغسطس 2011 .
- ↑ ر. فيلدينغ ؛ م. نوتنغهام؛ ج. ريشكي، محرران (يونيو 2022). دلالات بروتوكول HTTP . فريق عمل هندسة الإنترنت . doi : 10.17487/RFC9110 . ISSN 2070-1721 . STD 97. RFC 9110 . معيار الإنترنت 97. القسم دلالات بروتوكول HTTP. يلغي هذا المعيار RFC 2818 و 7230 و 7231 و 7232 و 7233 و 7235 و 7538 و 7615 و 7694 . ويُحدّث RFC 3864 .
- ↑ تاريخ سلسلة وكيل المستخدم للمتصفح . WebAIM.
- ↑ "سلاسل وكيل مستخدم أوبرا: أوبرا 15 وما بعدها" . dev.opera.com. 15 يوليو 2013. تم الاطلاع عليه بتاريخ 5 مايو 2014 .
- ↑ زاوينسكي، جيمي (28 مارس 1998). "سلاسل وكيل المستخدم (مهجورة)" . mozilla.org . تم الاسترجاع في 8 يناير 2010 .
- ↑ بورستين يشكو قائلاً: "... لقد رُفضتُ حتى أعود مع نتسكيب"
- ↑ "متصفح أندرويد يُعرّف نفسه على أنه متصفح أبل سفاري" . مؤرشف من الأصل بتاريخ 6 أغسطس 2011. تم الاطلاع عليه بتاريخ 9 أغسطس 2011 .
- ↑ شرح سلسلة وكيل المستخدم: متصفح ويب كيت لنظام أندرويد . UserAgentString.com. مؤرشف من الأصل في 4 مايو 2012. تم الاسترجاع في 29 يوليو 2012.
Mozilla/5.0 (Linux; U; Android 2.2; en-sa; HTC_DesireHD_A9191 Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
- ↑ بيمبرتون، ستيفن. "خدمة التحقق من صحة ترميز W3C" . W3C . تم الاسترجاع في 18-10-2011 .
- ↑ كلاري، بوب (10 فبراير 2003). "الكشف عن المتصفح ودعم المتصفحات المتعددة" . مركز مطوري موزيلا . موزيلا . مؤرشف من الأصل في 17 نوفمبر 2011. تم الاطلاع عليه في 30 مايو 2009 .
- ↑ "متصفح كروم يُنهي دعم وكيل المستخدم تدريجياً" . InfoQ . تم الاطلاع عليه بتاريخ 25 مارس 2020 .
- ↑ سيمبانو، كاتالين. "جوجل ستتخلص تدريجياً من سلاسل وكيل المستخدم في كروم" . زد نت . تم الاسترجاع في 25 مارس 2020 .
- ↑ "تقليل وكيل المستخدم" . www.chromium.org . تم الاطلاع عليه بتاريخ 13 يوليو 2023 .
- ↑ "ملاحظات إصدار فايرفوكس" . mozilla.org . تم الاطلاع عليه بتاريخ 8 أبريل 2023 .
- ↑ "www.bestbuy.com - متصفح فايرفوكس غير مدعوم" . github.com . تم الاطلاع عليه بتاريخ 8 أبريل 2023 .
- ↑ شوبرت، دينيس. "تجميد مقطع 'rv:' في سلسلة وكيل المستخدم إلى 'rv:109.0' لتجنب الكشف الخاطئ في متصفح إنترنت إكسبلورر 11" . bugzilla.mozilla.org . تم الاطلاع عليه بتاريخ 8 أبريل 2023 .
- ↑ بيترسون، كريس. "إزالة حل مشكلة تجميد المتصفح 'rv:109.0' في متصفح إنترنت إكسبلورر 11 بعد وصول فايرفوكس إلى الإصدار 120 (سطح المكتب وأندرويد)" . bugzilla.mozilla.org . تم الاطلاع عليه بتاريخ 8 أبريل 2023 .
- العملاء (الحوسبة)
- رؤوس بروتوكول نقل النص التشعبي
