وب هوک یا Webhook که گاهی با نام های web callback و HTTP push API نیز شناخته می شود راهی برای یک برنامه است که سایر برنامه ها را با اطلاعات real-time ارائه کند. در ادامه شما را با مفهوم وب هوک بیشتر آشنا خواهیم کرد، همراه داتیس نتورک باشید.
Webhook چیست؟
وب هوک که گاهی با نام های web callback و HTTP push API نیز شناخته می شود راهی برای یک برنامه است که سایر برنامه ها را با اطلاعات real-time ارائه کند.
یک وب هوک هر زمان که بخواهید داده را به برنامه های دیگر تحویل می دهد ، یعنی فورا داده ها را دریافت می کنید.
یک Webhook در توسعه وب روشی است برای تقویت یا تغییر رفتار یک صفحه وب یا برنامه وب با callback.
این callbacks ها ممکن است توسط کاربران و توسعه دهندگان شخص ثالث که لزوماً وابسته به وب سایت یا برنامه اصلی نیستند ، حفظ ، اصلاح و مدیریت شود.
وب هوک یک callback از نوع HTTP است.
گاهی یک اتفاقی رخ میدهد و یک رویداد به عنوان پاسخ آن ایجاد میشود. به این رویداد callback میگویند.
در حقیقت WebHook نیز یک پیام از نوع HTTP Post است که پس رخ دادن یک اتفاق ایجاد میشود.
یک Web Application که WebHook در آن پیاده سازی شده باشد, پس از اتفاق افتادن یک عمل مشخص, یک پیام را با متد POST به یک URL مشخص ارسال میکند و گیرنده پس از دریافت این پیام, از وقوع آن عمل مطلع میگردد.
همانطور که از ساختار آن مشخص است, دیگر نیاز به polling برای دریافت اطاعات جدید نداریم.
برای کاربران, WebHook تنها یک راه برای اطلاع از وقوع یک رویداد است که در واقع به آن pushing گویند.
این عمل در مقابل polling قرار میگیرد.
پیش از این نیاز بود تا به صورت متناوب و در زمان های مشخص یک درخواست به web application ارسال شود و مقادیر جدید را دریافت کند.
در بعضی از پروژه ها این عمل باعث میشود تا یک بار بیهوده بر روی server قرار گیرد.
زیرا معمولا داده ها به عوامل خارجی وابسته هستند و نمیتوان زمان دقیقی را برای دریافت اطلاعات جدید تعیین کرد.
بنابراین برای مواردی از این دست, WebHook میتواند یک انتخاب مناسب باشد.
علت دیگری که میتوانیم webHook را انتخاب کنیم, عمل piping است.
pipe به زمانی گفته میشود که داده به صورت real time دریافت میشود و پس از انجام یکسری فرآیند ها آنرا منتشر کند.
برای مثال :
یک WebHook ایجاد میکنیم تا هر زمان یک پست از مجموعه صفر تا قهرمان منتشر شد, یک پیام اطلاع رسانی در Twitter نیز منتشر شود.
در این مثال ما پست جدیدا را عینا منتشر نمیکنیم بلکه از وقوع آن رویداد استفاده میکنیم.
plugin یکی دیگر از ویژگی های WebHook است.
با استفاده از این ویژگی میتوانیم یک برنامه را توسعه دهیم.
به این صورت که میتوانیم یکسری از داده ها را دریافت و پس از پردازش آن, مقدار معینی را برگردانیم.
نمونه بارز آن Facebook است.
Application هایی هستند که بر روی Facebook platfom توسعه داده شدهاند.
وقتی یک کاربر میخواهد به یک application دسترسی پیدا کند, Facebook یک WebHook را برای برنامه ارسال میکند و به برنامه اطلاع میدهد که یک کاربر قصد دارد تا از این برنامه استفاده کند.
برنامه نیز در پاسخ آدرسی که کاربر باید به آن هدایت شود را مشخص میکند.
به این ترتیب با استفاده از خاصیت plugin میتوانیم یک داده را ارسال کنیم و بر اساس پاسخ دریافت شده از آن داده استفاده کنیم.
با استفاده از این امکان میتوانیم برنامه های تحت وب را گسترش دهیم.
سخن پایانی
امیدواریم مقاله آشنایی با Webhook برای شما عزیزان مفید بوده باشد.
داتیس نتورک را در شبکه های اجتماعی دنبال کنید.