جستجو برای:
  • خانه
  • مقالات
  • ویدیوهای رایگان
  • رویدادها
  • همکاری با ما
  • تماس با ما
  • info@zerotohero.ir
صفر تا قهرمان
  • خانه
  • مقالات
  • ویدیوهای رایگان
  • رویدادها
  • همکاری با ما
  • تماس با ما
0

ورود و ثبت نام

بلاگ

صفر تا قهرمان > بلاگ > مقالات > طراحی و توسعه‌ی وب > WebHook چیست؟

WebHook چیست؟

اردیبهشت 7, 1397
ارسال شده توسط وحید رجبی
طراحی و توسعه‌ی وب ، گوناگون
1.46k بازدید

در این مقاله قصد داریم تا با مفهوم WebHook آشنا شویم و کاربرد آن را بررسی کنیم. WebHook یک 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 کاملا بستگی به پروژه و نیازمندی های آن دارد. گاهی می‌خواهیم مانند IRC, یک Notiifcation را برای کاربران به صورت نامه الکترونیکی ارسال کنیم. می‌توانیم در پروژه ها داده ها را به صورت Real time در برنامه های دیگر قرار دهیم. برای مثال می‌توانیم سرویس های زیادی را با استفاده از WebHook به Slack اضافه کنیم و برای هریک نیز یک channel مشخص کنیم. در این صورت می‌توانیم اطلاعات دریافتی را به صورت دسته بندی شده نگهداری کنیم. یکی از نمونه هایی که در پروژه های نرم افزاری استفاده می‌شود این است که git پروژه خود را به slack تیم نرم افزاری متصل می‌کنند. به این ترتیب پس از هربار commit توسط تیم توسعه, باقی اعضا نیز مطلع می‌شوند و این همگام سازی می‌تواند به صورت خودکار در مجوعه انجام شود.

بنابرین می‌توانیم با استفاده از WebHook هم درخواست ها به server را بهینه تر کنیم و هم بهتر به رویداد هایی که اهمیت بالایی دارند درسترسی پیدا کنیم. در این مقاله سعی بر این شد تا با مفهوم کلی و استفاده های آن آشنا شویم.

با ما همراه باشید.

اشتراک گذاری:
برچسب ها: web applicationwebhookتوسعه وب

مطالب زیر را حتما مطالعه کنید

درخت دودویی

5 ترفند css3 با عناصر کاذب before:: و after::

آشنایی با Protobuf

7 ویژگی Sass به همراه کد

شروع کار با Sass

آشنایی با برنامه نویسی Back-End

قدیمی تر بررسی وبسایت های وردپرسی با ابزار Wpscan
جدیدتر ویژگی های جدید Constraint Layout

2 دیدگاه

به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.

  • ناشناس گفت:
    مهر 25, 1397 در 12:30 ب.ظ

    کاش یکم واضح تر توضیح میدادید ما هم متوجه بشیم انصافا

    برای پاسخ دادن وارد شوید
    • وحید رجبی گفت:
      مهر 30, 1397 در 11:52 ق.ظ

      سلام. ممنون از همراهیتون. کجاش متوجه نشدید ؟

      برای پاسخ دادن وارد شوید

دیدگاهتان را بنویسید لغو پاسخ

برای نوشتن دیدگاه باید وارد بشوید.

جستجو
جستجو برای:
دسته‌ها
  • ANSYS (15)
  • Matlab (14)
  • Photoshop (3)
  • PowerMill (1)
  • Solidworks (11)
  • آکادمیک (55)
  • اخبار (2)
  • اخبار مجموعه (3)
  • امنیت (26)
  • اندروید (108)
  • اینترنت اشیا (9)
  • بازی سازی (5)
  • پایتون (62)
  • پایگاه داده‌ها (10)
  • جاوا (84)
  • جاوا اسکریپت (41)
  • دارت (1)
  • دسته‌بندی نشده (15)
  • سی شارپ (15)
  • شبکه (27)
  • طراحی و توسعه‌ی وب (103)
  • علم داده‌ها (15)
  • گوناگون (17)
  • لینوکس (21)
  • مدیریت (3)
  • مدیریت پروژه (22)
  • مقالات (39)
  • نرم افزارهای مهندسی (41)
  • نظریه بازی‌ها (3)
  • هنرهای دیجیتال (65)
  • هوش مصنوعی و یادگیری ماشین (15)
  • واقعیت ترکیبی (1)
  • واقعیت مجازی (5)
  • ویدیو (34)
درباره صفرتاقهرمان

مجموعه آموزشی صفرتاقهرمان مستقر در مرکز رشد دانشگاه مازندران، از سال 1395 در کنار شماست و برای مخاطبین عزیز تولید محتوای آموزشی می کند.

تماس
  • بابلسر - خیابان پاسداران - سازمان مرکزی دانشگاه مازندران
  • 01132393860
  • info@zerotohero.ir
دسترسی سریع
  • خانه
  • مقالات
  • ویدیوهای رایگان
  • رویدادها
  • همکاری با ما
  • تماس با ما
logo-samandehi
کلیه حقوق این وب سایت متعلق به شرکت رامان می باشد.

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت