DevOps

کدهای وضعیت HTTP: مرجع کاربردی برای مانیتورینگ و عیب‌یابی.

نویسنده: تیم noc724۳ دقیقه مطالعهبه‌روزرسانی: ۲۶ مهر ۱۴۰۵

هر پاسخ HTTP با یه کد وضعیت سه‌رقمی شروع می‌شه. اولین چیزیه که مانیتور نگاه می‌کنه و اولین سرنخ وقتی چیزی خراب می‌شه. این مرجع کدهایی رو که واقعاً باهاشون روبه‌رو می‌شید و معنای معمولشون در محیط تولید رو پوشش می‌ده.

نکته‌های کلیدی

  • 2xx موفقیت، 3xx ریدایرکت، 4xx مشکل سمت کلاینت، 5xx مشکل سمت سرور.
  • 502، 503 و 504 معمولاً به پراکسی یا لودبالانسری اشاره می‌کنن که به برنامه نمی‌رسه.
  • کد 200 ثابت نمی‌کنه صفحه درسته؛ محتواش رو هم چک کنید.
  • برای هر مانیتور تصمیم بگیرید ریدایرکت‌ها دنبال بشن یا نه.
  • پاسخ‌های 429 تکراری یعنی محدودیت نرخ خوردید، نه اینکه سایت قطعه.
قطعی پیش میاد. زود باخبر شید!

noc724 سایت، سرور و APIهای شما رو شبانه‌روز چک می‌کنه و همون لحظه‌ای که چیزی خراب شد با پیامک، تلگرام یا بله خبرتون می‌کنه.

ثبت‌نام رایگان

پنج دسته

دستهمعنی
1xxاطلاع‌رسانی؛ مانیتورها به‌ندرت می‌بیننش
2xxدرخواست موفق بود
3xxبرو جای دیگه
4xxدرخواست اشتباه بود یا اجازه نداشت
5xxسرور نتونست یه درخواست معتبر رو انجام بده

2xx: موفقیت

کدمعنی
200 OKموفقیت معمولی
201 Createdیه منبع ساخته شد (معمول برای POST)
204 No Contentموفقیت بدون بدنه (رایج برای DELETE یا پینگ سلامت)
206 Partial Contentبخشی از یه فایل برگردونده شد

3xx: ریدایرکت

کدمعنی
301 Moved Permanentlyاز این به بعد آدرس جدید رو استفاده کن؛ موتورهای جستجو رتبه رو منتقل می‌کنن
302 Foundریدایرکت موقت
304 Not Modifiedنسخه‌ی کش‌شده هنوز معتبره
307 / 308ریدایرکت موقت / دائمی که متد درخواست رو حفظ می‌کنه

زنجیره‌ی ریدایرکت (از HTTP به HTTPS به www به مسیر زبان) به هر بازدید اول تأخیر اضافه می‌کنه. حلقه‌ها (A به B و B دوباره به A) سایت رو کاملاً خراب می‌کنن؛ مرورگرها بعد از حدود ۲۰ بار تسلیم می‌شن.

4xx: خطای کلاینت

کدعلت رایج
400 Bad Requestدرخواست، JSON یا هدر نامعتبر
401 Unauthorizedاطلاعات ورود نیست یا نامعتبره
403 Forbiddenاحراز هویت شده ولی اجازه نداره؛ یا فایروال یا WAF جلوش رو گرفته
404 Not Foundآدرس اشتباه، صفحه‌ی حذف‌شده، مسیر خراب بعد از دیپلوی
405 Method Not Allowedمثلاً GET به endpointی که فقط POST قبول می‌کنه
408 Request Timeoutکلاینت در فرستادن درخواست خیلی کند بود
410 Goneعمداً حذف شده
413 Payload Too Largeآپلود بیشتر از سقف سرور
429 Too Many Requestsمحدودیت نرخ

