ما معنى "تقليل معلومات وكيل المستخدم"؟

يحدّ خيار "تقليل وكيل المستخدم (UA)" من معلومات التعريف التي تتم مشاركتها في سلسلة وكيل المستخدم، والتي قد يتم استخدامها للبصمات الرقمية السلبية. الآن وبعد طرح هذه التغييرات للإتاحة للجمهور العام، تحتوي جميع طلبات الموارد على عنوان User-Agent مخفّض. ونتيجةً لذلك، يتم تقليل القيم المعروضة من واجهات Navigator معيّنة، بما في ذلك: navigator.userAgent وnavigator.appVersion وnavigator.platform.

يجب على مطوري الويب مراجعة رمز موقعهم لاستخدام سلسلة وكيل المستخدم. إذا كان موقعك الإلكتروني يعتمد على تحليل سلسلة وكيل المستخدم لقراءة طراز الجهاز أو إصدار النظام الأساسي أو إصدار المتصفّح الكامل، عليك تنفيذ واجهة برمجة تطبيقات تلميحات عميل وكيل المستخدم.

تلميحات العميل لوكيل المستخدم (UA-CH)

تسمح ميزة User-Agent Client Hints بالوصول إلى المجموعة الكاملة من بيانات وكيل المستخدم، ولكن فقط عندما تعلن الخوادم بنشاط عن حاجة صريحة إلى أجزاء معيّنة من البيانات.

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

لماذا نحتاج إلى تقليل عدد الصفحات في Universal Analytics وUA-CH؟

في السابق، كانت سلسلة وكيل المستخدم تبث سلسلة كبيرة من البيانات حول متصفح المستخدم ونظام التشغيل والإصدار مع كل طلب HTTP. كان هذا إشكاليًا لسببين:

  • يمكن أن تؤدي الدقة ووفرة التفاصيل إلى تحديد هوية المستخدم.
  • قد يؤدي مدى التوفّر التلقائي لهذه المعلومات إلى تتبُّع إجراءات سرية.

ويؤدي التقليل من خدمتَي Universal Analytics وUA-CH إلى تحسين خصوصية المستخدمين من خلال مشاركة المعلومات الأساسية فقط تلقائيًا.

يتضمّن نموذج وكيل المستخدم المخفَّض العلامة التجارية للمتصفّح ونسخة مهمة، مصدر الطلب (جهاز كمبيوتر مكتبي أو جهاز جوّال) والنظام الأساسي. للوصول إلى المزيد من البيانات، تسمح لك ميزة "تلميحات العميل وكيل المستخدم" بطلب معلومات محدّدة حول جهاز المستخدم أو حالاته.

بالإضافة إلى ذلك، بمرور الوقت أصبحت سلسلة User-Agent أطول وأكثر تعقيدًا، ما أدّى إلى تحليل السلاسل عرضة للخطأ. توفّر UA-CH بيانات منظّمة وموثوقة يسهل تفسيرها. إنّ الرمز الحالي الذي يحلّل سلسلة UA يجب ألا ينقطع (على الرغم من أنه سيعرض بيانات أقل)، وستحتاج إلى النقل إلى UA-CH إذا كان موقعك الإلكتروني بحاجة إلى معلومات محدّدة عن العميل.

كيف تعمل خدمتا Universal Analytics وUA-CH المخفّضة؟

في ما يلي مثال موجز عن آلية عمل سلسلة وكيل المستخدم وUA-CH المخفَّضة. للحصول على مثال أكثر تفصيلاً، يمكنك الاطّلاع على مقالة تحسين خصوصية المستخدم وتجربة المطوّرين من خلال تلميحات العميل لوكيل المستخدم.

يفتح أحد المستخدمين المتصفِّح ويدخل example.com في شريط العناوين:

  1. يرسل المتصفح طلبًا لتحميل صفحة الويب.
    1. يتضمّن المتصفّح عنوان User-Agent مع سلسلة وكيل المستخدم الموجزة. مثلاً: User-Agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.0.0 Mobile Safari/537.36
    2. يتضمّن المتصفِّح المعلومات نفسها الواردة في عناوين "تلميح عميل وكيل المستخدم" التلقائية. على سبيل المثال: powershell Sec-CH-UA: "Chrome"; v="98" Sec-CH-UA-Mobile: ?1 Sec-CH-UA-Platform: "Android"
  2. يمكن أن يطلب الخادم من المتصفّح إرسال تعديلات إضافية على العميل، مثل طراز الجهاز، باستخدام عنوان الاستجابة Accept-CH. مثلاً: Accept-CH: Sec-CH-UA, Sec-CH-UA-Mobile, Sec-CH-UA-Platform, Sec-CH-UA-Model
  3. يطبق المتصفح السياسات وإعدادات المستخدم لتحديد البيانات المسموح لها بالرجوع إلى الخادم في عناوين الطلبات اللاحقة. على سبيل مثال: powershell Sec-CH-UA: "Chrome"; v="93" Sec-CH-UA-Mobile: ?1 Sec-CH-UA-Platform: "Android" Sec-CH-UA-Model: "Pixel 2"

