نصائح للعملاء

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

اقترح مهندسو جوجل ميزة "تلميحات العميل" عام 2013، كبديل يركز على الخصوصية لرؤوس وكيل المستخدم . جاء ذلك ضمن مبادرة جوجل المسماة " صندوق رمل الخصوصية" . رؤوس وكيل المستخدم عبارة عن أجزاء من التعليمات البرمجية يرسلها العميل لتعريف نفسه للخادم. ورغم أنها كانت مخصصة في البداية لأغراض إحصائية، إلا أنها أصبحت أداةً لتتبع المستخدمين عبر مواقع الويب. سعت "تلميحات العميل" إلى معالجة هذه المشكلة من خلال توفير طريقة أكثر تحكمًا لمشاركة المعلومات نفسها. على الرغم من التركيز على الخصوصية، واجه التصميم الأولي لـ"تلميحات العميل" انتقادات من متصفحات أخرى. كان أحد أبرز المخاوف المطروحة هو أن البروتوكول قد يُتيح أشكالًا جديدة من التتبع بواسطة نطاقات خارجية. النطاقات الخارجية هي خوادم ويب لا يملكها موقع الويب، وتقوم بتحميل موارد مثل الصور وملفات البرامج النصية. رغم هذه المخاوف، أضاف متصفح كروم دعمًا لـ"تلميحات العميل" في أغسطس 2020. وبحلول عام 2024، كان لدى أكثر من 75% من مستخدمي الإنترنت متصفحات تدعم "تلميحات العميل".

أثار باحثون في مجال الخصوصية مخاوف بشأن استخدام تقنية "تلميحات العميل" بشكل أساسي من خلال أكواد جافا سكريبت التي تتعقب المستخدمين. وفي عام 2023، كشفت دراسة أجرتها جامعة لوفين الكاثوليكية وجامعة رادبود أن معظم عمليات الوصول إلى "تلميحات العميل" في أفضل 100 ألف موقع إلكتروني على الإنترنت جاءت من أكواد جافا سكريبت المستخدمة لأغراض التتبع والإعلان .

خلفية

في عام ١٩٩٢، أُضيفت إضافة إلى بروتوكول HTTP ، وهي User-Agentرأس HTTP ، تُرسل من العميل إلى الخادم، وتحتوي على سلسلة نصية بسيطة تُحدد اسم العميل وإصداره. كان الغرض من هذه الرأسية إحصائيًا بحتًا، ولتتبع العملاء الذين يخالفون البروتوكول. ومنذ ذلك الحين، أصبحت رؤوس User-Agent أكثر تعقيدًا، وبدأت تحتوي على معلومات تعريفية فريدة وهامة عن المستخدم. غالبًا ما تُستخدم هذه المعلومات لإجراء بصمة المتصفح ، مما يسمح للمواقع بتتبع المستخدمين عبر المواقع الأخرى بشكل تلقائي دون الحاجة إلى تحميل أي جافا سكريبت . [ ١ ]

تاريخ

اقترح مهندسون في جوجل المسودة الأصلية لمواصفات تلميحات العميل في عام 2013. وأصبحت هذه المواصفات مسودةً لفريق عمل هندسة الإنترنت (IETF) في نوفمبر 2015. وفي عام 2021، رُقّيت المواصفات إلى حالة طلب تعليق تجريبي (RFC). [ 2 ] يشير هذا التصنيف إلى أن فريق عمل هندسة الإنترنت قد قبل مواصفات تلميحات العميل كمعيار للإنترنت ، ولكنها إما لا تزال تتضمن أسئلة عالقة أو لم تحظَ بعدُ بانتشار واسع على الإنترنت. [ 3 ] في نفس الفترة تقريبًا، نُشرت مواصفات كيفية تعامل متصفحات الويب مع تلميحات عميل HTTP على الويب كمسودة في تقرير مجموعة مجتمع W3C . [ 2 ]

في عام 2020، أعلنت جوجل عن نيتها إيقاف دعم تعريف وكيل المستخدم (UA) في المتصفح. [ 4 ] جاء هذا الإيقاف ضمن مبادرة أوسع نطاقًا أطلقتها جوجل لإجراء تغييرات على الويب تسمح للمواقع الإلكترونية بالوصول إلى معلومات المستخدم دون المساس بالخصوصية، تحت مسمى "صندوق حماية الخصوصية" . وأشارت جوجل إلى "تلميحات العميل" كبديل يحافظ على الخصوصية لرؤوس وكيل المستخدم، نظرًا لأنها تتيح طريقة أكثر تحكمًا لمشاركة المعلومات نفسها. [ 5 ] إلا أن اقتراح "تلميحات العميل" الأولي قوبل بمعارضة من متصفحات أخرى بسبب مخاوف تتعلق بالخصوصية. ففي عام 2019، أعرب متصفح Brave عن مخاوفه بشأن الاقتراح الأولي، مشيرًا إلى طرق يمكن من خلالها استخدامه لتتبع المستخدمين على الإنترنت. [ 6 ] وصنفت شركة موزيلا ، مطورة متصفح فايرفوكس ، الاقتراح في البداية على أنه ضار، كما اتخذت شركة آبل ، مطورة متصفح سفاري، موقفًا سلبيًا تجاهه. [ 7 ] على الرغم من هذه المخاوف، قام متصفح كروم بتطبيق دعم تلميحات عميل HTTP في أغسطس 2020. وبينما تأخر إيقاف سلاسل UA بسبب جائحة كوفيد-19 ، فقد اكتملت هذه العملية في فبراير 2023. [ 8 ]

منذ معارضتها الأولية، عدّلت موزيلا موقفها إلى الحياد [ 7 ] ، وقام متصفح بريف بمزامنة تطبيقه لتقنية Client Hints مع تطبيقها في متصفح كروم. [ 2 ] وبحلول عام 2024، كان أكثر من 75% من مستخدمي الإنترنت يستخدمون متصفحات تدعم تقنية Client Hints. [ 2 ]

الآلية

يُعرّف بروتوكول تلميحات العميل كيانين: وكيل المستخدم (UA) (عادةً ما يكون متصفحًا) والخادم . يتواصل هذان الكيانان مع بعضهما البعض للتفاوض بشأن نوع المحتوى الذي يجب تقديمه للمستخدم. [ 9 ] تتضمن العملية إرسال الخادم إلى وكيل المستخدم استجابةً تحتوي على ترويسة HTTP ، تتضمن قائمةً بترويسات تلميحات العميل المطلوبة. [ 2 ] بعد ذلك، يُتوقع من وكيل المستخدم إرجاع تلميحات العميل المطلوبة مع كل استجابة لاحقة، شريطة أن يدعم تلك التلميحات. ثم يستخدم الخادم هذه الترويسات لاتخاذ قرارات بشأن نوع المحتوى الذي سيقدمه لوكيل المستخدم. [ 9 ] إذا لم يفهم وكيل المستخدم تلميحًا معينًا أو لم يدعمه، فسيتم توجيهه لتجاهل ذلك التلميح. في الحالات التي يتعذر فيها تخزين تلميح عميل معين مؤقتًا ، يجب على الخادم تحديد ترويسات تلميحات العميل المناسبة في ترويسة منفصلة تُرسل إلى وكيل المستخدم. يضمن هذا أن آليات التخزين المؤقت تفهم أن الاستجابات قد تختلف بناءً على قيم تلميحات العميل المختلفة. [ 9 ] بالنسبة لتلميحات العميل التي تحدد متصفحًا معينًا، تُضاف مُعرّفات متصفح عشوائية إضافية كإجراء احترازي لمنع مستخدمي البروتوكول من الاعتماد على سلوكيات خاصة بمتصفح معين. [ 10 ] [ 11 ]Accept-CHVary

بالنسبة لوكلاء المستخدم الذين يدعمون جافا سكريبت ، يتوفر خيار إضافي عبر واجهة برمجة تطبيقاتnavigator.userAgentData جافا سكريبت (JavaScript API ). تُمكّن هذه الواجهة جافا سكريبت من استرجاع نفس المعلومات التي توفرها رؤوس Client Hints. [ 11 ] تُصنّف واجهة برمجة التطبيقات البيانات التي توفرها إلى نوعين: بيانات منخفضة الإنتروبيا وبيانات عالية الإنتروبيا. تتوافق البيانات منخفضة الإنتروبيا مع المعلومات التي يُحتمل أن تكون متشابهة بين مجموعة كبيرة من المستخدمين، مثل النظام الأساسي الذي يعمل عليه المتصفح ونوعه. في المقابل، قد تختلف البيانات عالية الإنتروبيا اختلافًا كبيرًا بين المستخدمين، بما في ذلك تفاصيل مثل رقم إصدار المتصفح وطراز جهاز المستخدم. تُضمّن البيانات منخفضة الإنتروبيا في واجهة برمجة التطبيقات كمعاملات كائن، بينما تحتاج البيانات عالية الإنتروبيا، التي تُحدد هوية المستخدم بشكل فريد، إلى جلبها صراحةً من قِبل العميل عن طريق استدعاء الدالة في واجهة برمجة التطبيقات، مما يسمح للمتصفح بطلب إذن المستخدم أو إجراء فحوصات إضافية. [ 12 ]getHighEntropyValues()

