Junior
Ինչ են HTTP պատասխանային կոդերը և ինչպե՞ս են դրանք միմյանցից տարբերվում:
sobes.tech AI
Պատասխան AI-ից
HTTP պատասխան կոդերը՝ դա երեքանիշ թվեր են, որոնք սերվերը վերադարձնում է հաճախորդի հարցման պատասխան։ Նրանք ցույց են տալիս հարցման մշակման կարգավիճակը և տրամադրում են տեղեկություններ այն մասին, արդյոք այն հաջողությամբ ավարտվել է, թե տեղի է ունեցել սխալ կամ անհրաժեշտ է լրացուցիչ գործողություն:
Կոդերը բաժանվում են հինգ դասի.
- 1xx (Տեղեկատվական): Հարցումը ընդունվել է, մշակումը շարունակվում է:
- 2xx (Հաջող): Հարցումը հաջողությամբ ընդունվել է, հասկացվել և մշակվել:
- 3xx (Ուղղումներ): Հաճախորդը պետք է ձեռնարկի լրացուցիչ գործողություններ հարցումը ավարտելու համար:
- 4xx (Հաճախորդի սխալներ): Հարցումը պարունակում է սինտաքսիկ սխալ կամ չի կարող մշակվել:
- 5xx (Սերվերի սխալներ): Սերվերը չի կարող կատարել հարցումը:
Կոդերի տարբերությունները կապված են նրանց սեմանտիկայի հետ, որը վերաբերում է հարցման տարբեր փուլերին և հնարավոր արդյունքներին:
Նմուշներ հաճախ օգտագործվող կոդերի:
| Կոդ | Նկարագրություն | Կլաս |
|---|---|---|
| 200 | ՕԿ | Հաջողված |
| 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);
});