Junior
HTTP жауап кодтары дегеніміз не және олар бір-бірінен қалай ерекшеленеді?
sobes.tech AI
AI-дан жауап
HTTP-жауап кодтары — бұл клиенттің сұранысына жауап ретінде сервер қайтарған үш таңбалы сандар. Олар сұраныстың өңделу мәртебесін көрсетеді және оның сәтті орындалғанын, қате болғанын немесе қосымша әрекетті қажет ететінін туралы ақпарат береді.
Кодтар бес классқа бөлінеді:
- 1xx (Ақпараттық): Сұраныс қабылданды, өңдеу жалғасуда.
- 2xx (Жетістікті): Сұраныс сәтті қабылданды, түсінілді және өңделді.
- 3xx (Қайта бағыттау): Клиентке сұранысты аяқтау үшін қосымша әрекеттер жасау қажет.
- 4xx (Клиент қатесі): Сұраныс синтаксистік қате немесе орындалмайды.
- 5xx (Сервер қатесі): Сервер сұранысты орындауда сәтсіздікке ұшырады.
Кодтар арасындағы айырмашылық олардың семантикасына байланысты, ол сұраныстың өңделу кезеңдері мен мүмкін нәтижелеріне қатысты.
Жиі қолданылатын кодтардың мысалдары:
| Код | Сипаттама | Класс |
|---|---|---|
| 200 | OK | Жетістікті |
| 201 | Жасалды | Жетістікті |
| 301 | Мәңгілік орын ауыстырылды | Қайта бағыттау |
| 302 | Табылды | Қайта бағыттау |
| 400 | Қате сұраныс | Клиент қатесі |
| 401 | Рұқсат жоқ | Клиент қатесі |
| 403 | Тыйым салынған | Клиент қатесі |
| 404 | Табылмады | Клиент қатесі |
| 500 | Ішкі сервер қатесі | Сервер қатесі |
| 503 | Қызмет қол жетімсіз | Сервер қатесі |
// HTTP-жауапты JavaScript-те өңдеу мысалы
fetch('/api/data')
.then(response => {
if (response.ok) { // Жетістікті статусын тексеру (2xx)
return response.json();
} else {
// Статус коды негізінде қателерді өңдеу
console.error(`HTTP қатесі: ${response.status}`);
if (response.status === 404) {
console.error('Ресурс табылмады.');
}
throw new Error(`HTTP қатесі: ${response.status}`);
}
})
.then(data => {
console.log('Алынған деректер:', data);
})
.catch(error => {
console.error('Деректерді жүктеу қатесі:', error);
});