الخلاصة

  • نقل PubSubHubbub سؤال قارئ الخلاصات المتكرر «هل وصل جديد؟» من باب كل ناشر إلى مركز توزيع يسمى hub. وصف مسودته لعام 2010 ناشراً يُبلغ المركز، ومركزاً يجلب التحديث ويدفعه إلى عناوين رجوع المشتركين. للسرعة وسيط يعمل.
  • في توصية W3C لعام 2018، كان الرد 202 Accepted إيصالاً بالطلب لا إثباتاً لقيام الاشتراك. تبعته مراجعة عنوان الرجوع، وحددت الاشتراكات بمدة يجددها المشترك قبل نهايتها. الانفتاح في تصميم البروتوكول لم يلغ ساعة انتهاء كل اشتراك.

لم يعد القارئ يطرق كل باب

اعتاد قارئ الخلاصات جلب الملف نفسه من كل موقع دورياً، حتى حين لا توجد مادة جديدة. طرحت مسودة PubSubHubbub Core 0.3 في فبراير 2010 طريقاً آخر. يعلن الناشر عنوان hub في خلاصة Atom أو RSS، ثم يبلغه عند التغيير. يجلب المركز الخلاصة ويحدد الجديد ويرسله إلى عنوان رجوع المشترك.

بهذا لا يستقبل خادم الناشر صفاً من العملاء يسألون السؤال ذاته. يصل إشعار واحد إلى موزع يتولى البقية. استهدف التنفيذ المرجعي في المسودة Google App Engine، لكن واضعيها قالوا إن أي طرف يستطيع تشغيل hub. حرية تنفيذ البروتوكول شيء، ومسار الاشتراك الفعلي شيء آخر: كل طلب يمر بالمركز الذي أعلنه الناشر.

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

إيصال الاستلام يسبق القبول الفعلي

أعلن W3C في يناير 2018 اعتماد WebSub توصيةً؛ وهو الاسم الجديد لـ PubSubHubbub. حافظ نص التوصية المؤرخ على أدوار الناشر والمركز والمشترك، ووسّع موضوع الاشتراك إلى مورد على الويب. يعلن الناشر المورد والمركز، ويرسل المشترك طلب POST إلى المركز، ثم يرسل المركز المحتوى إلى عنوان الرجوع بطلب POST آخر.

قد يبدو رد HTTP 202 Accepted حاسماً. نص التوصية يجعله تأكيداً لاستلام طلب يستطيع المركز التعامل معه، فيما تأتي مراجعة الصلاحية والتحقق من رغبة المشترك لاحقاً. ويستطيع المركز رفض موضوع أو عنوان رجوع وفق سياسته. عليه أن يرسل تحدياً ويتحقق من جوابه. استلام الطلب، وتفعيل الاشتراك، ووصول التحديث ثلاث وقائع مختلفة؛ لوحة تعرض 202 وحده تحتفل قبل بدء التوزيع.

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

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