يواصل Chrome تقليل المعلومات التي تتم مشاركتها في سلسلة وكيل المستخدم للمساعدة في حماية خصوصية المستخدم.
اعتبارًا من الإصدار 110 من Chrome (شباط/فبراير 2023)، سنطرح تدريجيًا قيمة ثابتة لإصدار Android وطراز الجهاز، وستكون القيمة التلقائية دائمًا Android 10
على طراز K
.
إذا كنت تعتمد على وكيل المستخدم لرصد إصدار نظام التشغيل الخاص بالزائر أو طراز جهاز Android أو إصدار المتصفّح المفصّل، قد تحتاج إلى اتّخاذ إجراء. اطّلِع على التفاصيل أدناه.
user-agent هي سلسلة توفّر معلومات عن متصفّح المستخدم وبيئته، مثل معرفة أنّ أحد الزوّار على موقعك الإلكتروني يستخدم الإصدار 110 من Chrome على Android. ويرسل المتصفّح هذا العنوان في عنوان HTTP ويُتاح من خلال JavaScript.
تكمن المشكلة في سلسلة وكيل المستخدم الكاملة في أنّها تشارك معلومات مفصّلة عن المتصفّح تلقائيًا في كل طلب، ما يشكّل عاملاً رئيسيًا في السماح بالتتبّع على مستوى المواقع الإلكترونية المختلفة. هدفنا هو تقليل فرص جمع هذه البيانات بشكل سلبي مع توفير واجهات برمجة تطبيقات تتيح لك الوصول إلى البيانات بشكل نشط عندما تحتاج إليها.
تقليل معلومات وكيل المستخدم إلى الآن
لقد بدأنا بالفعل في إزالة بعض بيانات وكيل المستخدم المتاحة تلقائيًا واستبدالها بقيم ثابتة.
اعتبارًا من Chrome 101، استبدلنا رقم الإصدار الثانوي بأرقام صفرية، على سبيل المثال، أصبح Chrome/101.3.2.1 Chrome/101.0.0.0.
اعتبارًا من Chrome 107، استبدلنا إصدار نظام التشغيل المكتبي ومعلومات وحدة المعالجة المركزية بقيمة ثابتة للنظام الأساسي.
Mac | ➡ | Macintosh; Intel Mac OS X 10_15_7 |
Windows | ➡ | Windows NT 10.0; Win64; x64 |
ChromeOS | ➡ | X11; CrOS x86_64 14541.0.0 |
Linux | ➡ | X11؛ نظام التشغيل Linux x86_64 |
تم إصلاح معلومات إصدار Android وطراز الجهاز بدءًا من الإصدار 110 من Chrome
اعتبارًا من الإصدار 110 من Chrome، سنطرح تدريجيًا قيمة ثابتة لإصدار Android وطراز الجهاز.
بدلاً من ظهور قيمة مثل Android 13
على Pixel 7
، ستكون القيمة التلقائية دائمًا Android 10
على طراز K
.
Mozilla/5.0 (Linux; Android 13; Pixel 7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.0.0 Mobile Safari/537.36
Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.0.0 Mobile Safari/537.36
عدم إجراء أي تغيير على تنسيق وكيل المستخدم
يؤدي تقليل مساحة وكيل المستخدم إلى تغيير القيم التي يتم عرضها في وكيل المستخدم، ولكن يظل التنسيق كما هو. إذا كنت تستخدم وكيل المستخدم فقط لقراءة نوع نظام التشغيل أو الإصدار الرئيسي للمتصفّح، سيستمر تعديل هذه البيانات كما في السابق ولا تحتاج إلى اتّخاذ أي إجراء.

بدائل وكيل المستخدم
إذا كنت تستخدم حاليًا البيانات الأكثر تفصيلاً، من الأفضل دائمًا التحقّق مما إذا كان بإمكانك استخدام ميزة التحسين التدريجي أو ميزة رصد الميزات بدلاً من ذلك.
تذكَّر دائمًا أنّ وكيل المستخدم يشبه أي قيمة أخرى يقدّمها المستخدم، لذا عليك التحقّق من صحتها وعدم الافتراض أنّها دقيقة. يمكن للمستخدم أو الإضافات أو العملاء الآخرين تغيير قيمة وكيل المستخدم بسهولة، أو قد لا يتم إرسالها على الإطلاق. في معظم الحالات، من المفترض أن تتمكّن من عرض محتوى صالح للزوار بدون بيانات وكيل المستخدم.
طلب بيانات تفصيلية باستخدام تعديلات برنامج وكيل المستخدم
هناك العديد من الأسباب الصالحة للوصول إلى بيانات مفصّلة عن وكيل المستخدم، مثل توفير محتوى خاص بالجهاز أو وظيفة لمكافحة الاحتيال أو تسجيل مفصّل. إذا كنت بحاجة إلى بيانات أكثر تفصيلاً، يمكنك استخدام واجهة برمجة التطبيقات User-Agent Client Hints (UA-CH) للوصول إليها. مثل وكيل المستخدم، يتوفّر UA-CH من خلال رؤوس HTTP أو JavaScript.
ربما سبق لك أن رأيت العناوين التلقائية التي يتم إرسالها باستخدام البادئة Sec-CH-UA-
التي تُعلمك بالمتصفّح والإصدار الرئيسي منه ونظام التشغيل وما إذا كان المتصفّح جهازًا جوّالاً.
⏫ رؤوس طلبات تعديلات برنامج وكيل المستخدم التلقائية من Chrome:
Sec-CH-UA: "Chromium";v="110", "Not A(Brand";v="24", "Google Chrome";v="110"
Sec-CH-UA-Mobile: ?1
Sec-CH-UA-Platform: "Android"
يمكنك استخدام العنوان Accept-CH
في ردّك لطلب المزيد من البيانات.
في هذه الحالة، يمكنك طلب Sec-CH-UA-Platform-Version
وSec-CH-UA-Model
لاسترداد إصدار Android ونوع الجهاز هذاَين في الطلبات اللاحقة.
⏬ عنوان الاستجابة من خادمك الذي يحدّد إصدار النظام الأساسي والطراز:
Accept-CH:
Sec-CH-UA-Platform-Version,
Sec-CH-UA-Model
⏫ استرداد رؤوس الطلبات من Chrome، بما في ذلك إصدار Android واسم الطراز:
Sec-CH-UA-Platform-Version: "13.0.0"
Sec-CH-UA-Model: "Pixel 7"
يمكنك إجراء الشيء نفسه في JavaScript من خلال استدعاء getHighEntropyValues()
في واجهة برمجة التطبيقات userAgentData
، مع إدخال صفيف بالقيم التي تريدها: platformVersion
وmodel
.
يعرض هذا الوعد عنصرًا يحتوي على القيم المحدّدة.
navigator.userAgentData
.getHighEntropyValues(
['platformVersion', 'model']
).then(ua => { console.log(ua)
});
{
"platformVersion": "13.0.0",
"model": "Pixel 7"
}
الطلبات الأولية أو الطلبات من مصدر خارجي
إذا كانت لديك موارد من مصادر مختلفة على صفحتك تحتاج إلى هذه القيم، يمكنك السماح بالوصول إليها من خلال عنوان HTTP الذي يتضمّن علامة Permissions-Policy
أو باستخدام العلامة الوصفية Delegate-CH
في ملف HTML.
إذا كان من الضروري أن يتضمّن موقعك الإلكتروني هذه القيم الحسّاسة في أول طلب من المستوى الأعلى، يمكنك استخدام عنوان HTTP Critical-CH
الذي سيطلب من المتصفّح إعادة محاولة طلبه الأوّلي مع إضافة هذه التلميحات الإضافية.
قد يكون ذلك مفيدًا للأنظمة القديمة التي يصعب تحديثها، ولكن من الأفضل عدم الاعتماد على هذه القيم الحسّاسة لعرض ملف HTML الأوّلي.
مزيد من المعلومات
للاطّلاع على سلسلة وكيل المستخدم المُخفَّضة أثناء عملها، اطّلِع على ما يلي:
- يمكنك الاطّلاع على سلسلة وكيل المستخدم المُخفَّضة لجهاز على goo.gle/reduced-ua-demo.
- يمكنك الاطّلاع على جميع إشارات وكيل المستخدم في JavaScript وعنوان HTTP لـ جهازك على goo.gle/ua-ch-demo.
- أرسِل سلسلة وكيل المستخدم المُخفَّضة في متصفّحك من خلال تفعيل
#reduce-user-agent
علامة Chrome.
سيظل بإمكانك أيضًا التسجيل في مرحلة التجربة والتقييم لميزة "تقليل المعلومات في سلسلة وكيل المستخدم" لتلقّي سلسلة وكيل المستخدم المُخفَّضة على موقعك الإلكتروني، على الرغم من أنّنا سنُنهي هذه المرحلة في أوائل شهر آذار (مارس) مع مواصلة زيادة إرسال سلسلة وكيل المستخدم المُخفَّضة تلقائيًا.
تتوفّر لدينا المزيد من المراجع في الصفحة المقصودة لتقليل عدد وكلاء المستخدمين، ويمكنك أيضًا طرح المشاكل في مستودع GitHub المخصّص لتقليل عدد وكلاء المستخدمين.