Junior
HTTP cavab kodları nədir və onların bir-birindən fərqi nədir?
sobes.tech Süni İntellekt
AI-dan cavab
HTTP cavab kodları, müştərinin sorğusuna cavab olaraq server tərəfindən qaytarılan üçrəqəmli ədədlərdir. Onlar sorğunun emal statusunu göstərir və onun uğurla tamamlanıb-tamamlanmadığını, səhv baş verdiyini və ya əlavə hərəkət tələb olunduğunu bildirir.
Kodlar beş sinfə bölünür:
- 1xx (Məlumatlandırıcı): Sorğu qəbul edildi, emal davam edir.
- 2xx (Uğurlu): Sorğu uğurla qəbul edildi, başa düşüldü və işlənildi.
- 3xx (Yönləndirmələr): Müştərinin sorğunu tamamlaması üçün əlavə hərəkətlər etməsi lazımdır.
- 4xx (Müştəri səhvləri): Sorğu sintaksis xətası ehtiva edir və ya işlənə bilməz.
- 5xx (Server səhvləri): Server sorğunu yerinə yetirə bilmədi.
Kodlar onların semantikası ilə fərqlənir, bu, sorğunun müxtəlif mərhələlərində və mümkün nəticələrdə əlaqəlidir.
Çox istifadə olunan kod nümunələri:
| Kod | Təsviri | Sinif |
|---|---|---|
| 200 | OK | Uğurlu |
| 201 | Yaradıldı | Uğurlu |
| 301 | Daimi olaraq köçürülüb | Yönləndirmələr |
| 302 | Tapıldı | Yönləndirmələr |
| 400 | Yaxşı olmayan sorğu | Müştəri səhvləri |
| 401 | İcazəsiz | Müştəri səhvləri |
| 403 | Qadağan edildi | Müştəri səhvləri |
| 404 | Tapılmadı | Müştəri səhvləri |
| 500 | Daxili server xətası | Server səhvləri |
| 503 | Xidmət mövcud deyil | Server səhvləri |
// JavaScript-də HTTP cavabını emal nümunəsi
fetch('/api/data')
.then(response => {
if (response.ok) { // Uğurlu status yoxlaması (2xx)
return response.json();
} else {
// Status koduna əsasən səhv emalı
console.error(`HTTP xətası: ${response.status}`);
if (response.status === 404) {
console.error('Resurs tapılmadı.');
}
throw new Error(`HTTP xətası: ${response.status}`);
}
})
.then(data => {
console.log('Alınan məlumatlar:', data);
})
.catch(error => {
console.error('Məlumatların yüklənməsində xəta:', error);
});