برنامه نویسی

فراتر از 200، 404 و 500: کاوش کدهای وضعیت HTTP کمتر شناخته شده – انجمن DEV

اخیراً، هنگام عیب‌یابی مشکل یک API شخص ثالث، با کد وضعیت HTTP روبرو شدم که مدتی بود ندیده بودم. فراتر از 200 (OK)، 404 (نه یافت نشد)، یا 500 (خطای سرور داخلی)، این یکی از موارد کمتر شناخته شده بود و من را علاقه مند کرد. بنابراین، تصمیم گرفتم به مقالات دیگری در مورد کدهای وضعیت غیر معمول نگاه کنم. در این مقاله، من می خواهم برخی از این موارد را که خودم زیاد استفاده نکرده ام به اشتراک بگذارم.

  • 202 (پذیرفته شده): نشان می دهد که یک درخواست دریافت و درک شده است، اما بلافاصله به آن عمل نمی شود، معمولا برای کارهای ناهمزمان مفید است.

  • 204 (بدون محتوا): این کد وضعیت که اغلب در عملیات DELETE استفاده می شود، یک درخواست موفقیت آمیز را نشان می دهد که نیازی به پاسخ بیشتر ندارد.

  • 205 (بازنشانی محتوا): به مشتری دستور می‌دهد نمای سند خود را بازنشانی کند، که احتمالاً هنگام تنظیم مجدد رابط کاربری مفید است.

  • 206 (محتوای جزئی): اگر فقط بخشی از منبع ارسال شود، پس از یک سربرگ محدوده از مشتری، این کد وضعیت استفاده می شود، که معمولا برای مدیریت فایل های بزرگ مفید است.

  • 207 (چند وضعیت): این برای ارائه چندین پاسخ مستقل برای یک درخواست واحد، که عمدتاً در نگارش و نسخه‌سازی توزیع شده وب (WebDAV) استفاده می‌شود، استفاده می‌شود.

  • 226 (IM استفاده شده): این کد وضعیت نشان می دهد که سرور یک درخواست GET برای منبع را برآورده کرده است و پاسخ نمایشی از نتیجه یک یا چند نمونه-دستکاری اعمال شده در نمونه فعلی است. زمانی مفید است که مشتری یک سری از درخواست‌های محدوده را اعمال کرده باشد، با کد وضعیت 226 که نشان می‌دهد کل مجموعه انجام شده است.

  • 301 (به طور دائم منتقل شد): اعلام می کند که URL یک منبع برای همیشه تغییر کرده است، که در طول بازسازی URL یا انتقال وب سایت ضروری است.

  • 304 (تغییر نشده): این کد وضعیت به مشتری اطلاع می دهد که نسخه ذخیره شده پاسخ هنوز معتبر است.

  • 307 (تغییر مسیر موقت): انتقال موقت منبع را نشان می‌دهد و به مشتریان پیشنهاد می‌کند برای درخواست‌های بعدی از URL اصلی استفاده کنند.

  • 409 (تعارض): نشان دهنده تضاد در پارامترهای درخواست، مانند به روز رسانی همزمان در یک منبع واحد از مشتریان مختلف است.

  • 418 (من قوری هستم): در حالی که یک تخم مرغ عید پاک طنزآمیز از سال 1998 است، توسط برخی APIها برای محدود کردن نرخ استفاده می شود.

  • 422 (موجود غیرقابل پردازش): نشان می دهد که سرور نمی تواند درخواست را پردازش کند، علی رغم درک نحو آن، که معمولاً در RESTful API و WebDAV با آن مواجه می شویم.

  • 429 (درخواست های خیلی زیاد): این کد وضعیت برای پیاده سازی محدودیت نرخ استفاده می شود، در نتیجه از اضافه بار احتمالی سرور جلوگیری می کند.

  • 451 (به دلایل قانونی در دسترس نیست): سرورها به دلیل نیازهای قانونی به این کد وضعیت متوسل می شوند تا از دسترسی به منابع خودداری کنند.

اینها تنها تعدادی از کدهای وضعیت متعدد تعریف شده در HTTP هستند. با این حال، همه آنها راه خود را به استفاده روزمره باز نمی کنند، در حالی که بقیه در سناریوهای خاص یا اسناد API پنهان می مانند. اگر در سفر توسعه خود با کد وضعیت غیرعادی برخورد کرده اید یا کد خاصی دارید که به نظرتان جالب است، دوست دارم در مورد آن بشنوم. لطفا تجربیات خود را در نظرات به اشتراک بگذارید.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا