التواصل مع الدعم

نردّ عبر البريد الإلكتروني، عادةً خلال يومين.

يفحص Google reCAPTCHA هذا الإرسال للحماية من إساءة الاستخدام؛ وتُرسَل بيانات إلى Google. لا يُحمَّل السكربت إلا عند فتح هذا النموذج.

→ كل المقالات

توقفنا عن جمع أحجام الشاشات

كانت هذه الخدمة تسجّل دقة الشاشة. كان السكربت في المتصفح يقرأ window.screen ويرسلها ضمن الطلب باسم res=1920x1080، وكانت في صفحة الإحصائيات لوحة مخصصة لها.

لم يعد الأمر كذلك. الجدول الذي كان يحفظها لا يضم اليوم أي صف، واللوحة تعرض حالتها الفارغة. أما السطر في السكربت الذي كانت القراءة تجري فيه فقد صار الآن تعليقًا يذكر ما كان موجودًا هناك.

لماذا أُزيلت

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

هذا هو النصف السهل من القرار. أما النصف الصعب فكان جعله حقيقة.

إيقافها في المتصفح لم يكن كافيًا

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

  • تحتفظ المتصفحات بالسكربت سبعة أيام. ولمدة أسبوع بعد أي تغيير، يشغّل جزء من الزوار النسخة السابقة.
  • وبعض صفحات العملاء لا تحمّل السكربت من هنا أصلًا — بل تضمّن نسخة أُخذت قبل سنوات، ولُصقت في قالب ولم يمسّها أحد منذ ذلك الحين.
ذاكرة المتصفح المؤقتة7نسخة لُصقت قبل سنواتبلا انتهاءالخادم يتوقف عن قبولهاينتهي الآنالأيام حتى يتوقف السكربت القديم عن الإرسال

النوع الثاني ليس له تاريخ انتهاء. كانت تلك الصفحات ستواصل إرسال res= إلى ما لا نهاية، وكان الخادم سيواصل حفظه، وكان التغيير سيبدو مكتملًا بينما هو غير صحيح تحديدًا بالنسبة إلى الزوار الذين لم يكن أحد يراقبهم.

لذلك توقف الخادم هو أيضًا عن قبولها. تصل، فتُتجاهل، ولا يُكتب شيء. وهذا هو نصف التغيير الذي يصمد فعلًا.

شكل الخطأ الذي يتجنبه هذا

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

كل ما يُوقَف لدى العميل يجب أن يُوقَف على الخادم أيضًا. تغيير العميل هو ما يمنع إرساله. وتغيير الخادم هو ما يجعل العبارة صحيحة.

الصفوف القديمة لا تزال موجودة، تتناقص، وتُحذف على دفعات بأداة صغيرة كُتبت لهذا الغرض بالذات. وحين تنتهي، ستبقى اللوحة فارغة، وسيكون ذلك أخيرًا القصة كاملة لا معظمها.

إعلان