TGViewer
Computer Science | علم کامپیوتر Computer Science | علم کامپیوتر @computer_science100 · 46.8K subscribers
Post #18515 233
📌 خاصیت Idempotency (هم‌توانی) در API چیه و چرا توی درگاه پرداخت حیاتیه؟

تصور کن اینترنت کاربر ضعیفه و دکمه «پرداخت ۵۰۰ هزار تومان» رو چند بار پشت سر هم می‌زنه، یا درخواست اول ارسال میشه ولی پاسخش به خاطر قطعی نت به کاربر نمی‌رسه و سیستم دوباره تلاش می‌کنه (Retry). اگر سرور درست طراحی نشده باشه، از حساب کاربر چند بار پول کسر میشه!
خاصیت Idempotent یعنی چی؟ یک عملیات زمانی Idempotent است که اجرای چندین‌باره اون دقیقاً همان اثری رو داشته باشه که یک‌بار اجرا شدنش داره؛ نه بیشتر و نه کمتر.
متدهای GET, PUT, DELETE در استاندارد REST باید خاصیت Idempotent داشته باشن. (مثلاً حذف یک رکورد مشخص، بار اول حذفش می‌کنه و دفعات بعد رکوردی نیست، پس وضعیت دیتابیس تغییری نمی‌کنه).
اما متد POST ذاتاً Idempotent نیست و با هر بار اجرا یک رکورد جدید می‌سازه.
🛠 راه‌حل پیاده‌سازی: استفاده از Idempotency-Key. سمت کلاینت یک کلید یکتا (مثل UUID) برای درخواست می‌‌سازید و در هدر می‌فرستید. سرور این کلید رو بررسی می‌کنه؛ اگه قبلاً پردازش شده بود، بدون اجرای دوباره تراکنش، همون نتیجه قبلی رو برمی‌گردونه.


🖥 @Computer_Science100
More from @computer_science100
  1. Oct 1, 2026📌 چرا سرعت دانلودت با سرعتی که از شرکت خریدی فرق داره؟ (تفاوت Bit و Byte) دیدی رفتی اینتر…
  2. Sep 30, 2026💀 چرا زبان C بعد از ۵۰ سال هنوز نمرده؟ چون پایتون، جاوااسکریپت و بقیه زبون‌های گوگولی فقط…
  3. Sep 30, 2026✅ باورتون میشه این گوشی نوکیا به کلاد وصل شده؟؟ 🖥 @Computer_Science100
  4. Sep 30, 2026@Computer_Science100
  5. Sep 29, 2026@Computer_Science100
  6. Sep 28, 2026✅رابط کاربری بسیار روان آیفون دوئو @Computer_Science100
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →