الخلاصة

  • كان LIST ACTIVE يبين المجموعات التي يستطيع هذا القارئ اختيارها على هذا الخادم الآن، فيما عرض LIST ACTIVE.TIMES الاختياري ما احتُفظ به من تاريخ الإنشاء المحلي.
  • جاز للسجل التاريخي أن يغفل مجموعة حية وأن يبقي مجموعة خرجت من الخدمة؛ لذلك لم يكن وجود السطر أو غيابه حكماً على الحاضر أو الماضي كله.
  • كان التوقيت خاصاً بإنشاء المجموعة على هذا الخادم، وكان حقل المنشئ نصاً وصفياً، لا هوية موثقة ولا ملكية ولا شهادة ميلاد عالمية.

قائمتان صادقتان لا تتطابقان

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

يفصل RFC 3977 بين السؤالين. عندما يقدم الخادم خدمة القراءة، يجب أن يضم LIST ACTIVE كل مجموعة يستطيع العميل اختيارها بأمر GROUP. أما LIST ACTIVE.TIMES فهو اختياري، ويعرض اسم المجموعة ووقت إنشائها على خادم الأخبار هذا ونصاً عادياً لوصف الجهة المنشئة.

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

الفهرس الحالي أداة للعمل

عرّف RFC 977 أمر LIST بوصفه قائمة المجموعات الصالحة على الخادم. حمل كل سطر الاسم وأول وآخر رقم معروف وحالة النشر المعتادة. وحتى القائمة الفارغة كانت جواباً صحيحاً عن الحالة الراهنة.

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

كانت هذه الحالة محلية أصلاً. أرقام المقالات والرؤية والصلاحيات قد تختلف بين خادم وآخر وبين عميل وآخر.

ممارسة تشغيلية أصبحت واجهة مشتركة

وثق RFC 2980 LIST ACTIVE.TIMES كامتداد شائع ظهر في التطبيق المرجعي لنظام UNIX. احتفظت بعض أنظمة النقل بملف يحوي الاسم، ووقت الإنشاء على هذا الخادم، ووصف الجهة التي أنشأته. وإذا غابت البيانات، أمكن أن تفشل الوظيفة.

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

في RFC 3977 صار حقل المنشئ نصاً وصفياً، كثيراً ما يشبه صندوق بريد. التشابه لا يجعله توقيعاً ولا إثبات هوية ولا سلطة على الاسم.

السطر المحفوظ لا يضمن استمرار الخدمة

قد يوقف المشغل التغذية، أو يمحو المقالات، أو يزيل المجموعة من الإعداد، أو يمنع هذا القارئ منها، مع إبقاء سطر الإنشاء القديم. يسمح المعيار بهذه الحالة صراحة.

يثبت السطر الموجب أمراً ضيقاً: يحتفظ هذا الخادم بعلاقة بين الاسم ووقت محلي ووصف. لكنه لا يثبت أن GROUP سينجح اليوم، ولا أن المحتوى باق، ولا أن خادماً آخر يعترف بالوقت أو المنشئ نفسه.

يجب وصل التاريخ بمشاهدة جديدة للقائمة النشطة. وإلا تحولت الذاكرة إلى وعد بالخدمة لم يقدمه البروتوكول.

الغياب لا يمحو ما حدث

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

عدم العثور على سطر يثبت فقط أن هذه الاستجابة لا تحويه. لا يثبت أن المجموعة لم توجد، أو أن اسمها باطل، أو أن خادماً آخر لا يملك سجلاً مختلفاً.

تحتاج الأدلة السلبية إلى وعد بالاكتمال. وACTIVE.TIMES يعلن أنه لا يقدم ذلك الوعد. إبقاء المجهول مجهولاً يمنع الأتمتة من تحويل نقص وثيقة إلى أمر حذف.

كشف NEWGROUPS حافة أخرى للذاكرة

يطلب NEWGROUPS المجموعات المنشأة منذ وقت معين. يقول RFC 3977 إنه قد يكون طريقاً أفضل، وإن نتائجه ينبغي أن تتسق عموماً مع ACTIVE.TIMES. لكن إذا بدأ الطلب قبل أقدم سجل محفوظ، فقد يعيد مجموعات إضافية.

تكشف المقارنة نافذة الاحتفاظ ولا تنشئ زمناً عالمياً. ينبغي تسجيل الخادم المجيب ووقت الرصد وهوية القراءة والنطاق والقائمة النشطة المجاورة.

قد يعطي خادمان وقتين مختلفين للاسم نفسه لأن كل واحد أنشأه محلياً في لحظة مختلفة. هذا دليل على تبني موزع، وليس حكماً فورياً بأن أحدهما كاذب.

وصف المنشئ ليس صلاحية الإنشاء

يدعو الحقل البشري إلى منحه سلطة أكبر من نصه. لكنه وصف فقط. يضع RFC 5537 القرار التشغيلي في مكان آخر: رسالة newgroup طلب، وكل وكيل خدمة يوثقها وفق سياسته المحلية ويستطيع رفضها.

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

بهذا يبقى الأصل مفيداً للتحقيق من دون أن يتحول إلى سيادة.

نسقت IANA الكلمات لا الوقائع

يسجل سجل معلمات NNTP لدى IANA تسمية LIST لقدرات تنويعات الأمر ويحيل إلى المعيار. يمنح ذلك البرمجيات اسماً مشتركاً.

لا يضمن التسجيل أن خادماً بعينه يدعم ACTIVE.TIMES، ولا أن ذاكرته طويلة، ولا أن وصف المنشئ موثق. تنسق IANA مفردات البروتوكول؛ أما الوقائع فتبقى محلية.

لم يحتج الإنترنت إلى مكتب عالمي لميلاد مجموعات النقاش. احتاج إلى خوادم تعلن ما تقدمه الآن وما بقي لديها من الماضي من دون تضخيم أي منهما.

الدليل الصادق يترك الوصلة ظاهرة

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

أبقى NNTP السطحين منفصلين. عبّرت القائمة النشطة عن القدرة الحالية، وعبّر ACTIVE.TIMES عن ذاكرة جزئية، وقدم وصف المنشئ خيطاً للتحقيق لا تفويضاً.

جاز للقائمتين أن تختلفا لأنهما أجابتا عن سؤالين مختلفين. كان الاختلاف حاجزاً يمنع التاريخ الجزئي من ادعاء سلطة كاملة.

المصادر