مثال

لبدء عملية التفاوض على المحتوى ، يقوم خادم HTTP بإلحاق Accept-CHرأس الطلب باستجابة طلب HTTP:

HTTP / 1.1 200 OK ... Accept-CH: عرض نافذة العرض ... 

إذا كان برنامج المستخدم يدعم تلميح عرض منفذ العرض، فسيقوم برنامج المستخدم بإلحاق Viewport-Widthالعنوان في كل طلب لاحق.

طلب GET إلى /gallery HTTP / 1.1 ... عرض نافذة العرض: 1920 ... 

يستطيع الخادم بعد ذلك استخدام المعلومات الموجودة في Viewport-Widthترويسة الطلب لاتخاذ قرار بشأن نوع المحتوى الذي سيُعرض للعميل. على سبيل المثال، إذا كان لدى الخادم صورة معينة كبيرة الحجم للغاية، فيمكن تهيئته لعرض صورة أصغر حجمًا إذا لم تتناسب الصورة مع مساحة العرض . [ 13 ]

مخاوف الخصوصية

عندما نُشر اقتراح "تلميحات العميل" لأول مرة، قوبل بمخاوف كبيرة تتعلق بالخصوصية. فقد أشارت شركات تطوير المتصفحات، مثل Brave و Mozilla، إلى أن بندًا محددًا في المسودة الأولية للاقتراح يسمح للمواقع الإلكترونية بتوجيه المتصفح لإرسال بيانات "تلميحات العميل" إلى نطاقات خارجية. النطاقات الخارجية هي نطاقات لا تُنفذ أي كود JavaScript، بل تُحمّل موارد مثل الصور وملفات البرامج النصية. [ 6 ] يسمح هذا البند في المسودة الأولية لهذه النطاقات الخارجية، مثل شبكات توصيل المحتوى (CDNs) ومزودي الخدمات السحابية ، بالوصول إلى هذه البيانات . تُوزّع شبكات توصيل المحتوى محتوى المواقع الإلكترونية عبر شبكة من الخوادم موزعة جغرافيًا لتحسين سرعة الموقع وموثوقيته. أما مزودو الخدمات السحابية، مثل Cloudflare و Google Cloud، فيُقدمون خدمات مثل تخزين البيانات، وقوة الحوسبة، والبنية التحتية للمواقع الإلكترونية والتطبيقات. يُمكن لهذه الجهات تتبع المستخدمين عبر الإنترنت من خلال توجيه المتصفح لإرسال معلومات "تلميحات العميل" إلى خوادمها مع الموقع الإلكتروني الأصلي. [ 6 ] [ 14 ] أُثيرت مخاوف أيضًا من أن اقتراح Client-Hint كان متساهلًا للغاية، ويسمح صراحةً بتسريب معلومات جديدة تُعرّض الخصوصية للخطر، والتي لا يمكن الحصول عليها بمجرد قراءة رؤوس HTTP، إلى الخوادم. [ 14 ] بالإضافة إلى ذلك، عارضت الإضافات التي تهدف إلى الحفاظ على خصوصية المستخدم، مثل إضافة NoScript، الاقتراح أيضًا، بحجة أنه سيجعل من الصعب للغاية منع المواقع من تسريب معلومات تُعرّض خصوصية المستخدمين للخطر. [ 6 ]

منذ اعتماد متصفحات رئيسية مثل جوجل كروم ومايكروسوفت إيدج لتقنية Client Hints ، أبدى باحثو الخصوصية مخاوفهم بشأن استخدامها الفعلي في التتبع. [ 15 ] وكشفت دراسة أجراها باحثون من جامعة لوفين الكاثوليكية وجامعة رادبود عام 2023 أن 60% من ملفات جافا سكريبت التي تُحمّلها صفحات الويب من بين أفضل 100,000 موقع ويب تستخدم واجهات برمجة تطبيقات جافا سكريبت الخاصة بتقنية Client Hints ، وكان معظمها عبارة عن نصوص برمجية للتتبع والإعلان ، وكثير منها من جوجل . وقد سربت أكثر من 90% من هذه الملفات البرمجية البيانات التي حصلت عليها إلى نطاقات التتبع. [ 16 ] وأشارت دراسة لاحقة أجراها باحثون من جامعة بون راين سيج للعلوم التطبيقية في مايو 2024 إلى أنه على الرغم من انخفاض معدل استخدام تقنية Client Hints بين مواقع الإنترنت، إلا أن عددًا كبيرًا من نطاقات الجهات الخارجية المعروفة بالتتبع تستخدم بيانات HTTP Client Hints. [ 17 ]

انظر أيضاً

مراجع

الاقتباسات

مصادر