درخواست-پاسخ

درخواست-پاسخ یا کنش-واکنش، (به انگلیسی: Request–response, or request–reply)، یکی از متدهای پایهٔ رایانه‌ها برای ارتباط با یکدیگر است، به این صورت که رایانه‌ٔ نخست یک درخواست را برای برخی از داده‌های مورد نیازش به رایانهٔ دوم می‌فرستد و رایانه دوم پاسخ آن درخواست را می‌دهد. معمولاً تا زمانی که پیامِ کامل فرستاده شود یک سری از مبادلات این چنینی میان رایانه‌ها وجود دارد؛ مرور یک صفحهٔ وب نمونه‌ای از ارتباطات درخواست-پاسخی (کنش-واکنشی) است. ارتباطات درخواست-پاسخ را می‌توان مانند یک تماس تلفنی در نظر گرفت، به‌این‌صورت که شما با کسی تماس می‌گیرید و آن شخص نیز به شما پاسخ می‌دهد.

درخواست-پاسخ یک الگوی مبادله پیام است که یک درخواست‌کننده پیامِ درخواستی را برای یک سیستم پاسخ‌دهنده که درخواست را دریافت و پردازش می‌کند، می‌فرستد؛ و در نهایت پاسخ‌دهنده پیامی را در قالب پاسخ بازمی‌گرداند. این یک الگوی پیام‌رسانی ساده اما قدرتمند است که به دو برنامه اجازه می‌دهد تا یک مکالمه دوطرفه با یکدیگر در یک کانال داشته باشند. این الگو به‌ویژه در کارخواه-کارساز رایج است.

برای سادگی، این الگو معمولاً بر روشی کاملاً همگام اجرا می‌شود، همانند تماس‌های وب سرویس در HTTP که ارتباطی را باز نگه می‌دارد و صبر می‌کند تا پاسخ تحویل داده شود یا فرصت زمانی (timeout) به پایان برسد. با این حال درخواست-پاسخ ممکن است ناهمگام نیز اجرا شود اگر که قرار باشد پاسخی در زمان نامشخص دیگری بازگشت داده شود. وقتی که یک راژمان (سامانه) همگام با یک راژمان ناهمگام در ارتباط باشد به آن «همگام با ناهمگام» یا «همگام/ناهمگام» گفته می‌شود.

همگام با ناهمگام موضوعی‌ست رایج در پیاده‌سازی‌های یکپارچه‌سازی سیستم‌های کاربردی سازمان (EAI) در توابع تجمیعی کُند، توابع زمانبر و یا در زمانی که باید یک گردش کار انسانی انجام شود قبل از اینکه پاسخی ساخته یا تحویل داده شود.

در مقابل، ارتباطات رایانه‌ای یک‌طرفه، پیامی را می‌فرستد بدون اینکه منتظر پاسخی بماند. مانند ویژگی بگیر و صحبت کن (push-to-talk) یا ویژگی «barge in» که در برخی گوشی‌ها و رادیوهای دوطرفه وجود دارد. فرستادن یک رایانامه و همچنین سنسورهای فیلدباس نیز مثالی از ارتباط یک‌طرفه است؛ از جمله بسیاری از سنسورهای کن باس که به صورت خودگردان و دوره‌ای دادهٔ خود را ارسال می‌کنند، خواه دستگاه دیگری در اتوبوس منتظر این داده باشد خواه نباشد. (بیشتر این سیستم‌ها از «آماده به گوش» (listen before talk) یا دیگر پروتکل‌های مبتنی بر بحث استفاده می‌کنند بنابراین سنسورهای چندگانه می‌توانند به‌روزرسانی‌های دوره‌ای را بدون هماهنگی قبلی منتقل کنند.)

جستارهای وابسته 
 Futures and promises
 الگوی پیام‌رسانی
 Publish/subscribe
 فراخوانی روند از راه دور

منابع

پیوند به بیرون 
 W3C single-request-response pattern

پروتکل‌های شبکه