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