Sobes.tech
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);
  });