Status code — HTTP server javobining umumiy natijasini bildiruvchi uch xonali kod. Kod clientga so‘rov muvaffaqiyatli bajarilgani, qo‘shimcha amal kerakligi yoki xato yuz berganini standart shaklda ko‘rsatadi. Birinchi raqam javob sinfini belgilaydi. Status code batafsil xato matnining o‘rnini to‘liq bosmaydi, lekin brauzer, proxy, SDK va monitoring tizimlari uchun asosiy mashina-o‘qiladigan signal hisoblanadi.
1xx — axborot javoblari
1xx kodlari so‘rov jarayoni davom etayotganini bildiradi. 100 Continue clientga request bodyni yuborishni davom ettirish mumkinligini ko‘rsatadi. 101 Switching Protocols server protokolni o‘zgartirishga rozi bo‘lganida ishlatiladi. 103 Early Hints yakuniy javobdan oldin ayrim resurslarni tayyorlash uchun headerlar yuborishga imkon beradi.
2xx — muvaffaqiyat
200 OK muvaffaqiyatli so‘rov uchun umumiy javobdir. 201 Created yangi resurs yaratilganini bildiradi; Location headeri uning URI sini ko‘rsatishi mumkin. 202 Accepted so‘rov qabul qilinganini, lekin qayta ishlash hali tugamaganini anglatadi. 204 No Content amal muvaffaqiyatli, javob body esa yo‘qligini bildiradi.
Kod tanlash operatsiyaning haqiqiy holatiga mos bo‘lishi kerak. Navbatga qo‘yilgan uzoq vazifaga 200 bilan “tugadi” deb javob berish clientga noto‘g‘ri ma’no beradi; bunday holatda 202 va holatni tekshirish manzili ishlatilishi mumkin.
3xx — qayta yo‘naltirish
301 Moved Permanently resursning doimiy, 302 Found esa vaqtinchalik boshqa manzilda ekanini ko‘rsatadi. 303 See Other clientni odatda GET orqali boshqa URI ga yo‘naltiradi. 307 Temporary Redirect va 308 Permanent Redirect qayta so‘rovda original HTTP metod va bodyni saqlashni talab qiladi.
304 Not Modified oddiy redirect emas. U shartli GET yoki HEAD so‘roviga javoban cachedagi representation hali yaroqli ekanini bildiradi va body yubormaydi.
4xx — client tomoni
400 Bad Request sintaksis yoki umumiy kiritma xatosi uchun ishlatiladi. 401 Unauthorized amalda autentifikatsiya talab qilinishini yoki credential yaroqsizligini bildiradi. 403 Forbidden server foydalanuvchini tanigan bo‘lsa ham amalni taqiqlaydi. 404 Not Found resurs topilmaganini, 409 Conflict joriy holat bilan to‘qnashuvni, 422 Unprocessable Content esa sintaktik to‘g‘ri, lekin semantik jihatdan bajarib bo‘lmaydigan mazmunni bildiradi. 429 Too Many Requests rate limit oshganida qaytariladi.
5xx — server tomoni
500 Internal Server Error kutilmagan server xatosining umumiy kodidir. 502 Bad Gateway gateway yuqori serverdan yaroqsiz javob olganini, 503 Service Unavailable xizmat vaqtincha mavjud emasligini bildiradi. 504 Gateway Timeout yuqori server belgilangan vaqtda javob bermaganida ishlatiladi.
5xx kodlari client kiritmasidagi oddiy validatsiya xatosi uchun ishlatilmaydi. Javob bodyda xavfsiz xato identifikatori va tushunarli tavsif berilishi mumkin, lekin stack trace, maxfiy kalit yoki ichki SQL kabi ma’lumotlar oshkor qilinmaydi.
HEAD va body cheklovi
HEAD so‘rovining javobi mos GET javobidagi headerlarga ega bo‘lishi mumkin, ammo response body yuborilmaydi. 204 No Content va 304 Not Modified javoblarida ham body semantik jihatdan mavjud emas. Client kutubxonasi status code bilan birga metodni ham hisobga oladi. Shuningdek, ayrim kodlar proxy yoki brauzer tomonidan avtomatik qayta ishlanishi mumkin; masalan, redirectda Location headeri asosida yangi so‘rov yuboriladi.
Bog‘liq tushunchalar
HTTP, request, response, redirect, cache, autentifikatsiya, API xatosi