مرجع
آخر الزيارات

خطاف الويب

499 كلمة•0 مشاهدة•🗒️ منذ 21 ساعة
باختصار: خطاف الويب (بالإنجليزية : Webhook) هو وظيفة رد اتصال تعتمد على بروتوكول نقل النص المُتشعِّب (بالإنجليزية : HTTP) تتم إثارتها تلقائيًا عند وقوع حدث معين في النظام المُصدِر، وإرساله إلى النظام المُستقبِل باستعمال عنوان هذا الأخير المُعَرَّف…. في هذه المقالة 3 أقسام: «نشرتعليق على مدونة»، «كيفية الإشتغال» و«مصادقة إشعار خطاف الويب».
المحتويات
  1. نشرتعليق على مدونة
  2. كيفية الإشتغال
  3. مصادقة إشعار خطاف الويب

في البداية، خطاف الويب (بالإنجليزية : Webhook) هو وظيفة رد اتصال تعتمد على بروتوكول نقل النص المُتشعِّب (بالإنجليزية : HTTP) تتم إثارتها تلقائيًا عند وقوع حدث معين  في النظام المُصدِر، وإرساله إلى النظام المُستقبِل باستعمال عنوان هذا الأخير المُعَرَّف بـمحدد موقع الموارد المُوحّد (بالإنجليزية : URL ) والذي تم تكوينه لخطاف الويب، ويكون ردُّ الاتصال مصحوبًا غالبا بحمولة من البيانات معتمدة على تنسيق جسون. وفيما يلي تفاصيل أوسع عن ذلك.

  • من بين الأحداث التي تثير خطاف الويب يمكننا ذكر مثلًا:
  • بدء دردشة
  • انتهاء دردشة

علاوةً على ذلك، يُطلق على عنوان محدد موقع الموارد المُوحّد هذا اسم نقطة نهاية الاتصال لـخطاف الويب. ويجب أن تكون نقاط نهاية الاتصال عامة أي غير محجوبة عن أحد بل ممكنة الوصول لأي كان من خلال الانترنت، ومن المهم أن يكون هذا العنوان  ( أي محدد موقع الموارد المُوحّد) مِلْكا للنظام المُستَقبِل أو المقصود.

نشرتعليق على مدونة

والكثير من حالات أخرى.

كيفية الإشتغال

وعلى صعيد آخر، يقوم كل منهما بتبادل البيانات ضمن نسق جسون أو لغة التوصيف القابلة للتوسعة (بالإنجليزية : XML).

  • مقارنة بين خطاف الويب و واجهة برمجة التطبيقات
  • أوجه الشبه:
  • يتيح كل منهما إمكانية تبادل البيانات بين التطبيقات والخدمات المختلفة.
  • يستعمل كل منهما بروتوكول نقل النص المُتشعِّب لإرسال الطلبات وتلقيها.

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

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

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

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

أوجه الاختلاف:

مصادقة إشعار خطاف الويب

وفي السياق ذاته، عندما يقوم العميل (موقع الويب أو التطبيق الأصلي أو التطبيق المُرسِل) بإجراء اتصال عبر الويب بخادم لمستعمل ما، يجب مصادقة طلب الإرسال ( بالإنجليزية: POST) الوارد لتجنب هجوم الانتحال والتحقق من الطابع الزمني الخاص به لتجنب هجوم إعادة التشغيل.

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

وعلى صعيد آخر، يمكن استخدام المصادقة الأساسية  لبروتوكول نقل النص المُتشعِّب لمصادقة النظام المُرسِل

ومن ناحية أخرى، قد يختار المُرسل استعمال عنوان ضمن قائمة ثابتة من عناوينو بروتوكول الإنترنت التي سيتم إرسال الطلبات منها. أمنيًا لا يعد هذا إجراءً كافيًا في حد ذاته، ولكنه مفيد عندما تكون نقطة النهاية المُستَقبِلة خلف جدار الحماية أو يستعمل آلية ترجمة عنوان الشبكة ( بالإنجليزية: NAT).

و يمكن استخدام تقنيات مختلفة لمصادقة العميل:

وفي هذا الصدد، يمكن استخدام مصادقة بروتوكول طبقة المقابس الآمنة (بالإنجليزية : TLS) المتبادلة عند إنشاء الاتصال بين المُرسِل والمُستَقبِل مما يُمكّنُ المُستَقبِل من التحقق من شهادة العميل.

وفي هذا الصدد، يمكن اللجوء إلى تقنية تضمين توقيع رمز مصادقة الرسالة استنادًا على التجزئة ذات المفتاح كترويسة  بروتوكول نقل النص المُتشعِّب كما يفعل  كل من غيت هاب و فيسبوك مثلا.

ما رأيك في هذه المقالة؟

📝 هل في هذه المقالة خطأ؟

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