تلميحات مهمة عن العميل

إذا كنت بحاجة إلى مجموعة محدّدة من تلميحات العميل في طلبك الأوليّ، يمكنك استخدام عنوان الاستجابة Critical-CH. يجب أن تكون قيم Critical-CH مجموعة فرعية من القيم التي يطلبها Accept-CH.

على سبيل المثال، قد يتضمّن الطلب الأوّلي طلبًا لـ Device-Memory وViewport-Width، حيث يُعدّ Device-Memory عنصرًا مهمًا.

GET / HTTP/1.1
Host: example.com

HTTP/1.1 200 OK
Content-Type: text/html
Accept-CH: Device-Memory, Viewport-Width
Vary: Device-Memory, Viewport-Width
Critical-CH: Device-Memory

إذا كان المتصفح يتطلب تلميحًا مهمًا (Critical-CH) لعرض صفحة الويب بشكل صحيح، يمكن للخادم طلب هذه المعلومات الإضافية باستخدام العنوان Accept-CH. بعد ذلك، يمكن للمتصفّح إرسال طلب جديد للصفحة يتضمّن التلميح المهم.

باختصار، تطلب السمة Accept-CH جميع القيم التي تريدها للصفحة، بينما تطلب السمة Critical-CH فقط مجموعة فرعية من القيم التي يجب أن تكون أثناء التحميل لتحميل الصفحة بشكل صحيح. للحصول على مزيد من المعلومات، يُرجى الاطّلاع على مواصفات موثوقية تلميحات العميل.

اكتشاف الأجهزة اللوحية باستخدام واجهة برمجة التطبيقات UA-CH

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

مع ذلك، تأتي المعلومات التي يوفّرها المتصفّح لكل من سلسلة وكيل المستخدم و"تلميحات عميل وكيل المستخدم" من المصدر نفسه، لذلك من المفترض أن تعمل أشكال المنطق نفسها.

على سبيل المثال، إذا تم وضع علامة على هذا النمط في سلسلة UA:

  • نمط الهاتف: 'Android' + 'Chrome/[.0-9]* Mobile'
  • نمط الجهاز اللوحي: 'Android' + 'Chrome/[.0-9]* (?!Mobile)'

قد يتم وضع علامة في واجهة عناوين UA-CH التلقائية المطابقة:

  • نمط الهاتف: Sec-CH-UA-Platform: "Android"، Sec-CH-UA-Mobile: ?1
  • نمط الجهاز اللوحي: Sec-CH-UA-Platform: "Android"، Sec-CH-UA-Mobile: ?0

أو واجهة JavaScript المكافئة لها:

  • نمط الهاتف: navigator.userAgentData.platform === 'Android' && navigator.userAgentData.mobile === true
  • نمط الجهاز اللوحي: navigator.userAgentData.platform === 'Android' && navigator.userAgentData.mobile === false

في حالات الاستخدام الخاصة بالأجهزة، يمكن طلب اسم طراز الجهاز من خلال تلميح Sec-CH-UA-Model ذي القصور العالي.

كيف يمكنني استخدام Universal Analytics المخفَّضة واختبارها؟

للبدء، يمكنك مراجعة رمز موقعك الإلكتروني للاطّلاع على أمثلة واستخدامات سلسلة وكيل المستخدم. إذا كان موقعك الإلكتروني يعتمد على تحليل سلسلة وكيل المستخدم لقراءة طراز الجهاز أو إصدار النظام الأساسي أو إصدار المتصفّح الكامل، عليك تنفيذ واجهة برمجة التطبيقات UA-CH.

بعد التحديث إلى واجهة برمجة التطبيقات UA-CH، يجب إجراء اختبار للتأكّد من حصولك على البيانات التي تتوقعها من وكيل المستخدم. هناك ثلاث طرق للاختبار، كل منها يزداد درجة التعقيد.

إنّ مدى التوفّر على نطاق واسع لميزة "تقليل وكيل المستخدم" يعني سلسلة UA المنخفضة بالكامل التي يتم شحنها على جميع أجهزة Chrome. بدأ التقليل من إصدار Chrome الثانوي في الربع الثاني من عام 2022.

اختبار السلاسل المخصصة محليًا

إذا كنت تريد اختبار موقعك الإلكتروني باستخدام سلاسل وكيل المستخدم المخصّصة لمحاكاة أجهزة مختلفة، يمكنك تشغيل Chrome باستخدام علامة سطر الأوامر --user-agent="Custom string here". يمكنك الاطّلاع على مزيد من المعلومات حول عمليات الإبلاغ في سطر الأوامر.

يمكنك بدلاً من ذلك استخدام محاكي الجهاز في "أدوات مطوري البرامج في Chrome".

تحويل السلسلة في رمز موقعك الإلكتروني

إذا عالجت سلسلة user-agent الحالية من Chrome في الرمز من جهة العميل أو الخادم، يمكنك تحويل هذه السلسلة إلى التنسيق الجديد لاختبار التوافق. ويمكنك الاختبار إما بتجاوز السلسلة واستبدالها، أو إنشاء الإصدار الجديد واختباره جنبًا إلى جنب.

