الانتقال إلى المحتوى الرئيسي

User-Agent Client Hints وتقليص UA

ترسل المتصفحات المبنية على Chromium سلسلة User-Agent مقلّصة: جُمّدت التفاصيل التي كانت تحدد الجهاز بأكبر دقة على قيم ثابتة، وانتقلت البيانات الدقيقة إلى User-Agent Client Hints (UA-CH)، التي يجب على الموقع طلبها. يحلّل هذا الدليل سلسلة قديمة لـ Chrome على Android إلى جانب سلسلة مقلّصة.

مثال تطبيقي

Chrome على Android بالصيغة القديمة (قبل التقليص)
Mozilla/5.0 (Linux; Android 12; SM-G991B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.88 Mobile Safari/537.36
المتصفح
Chrome 99.0.4844.88
المحرك
Blink
نظام التشغيل
Android 12
فئة الجهاز
جوال
الجهاز
Samsung SM-G991B
بنية المعالج
غير معروف
Bot / زاحف
لا
Chrome على Android بالصيغة المقلّصة
Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Mobile Safari/537.36
المتصفح
Chrome 120.0.0.0
المحرك
Blink
نظام التشغيل
Android 10
فئة الجهاز
جوال
الجهاز
K
بنية المعالج
غير معروف
Bot / زاحف
لا

تكشف السلسلة القديمة عن Android 12 وطراز Samsung SM-G991B والإصدار الكامل 99.0.4844.88. أما في السلسلة المقلّصة، فإن Android 10 والطراز K قيم بديلة يرسلها كل جهاز Android، وينتهي الإصدار بـ .0.0.0. يُبلغ المحلّل عمّا تقوله السلسلة بالضبط — Android 10، الطراز K — لذا لا يحمل معلومات حقيقية سوى الإصدار الرئيسي 120 ورمز Mobile.

التلميحات منخفضة الإنتروبيا التي يرسلها متصفح Chromium افتراضياً، ورأس استجابة Accept-CH يطلب المزيد
Sec-CH-UA: "Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120"
Sec-CH-UA-Mobile: ?1
Sec-CH-UA-Platform: "Android"

Accept-CH: Sec-CH-UA-Model, Sec-CH-UA-Platform-Version, Sec-CH-UA-Full-Version-List

القواعد الأساسية

  • تحتفظ سلاسل Chrome المقلّصة بالإصدار الرئيسي فقط؛ أما الإصدار الفرعي والبناء والتصحيح فهي دائماً 0.0.0.
  • على Android، يُثبَّت إصدار نظام التشغيل عند 10 ويُستبدل طراز الجهاز بـ K. وعلى سطح المكتب تُجمَّد المنصة على قيم مثل Windows NT 10.0; Win64; x64 أو Macintosh; Intel Mac OS X 10_15_7 أو X11; Linux x86_64.
  • عبر HTTPS، ترسل متصفحات Chromium افتراضياً ثلاثة تلميحات منخفضة الإنتروبيا: Sec-CH-UA (العلامات التجارية والإصدارات الرئيسية) وSec-CH-UA-Mobile وSec-CH-UA-Platform.
  • لا تُرسل التلميحات التفصيلية مثل Sec-CH-UA-Platform-Version وSec-CH-UA-Model وSec-CH-UA-Full-Version-List إلا بعد أن يطلبها الخادم في رأس استجابة Accept-CH. وفي JavaScript استخدم navigator.userAgentData.getHighEntropyValues().
  • تتضمن قائمة العلامات التجارية إدخالاً مزيفاً عمداً يُعرف بـ «GREASE» مثل «Not_A Brand». ابحث عن العلامة التي تحتاجها بدلاً من مقارنة الرأس كاملاً.
  • لا يزال Windows 11 يرسل Windows NT 10.0 في سلسلة User-Agent؛ وقيمة Sec-CH-UA-Platform-Version البالغة 13.0.0 أو أعلى تدل على Windows 11.
  • تلميحات العميل (Client hints) ميزة خاصة بـ Chromium، لذا احتفظ بآلية احتياطية تعتمد على User-Agent للمتصفحات الأخرى. يقرأ هذا المحلّل سلسلة User-Agent فقط، لا تلميحات العميل.

مزيد من أدلة user agent