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

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

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

تلميحات برنامج وكيل المستخدم (UA-CH)

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

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

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

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

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

وتساهم التقليل من UA و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. يتضمّن المتصفِّح المعلومات نفسها في عناوين "تلميح العميل" التلقائية لوكيل المستخدم. مثال:

      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. يطبق المتصفح السياسات وإعدادات المستخدم لتحديد البيانات المسموح لها بإرجاعها إلى الخادم في عناوين الطلبات اللاحقة. على سبيل المثال:

    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

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

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

على سبيل المثال، إذا تم التحقّق من هذا النمط على سلسلة Universal Analytics:

  • نمط الهاتف: '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، يجب إجراء اختبار للتأكّد من حصولك على البيانات التي تتوقّعها من وكيل المستخدم. هناك ثلاث طرق للاختبار، حيث يزداد تعقيد كل منها.

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

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

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

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

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

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

توفير نصائح العميل والتلميحات المهمة

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

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

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

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

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

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

إنّ إطارَي HTTP/2 وHTTP/3 ACCEPT_CH، إلى جانب إضافة ALPS لطبقة النقل الآمنة، هو تحسين على مستوى الاتصال لتقديم إعدادات "تلميح العميل" المفضّلة للخادم في الوقت المناسب لطلب 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 أن تستمر في إجراء ذلك.

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

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

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