Junior
Кодҳои ҷавоби HTTP чӣ мебошанд ва онҳо дар чӣ фарқ мекунанд?
sobes.tech AI
Ҷавоб аз AI
HTTP жооп коду — бул кардардын суроосуна жооп катары сервер тарабынан кайтарылган үч белгиден турган сандар. Алар суроонун иштетилишинин абалын көрсөтөт жана ал ийгиликтүү аяктадыбы, ката кеттиби же кошумча аракет талап кылынганын билдирет.
Коддор беш класска бөлүнөт:
- 1xx (Маалымат берүүчү): Суроо кабыл алынды, иштетүү уланууда.
- 2xx (Ийгиликтүү): Суроо ийгиликтүү кабыл алынды, түшүндүрүлдү жана иштетилди.
- 3xx (Жөнөтүүлөр): Кардар суроону аяктоо үчүн кошумча аракеттерди жасашы керек.
- 4xx (Кардар ката): Суроо синтаксистик ката камтыйт же иштетилбейт.
- 5xx (Сервер ката): Сервер суроону аткара алган жок.
Коддордун айырмачылыгы алардын семантикасына байланыштуу, ал суроонун ар кандай этаптарында жана мүмкүн болгон жыйынтыктарда колдонулат.
Көп колдонулган коддордун мисалдары:
| Код | Түшүндүрмө | Класс |
|---|---|---|
| 200 | ОК | Ийгиликтүү |
| 201 | Жасалды | Ийгиликтүү |
| 301 | Узакка калтырылган | Жөнөтүүлөр |
| 302 | Табылды | Жөнөтүүлөр |
| 400 | Ката суроо | Кардар ката |
| 401 | Авторизация жок | Кардар ката |
| 403 | Тыюу салынган | Кардар ката |
| 404 | Табылган жок | Кардар ката |
| 500 | Ички сервер ката | Сервер ката |
| 503 | Кызмат жеткиликтүү эмес | Сервер ката |
// JavaScriptте HTTP жоопту иштетүү мисалы
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);
});