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);
});