تخطَّ إلى المحتوى

أدوات المتصفح

فاحص User-Agent

نص User-Agent الخاص بك، وما يقوله عن إعداداتك.

نص User-Agent

متصفحك

جارٍ القراءة…

حلّل User-Agent آخر

الصق نصاً من سجل خادم أو من تفريغ ترويسات أو من جهاز لا تستطيع فتح متصفح عليه.

Enter يحلّل النص. وShift+Enter يُدرج سطرًا جديدًا.

ما معنى ذلك

المتصفح
—
إصدار المتصفح
—
محرّك العرض
—
نظام التشغيل
—
نوع الجهاز
—
المنصّة
—
عميل آلي
—

تأتي المنصّة من واجهة برمجية في المتصفح لا من النص نفسه، ولذلك هي الصفّ الوحيد الذي لا يمكن ملؤه لـUser-Agent ملصوق.

نص User-Agent هو ما يعلنه متصفحك لكل موقع يطلبه. وهو يذكر المتصفح وإصداره ومحرّك العرض ونظام التشغيل، وإن كان جزء كبير منه سردًا تاريخيًا يُحتفظ به للتوافق.

ويجري التحليل بالكامل داخل متصفحك. ولا يُرسل أي شيء إلى أي جهة، بما في ذلك أي نص تلصقه.

ما الذي يحتويه النص فعلياً

خذ نصّ User-Agent معتاداً لمتصفح Chrome على سطح المكتب: «Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36». يبدو وكأنه قائمة ببرامج، لكن معظمه إرث تاريخي.

فـ«Mozilla/5.0» رمز توافق ترسله كل المتصفحات ولا يحمل أي معلومة. وما بين القوسين هو المنصّة: يُعلن macOS الإصدار 10_15_7 منذ Big Sur مهما كان إصداره الفعلي، وذلك عن قصد للحدّ من التعرّف على المستخدم. أما «AppleWebKit/537.36 (KHTML, like Gecko)» فهو نسب محرّك العرض، وقد جُمّد قبل سنوات. و«Safari/537.36» لا يعني بدوره أن Safari له علاقة بالأمر.

الجزء الوحيد الذي يحمل معلومة حقيقية هو «Chrome/131.0.0.0»، وحتى فيه تُصفَّر أرقام الإصدار الفرعي عمداً. أي أن نصّاً يتجاوز مئة حرف لا يقول عن متصفحك سوى شذرة واحدة صحيحة.

محرّك العرض أهم من الاسم التجاري

المحرّك هو ما يحوّل الشيفرة إلى بكسلات، وهو ما يحدّد أي الخصائص تعمل وأي العلل ستصادفها. وهو مشترك على نطاق أوسع بكثير مما توحي به الأسماء التجارية: فـEdge وOpera وBrave وVivaldi كلها محرّك Chrome بواجهات مختلفة، وكل متصفحات iPhone هي محرّك Safari مهما كان شكل الأيقونة.

ولا يصرّح أي نصّ بمحرّكه مباشرة، فيلزم استنتاجه. يُعرف Blink بوجود «AppleWebKit/537.36» إلى جانب رمز «Chrome»؛ ويُعرف WebKit بـ«AppleWebKit» بأي إصدار آخر؛ ويُعرف Gecko بإصدار «rv:» يتبعه «Gecko/». وللمحرّكات القديمة بصمتها كذلك: «Trident/» كان Internet Explorer، و«Presto/» متصفح Opera قبل 2013، و«Edge/» إصدار Edge السابق على Chromium.

Chrome على iPhone ليس Chrome في جوهره

اشترطت Apple لسنوات أن تستخدم كل متصفحات iOS محرّك WebKit الخاص بالنظام. فـChrome وFirefox وEdge على iPhone هي WebKit بواجهة مختلفة وخدمة مزامنة مختلفة فوقها. وقد أصبح قانون الأسواق الرقمية يسمح بمحرّكات بديلة داخل الاتحاد الأوروبي، غير أن شيئاً منها لم ينتشر بما يكفي لتغيير ما تقوله النصوص.

وهي تعترف بذلك بهدوء: يصير رمز Chrome هو «CriOS»، ورمز Firefox «FxiOS»، ورمز Edge «EdgiOS»، ويكون إصدار AppleWebKit هو إصدار Safari لا الرقم 537.36 الذي تجمّد عنده Blink حين انفصل عام 2013. والمحلّل الذي يبحث عن كلمة «Chrome» وحدها يخطئ هنا، ونتيجة ذلك أن يُرسل الموقع خاصية لا يستطيع ذلك المتصفح تشغيلها.

لماذا لا ينبغي الاعتماد على User-Agent

يرسل العميل هذا النص بنفسه، فهو ادّعاء لا حقيقة. وبإمكان أي شخص تغييره بسطر واحد من الإعدادات، وكثير من البرمجيات تفعل ذلك اعتيادياً: إضافات الخصوصية، والوسطاء في الشبكات المؤسسية، والزواحف التي تتقمّص المتصفحات، وأدوات الاختبار.

ولهذا حلّ اكتشاف الخصائص محلّ اكتشاف المتصفح في التطوير الجادّ. اسأل إن كانت الخاصية التي تحتاجها موجودة بدل أن تستنتجها من اسم ورقم إصدار. واحصر استخدام User-Agent في التحليلات والتشخيص والقرارات العامة التي لا يضرّ الخطأ فيها.

وتتيح المتصفحات المبنية على Chromium اليوم المعلومات نفسها عبر Client Hints: تُرسل القيم منخفضة الدلالة، كعلامة المتصفح وما إذا كان الجهاز محمولاً، تلقائياً، أما ما هو أدقّ — الإصدار الكامل وإصدار النظام وطراز الجهاز — فعلى الخادم أن يطلبه صراحةً. فمن يحتاجه فعلاً يمكنه طلبه، ويصبح التعرّف الصامت على المستخدم أصعب بكثير.

الأسئلة الشائعة

لماذا يدّعي متصفحي أنه عدة متصفحات؟

لأغراض التوافق. لا يزال كل متصفح تقريبًا يعلن Mozilla وغالبًا Safari، لأن المواقع كانت تعتمد على هذه الرموز لتقرّر ما ترسله. والرمز المحدّد الوارد لاحقًا في النص هو الحقيقي.

هل Chrome على iPhone هو Chrome فعلًا؟

الواجهة فقط. فكل متصفحات iOS تستخدم WebKit في الأساس، ولذلك يبقى محرّك العرض هو نفسه محرّك Safari مهما كان الاسم التجاري.

هل يمكن التعرّف عليّ عبر User-Agent؟

ليس بمفرده، لكنه أحد مكوّنات البصمة الرقمية. وباجتماعه مع مقاس الشاشة والمنطقة الزمنية والخطوط المثبّتة يصبح أكثر تعريفًا بكثير.