Sobes.tech
Junior

HTTP javob kodlari nima va ular bir-biridan qanday farq qiladi?

sobes.tech AI

AIdan javob

HTTP javob kodlari — bu mijozning so'roviga javoban server tomonidan qaytariladigan uch xonali raqamlardir. Ular so'rovni qayta ishlash holatini ko'rsatadi va muvaffaqiyatli bajarilganligini, xato yuz berganligini yoki qo'shimcha harakat talab qilinishini haqida ma'lumot beradi.

Kodlar besh sinfga bo'lingan:

  • 1xx (Ma'lumotlar): So'rov qabul qilindi, ishlash davom etmoqda.
  • 2xx (Muvaffaqiyatli): So'rov muvaffaqiyatli qabul qilindi, tushunildi va qayta ishlandi.
  • 3xx (Qayta yo'naltirishlar): Mijoz so'rovni yakunlash uchun qo'shimcha harakatlar qilish kerak.
  • 4xx (Mijoz xatolari): So'rov sintaksis xatosi yoki bajarilmaydi.
  • 5xx (Server xatolari): Server so'rovni bajarolmaydi.

Kodlar ularning semantikasi bilan farqlanadi, bu so'rovni qayta ishlashning turli bosqichlari va mumkin bo'lgan natijalar bilan bog'liq.

Ko'p ishlatiladigan kodlar misollari:

Kod Tavsifi Sinf
200 OK Muvaffaqiyatli
201 Yaratilgan Muvaffaqiyatli
301 Doimiy ravishda ko'chirilgan Qayta yo'naltirishlar
302 Topildi Qayta yo'naltirishlar
400 Yomon so'rov Mijoz xatolari
401 Ruxsat berilmagan Mijoz xatolari
403 Ta'qiqlangan Mijoz xatolari
404 Topilmadi Mijoz xatolari
500 Ichki server xatosi Server xatolari
503 Xizmat mavjud emas Server xatolari
// JavaScriptda HTTP javobini qayta ishlash misoli
fetch('/api/data')
  .then(response => {
    if (response.ok) { // Muvaffaqiyatli holatni tekshirish (2xx)
      return response.json();
    } else {
      // Status kodiga asoslangan xatolarni qayta ishlash
      console.error(`HTTP xatosi: ${response.status}`);
      if (response.status === 404) {
        console.error('Resurs topilmadi.');
      }
      throw new Error(`HTTP xatosi: ${response.status}`);
    }
  })
  .then(data => {
    console.log('Olingan ma'lumotlar:', data);
  })
  .catch(error => {
    console.error('Ma'lumotlarni yuklashda xato:', error);
  });