در عمل همه‌ی 4xxها تقصیر کلاینت نیستن. سیل ناگهانی 404 بعد از یه انتشار معمولاً یعنی یه مسیر خراب شده؛ 403 برای همه معمولاً یعنی یه قانون WAF اشتباه شده.

5xx: خطای سرور

کدعلت رایج
500 Internal Server Errorخطای مدیریت‌نشده در برنامه
501 Not Implementedمتد پشتیبانی نمی‌شه
502 Bad Gatewayپراکسی پاسخ نامعتبر گرفته؛ برنامه کرش کرده یا گوش نمی‌ده
503 Service Unavailableبار زیاد، در حال تعمیرات یا هیچ بک‌اند سالمی نیست
504 Gateway Timeoutبرنامه به‌موقع به پراکسی جواب نداد

وقتی 502/504 می‌بینید، پشت پراکسی رو نگاه کنید: پروسس برنامه اجرا می‌شه؟ روی پورت مورد انتظار گوش می‌ده؟ به اندازه‌ی کافی سریعه؟

تنظیم مانیتورها

چی «سالم» حساب بشه؟

بیشتر مانیتورها 2xx و 3xx رو سالم و 4xx/5xx رو خراب حساب می‌کنن. برای هر endpoint تنظیمش کنید:

  • صفحه‌ی مدیریتی که باید ورود بخواد: انتظار 401 یا 302 به صفحه‌ی ورود.
  • endpoint سلامت: دقیقاً 200.
  • APIی که برای چک سلامت 204 برمی‌گردونه: صریحاً مجازش کنید.

دنبال کردن ریدایرکت یا نه

دنبال کردن ریدایرکت صفحه‌ای رو تست می‌کنه که کاربر در نهایت بهش می‌رسه. دنبال نکردنش اجازه می‌ده خود ریدایرکت رو چک کنید؛ مثلاً اینکه HTTP هنوز به HTTPS ریدایرکت می‌شه.

محتوا رو هم چک کنید

صفحه‌ی ورودی که می‌گه «اتصال به دیتابیس برقرار نشد» معمولاً هنوز 200 برمی‌گردونه. برای صفحه‌های مهم، چک وضعیت رو با مانیتورینگ کلمه‌ی کلیدی ترکیب کنید.

می‌تونید کد وضعیت فعلی یه سایت رو با ابزار سایت قطعه؟ فوراً ببینید.

پرسش‌های پرتکرار

  • برای یه صفحه‌ی گم‌شده، نه. برای صفحه‌ی اصلی، پرداخت یا مسیر API، بله؛ دیپلویی که مسیریابی رو خراب کنه دقیقاً همین رو تولید می‌کنه.

  • 502 یعنی پراکسی پاسخ بد یا هیچ پاسخی نگرفته (معمولاً اتصال رد شده). 504 یعنی منتظر مونده و برنامه بیش از حد طول کشیده.

  • معمولاً نه به‌عنوان قطعی. اگه مانیتورتون 429 می‌گیره، از صاحب سایت بخواید IPهای مانیتورینگ رو مجاز کنه یا فاصله‌ی چک‌ها رو بیشتر کنید.

اشتراک‌گذاری مقاله:ایکستلگراملینکدینفیسبوکردیت
noc724

نویسنده

تیم noc724

تیم فنی مانیتورینگ آپتایم

ما noc724 رو می‌سازیم و اداره می‌کنیم؛ سرویس مانیتورینگ آپتایمی که سایت، سرور و API رو از چند شهر ایران چک می‌کنه. این راهنماها از مشکل‌هایی میان که خودمون و کاربرهامون موقع آنلاین نگه داشتن سرویس‌ها باهاشون روبه‌رو می‌شیم.

تماس با تیم

تخصص:DevOps

سؤالی دارید؟تماس با پشتیبانی
پیشنهادی دارید؟بفرستید

تازه‌ترین مقاله‌ها