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

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

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

User-Agent Client Hints (UA-CH)

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

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

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

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

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

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

ويشمل وكيل المستخدم المخفّض العلامة التجارية للمتصفّح وإصدارًا مهمًا منه، المصدر الذي جاء منه الطلب (كمبيوتر مكتبي أو جهاز جوّال) والنظام الأساسي للوصول إلى: مزيد من البيانات، تتيح لك ميزة User-Agent Client Hints طلب معلومات محدّدة حول جهاز المستخدم أو شروطه

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

كيف يعمل تقليل UA و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 API، عليك الاختبار للتأكّد من حصولك على التي تتوقعها من وكيل المستخدم. هناك ثلاث طرق للاختبار، متزايدًا في التعقيد.

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

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

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

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

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

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

توفير ميزة "تلميحات العميل" والملاحظات المهمة

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

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

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

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

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

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

إطارَا ACCEPT_CH HTTP/2 وHTTP/3 مع إضافة 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 السلسلة يمكن أن تستمر في القيام بذلك.

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

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

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