دعم تلميحات العميل والتلميحات المهمة

هناك ثلاثة تلميحات تلقائية للعميل يتم عرضها على الخادم، وهي تشمل اسم المتصفّح والإصدار الرئيسي، وهو خيار يشير إلى ما إذا كان المتصفّح يعمل على جهاز جوّال واسم نظام التشغيل. ويتم إرسالها بعد تأكيد اتصال بروتوكول أمان طبقة النقل (TLS). وهي متوفرة ومتوافقة بالفعل في متصفحك.

ومع ذلك، قد تحتاج في بعض الأحيان إلى استرداد معلومات مهمة لكي يعرضها موقعك الإلكتروني.

تحسين النصائح المهمة

تُعد تأكيد اتصال بروتوكول أمان طبقة النقل (TLS) الخطوة الأولى لإنشاء اتصال آمن بين المتصفح وخادم الويب. وبدون أي تدخّل، تم تصميم عنوان الاستجابة حرج C لتوجيه المتصفح إلى إعادة محاولة الطلب على الفور في حال تم إرسال الطلب الأول بدون تلميح مهم.

مخطّط تسلسلي لتلميحات العميل يتضمّن تلميحات مهمّة
عندما يطلب الخادم تلميحًا مهمًا، سيعيد العميل محاولة إرسال الطلب الأول لصفحة الويب التي تتضمن التلميح المهم. في هذا المثال، يتم طلب التلميح بشأن Sec-CH-UA-Model مرتين: مرة كتلميح عميل مع Accept-CH ومرة أخرى كتلميح مهم مع Critical-CH.

لتحسين التلميحات المُهمّة (عنوان Critical-CH)، عليك اعتراض عملية تأكيد الاتصال هذه وتقديم نموذج لـ "تلميحات العميل". قد تكون هذه الخطوات معقدة وتتطلب معرفة متقدمة.

إنّ إطارَي HTTP/2 وHTTP/3 ACCEPT_CH، المدمج مع إضافة ALPS لبروتوكول أمان طبقة النقل (TLS)، هو تحسين على مستوى الاتصال لتقديم إعدادات Client Hint الخاصة بالخادم في الوقت المناسب لطلب HTTP الأول. وتتطلب هذه الإعدادات إعدادًا معقدًا، وننصح باستخدامها فقط للحصول على معلومات مهمة حقًا.

يساعدك BuringSSL (أحد فروع OpenSSL) في العمل باستخدام ميزات Google التجريبية في Chromium. وفي الوقت الحالي، يتم تنفيذ ALPS في BuringSSL فقط.

وإذا كنت بحاجة إلى استخدام تلميحات مهمة، يُرجى الرجوع إلى دليلنا حول موثوقية التلميحات المهمة والتحسين.

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

ما هي المدة التي سيتم خلالها إرسال التلميحات المحدّدة عبر عنوان Accept-CH؟

سيتم إرسال التلميحات المحدّدة من خلال عنوان Accept-CH طوال مدة جلسة المتصفّح أو إلى أن يتم تحديد مجموعة أخرى من التلميحات.

هل تعمل خدمة UA-CH مع بروتوكولَي HTTP/2 وHTTP/3؟

تعمل UA-CH مع اتصالات كل من HTTP/2 وHTTP/3.

هل تتطلب النطاقات الفرعية (وسجلات CNAME) صفحة من المستوى الأعلى Permissions-Policy للوصول إلى UA-CH العالي القصور؟

إنّ بيانات UA-CH ذات القصور العالي في عناوين الطلبات محظورة في الطلبات المتعدّدة المصادر بغض النظر عن كيفية تحديد المصدر من جهة نظام أسماء النطاقات. يجب معالجة التفويض من خلال Permissions-Policy لأي مورد فرعي من مصادر متعددة أو من خلال JavaScript يتم تنفيذه في السياق المشترك المصدر.

كيف تؤثر ميزة "تقليل وكيل المستخدم" في رصد برامج التتبُّع؟

لا يؤثر تغيير Chrome على سلسلة وكيل المستخدم بشكل مباشر في سلسلة وكيل المستخدم التي يختار برنامج التتبُّع إرسالها.

قد تختار برامج التتبُّع تحديث سلاسلها الخاصة لتعكس المعلومات المخفية التي يرسلها Chrome، ولكن هذا هو اختيار التنفيذ الكامل. لا يزال Chrome يرسل تنسيق وكيل المستخدم نفسه، ويمكن لبرامج التتبُّع التي تُضيف معرِّفها الخاص في نهاية سلسلة "وكيل المستخدم" في Chrome مواصلة إرسالها.

بالنسبة إلى أي تساؤلات بشأن برامج تتبُّع معيّنة، قد يكون من المفيد التواصل مع المالكين مباشرةً لسؤالهم عما إذا كان لديهم أي خطط لتغيير سلسلة وكيل المستخدم الخاصة بهم.

التفاعل مع الملاحظات ومشاركتها

التعرف على المزيد