← ყველა ხელსაწყო

HTTP სტატუს კოდების ახსნა

ნათელი გზამკვლევი HTTP სტატუს კოდებზე — რას ნიშნავს 200, 301, 404, 500 და სხვა, ხუთი კლასი და რჩევები SEO-სა და გამართვისთვის.

HTTP სტატუს-კოდები ახსნილი, 200-დან 503-მდე

ყოველ ჯერზე, როცა თქვენი ბრაუზერი ვებ-სერვერს რაიმეს სთხოვს, სერვერი პასუხობს სამციფრიანი რიცხვით, სანამ უკან HTML-ს, სურათს ან JSON-ს გამოგზავნის. ეს რიცხვი HTTP სტატუს-კოდია, და ეს არის სერვერის მოკლე გზა, გითხრათ, რა მოხდა: გვერდი აქ არის, ის გადავიდა, თქვენ არ გაქვთ შესვლის უფლება, ან რაღაც ჩვენი მხრიდან მოტყდა. უმეტესად ამ კოდებს ვერასდროს ხედავთ, რადგან ყველაფერი მუშაობს და გვერდი უბრალოდ იტვირთება. მაგრამ როგორც კი საიტი გაუმართავად იქცევა, სტატუს-კოდი ის პირველი მინიშნებაა, რომლის წაკითხვაც ღირს.

რიცხვები შემთხვევითი არაა. პირველი ციფრი ყოველ პასუხს ხუთი ოჯახიდან ერთ-ერთში ალაგებს, ასე რომ, თუნდაც უცნობმა კოდმა, თავისივე პირველი ციფრით, დაახლოებით გითხრათ, რა შეცდა. ისწავლეთ ხუთი ოჯახი და თითქმის ნებისმიერი პასუხის ერთი შეხედვით წაკითხვას შეძლებთ.

ვების მოთხოვნებისა და პასუხების აბსტრაქტული ვიზუალიზაცია მოციმციმე მწვანე, ქარვისფერი და წითელი სტატუსის შუქებით
ყოველი მოთხოვნა ერთ პასუხს იღებს უკან: მწვანე — წარმატებისთვის, ქარვისფერი — გადამისამართებისთვის ან ლოდინისთვის, წითელი — ხარვეზისთვის.

ხუთი კლასი

1xx ინფორმაციული. სერვერმა მიიღო თქვენი მოთხოვნა და ჯერ კიდევ მუშაობს მასზე. ეს იშვიათია ყოველდღიურ დათვალიერებაში და ჩვეულებრივ ჩუმად, ბრაუზერსა და სერვერს შორის მუშავდება. 100 Continue კლასიკური მაგალითია, რომელიც კლიენტს ეუბნება, რომ დანარჩენი, დიდი მოთხოვნის ტანის გაგზავნა შეიძლება.

2xx წარმატება. მოთხოვნამ იმუშავა. 200 OK ის კოდია, რომლის ხილვაც მთელი დღე გინდათ, რაც ნიშნავს, რომ რესურსი ნაპოვნია და უკვე გზაშია. 201 Created ჩნდება ფორმის ან API გამოძახების გაგზავნის შემდეგ, რომელიც რაღაც ახალს ქმნის, ხოლო 204 No Content ნიშნავს, რომ ქმედება წარმატებული იყო, მაგრამ საჩვენებელი არაფერია.

3xx გადამისამართება. ის, რასაც ითხოვდით, სხვა ადგილას ცხოვრობს, და ბრაუზერი ჩვეულებრივ ავტომატურად მიჰყვება. გადამისამართებები ძველ ბმულებს ცოცხალს ინახავს და დიდი მნიშვნელობა აქვს საძიებო რანჟირებისთვის.

4xx კლიენტის ხარვეზი. მოთხოვნაში რაღაც თქვენს მხარეს სცდა: არასწორი URL, არშესული ავტორიზაცია, ან რესურსი, რომელიც არ არსებობს. სერვერი ჯანმრთელია — მას უბრალოდ არ შეუძლია იმის მიღება, რაც გამოაგზავნეთ.

5xx სერვერის ხარვეზი. თქვენი მოთხოვნა კარგად იყო, მაგრამ სერვერმა მისი დამუშავებისას წაჰკრა ფეხი. ეს საიტის ინფრასტრუქტურაზე მიუთითებს და არა თქვენზე.

კონკრეტული კოდები, რომლებსაც ხალხი ნამდვილად ეძებს

200 OK უბრალო წარმატებაა. გვერდი ან მონაცემი ისე ჩაიტვირთა, როგორც ველოდით.

301 Moved Permanently ბრაუზერებსა და საძიებო სისტემებს ატყობინებს, რომ გვერდს ახალი, მუდმივი ადგილსამყოფელი აქვს. ეს SEO-სთვის მეგობრული გადამისამართებაა, რადგან ის რანჟირების სიგნალებს ძველი URL-იდან ახალზე გადააქვს. გამოიყენეთ ის, როცა URL-ს სამუდამოდ ცვლით.

302 Found დროებითი გადამისამართებაა. საწყისი URL კვლავ ნამდვილია, ასე რომ, საძიებო სისტემები მას განაგრძობენ ინდექსირებას და არა დანიშნულების გვერდს. მიმართეთ 302-ს მხოლოდ მაშინ, როცა გადატანა ნამდვილად ხანმოკლეა, მაგალითად, მომხმარებელთა სეზონურ სადესანტო გვერდზე გადამისამართებისას.

304 Not Modified სწრაფი დათვალიერების ჩუმი გმირია. ის ბრაუზერს ეუბნება, რომ ქეშში უკვე მდგარი ასლი კვლავ აქტუალურია, ასე რომ, სერვერი ფაილის ხელახლა გაგზავნას ტოვებს. ნაკლები მონაცემი, უფრო სწრაფი გვერდები.

400 Bad Request ნიშნავს, რომ სერვერს მოთხოვნის გაგებაც კი ვერ შეძლო, ხშირად არასწორი სინტაქსის ან არავალიდური პარამეტრის გამო.

401 Unauthorized დაახლოებით ნიშნავს „არ ვიცი, ვინ ხართ, გთხოვთ ავტორიზაცია გაიაროთ." თქვენ ვალიდური ავტორიზაციის მონაცემები აკლიათ.

403 Forbidden სხვაგვარია: სერვერმა იცის, ვინ ხართ, და მაინც უარს გეუბნებათ. თქვენ ნებართვა გაკლიათ, და ხელახლა შესვლა არაფერს შველის.

404 Not Found ყველაზე ცნობილი კოდია. სერვერი ცოცხალია და გიპასუხათ, მაგრამ ამ მისამართზე არაფერია. ის ჩვეულებრივ ცდომილად აკრეფილი ბმულიდან, ან წაშლილი ან გადამისამართების გარეშე გადატანილი გვერდიდან მოდის.

429 Too Many Requests ნიშნავს, რომ თქვენ სიხშირის შეზღუდვას (rate limit) დაექვემდებარეთ. ძალიან ბევრი მოთხოვნა ძალიან მოკლე ვადაში გამოგზავნეთ, და სერვერი გთხოვთ, შეანელოთ. API-ები ამას მუდმივად იყენებს.

500 Internal Server Error ზოგადი „რაღაც გაუმართავია" პასუხია. სერვერმა მოულოდნელ პირობას წააწყდა და დანებდა, მაგრამ არ ამბობს, რა. შეამოწმეთ სერვერის ლოგები.

502 Bad Gateway ჩნდება, როცა ერთი სერვერი, რომელიც კარიბჭედ ან პროქსიდ მოქმედებს, არავალიდურ პასუხს იღებს მის უკან მდგარი upstream სერვერისგან. ხშირად ეს ნიშანია იმისა, რომ ბექენდ აპლიკაცია ჩამოვარდა ან მიუწვდომელია.

503 Service Unavailable ნიშნავს, რომ სერვერი დროებით გადატვირთულია ან ტექნიკური მომსახურებისთვის გამორთულია. 500-ისგან განსხვავებით, ის გულისხმობს, რომ პრობლემა ხანმოკლეა და საიტი მალე უნდა აღდგეს.

სერვერი, რომელიც მოციმციმე სტატუსის ბურთულებს აგზავნის მონაცემთა ბილიკზე, HTTP პასუხების განსახიერება
მოთხოვნიდან პასუხამდე: სერვერი ყოველ პასუხს კოდით ნიშნავს, სანამ რაიმე შიგთავსი შენობას დატოვებს.

რას ნიშნავს სტატუს-კოდები SEO-სთვის და გამართვისთვის

საძიებო რანჟირებისთვის, 301-სა და 302-ს შორის განსხვავება ის არის, რაზეც ხალხი ხშირად ბორტავს. მუდმივმა გადატანამ ყოველთვის 301 უნდა გამოიყენოს, რომ ახალმა გვერდმა ძველის ავტორიტეტი მემკვიდრეობით მიიღოს; 302, არასწორ ადგილას გამოყენებული, საძიებო სისტემებს საწყისი URL-ის ინდექსირებას გააგრძელებინებს და თქვენს სიგნალებს გაანაწილებს. ამასობაში, 404-ების დიდი რაოდენობა crawl ბიუჯეტს ხარჯავს და ვიზიტორებს აღიზიანებს, ამიტომ ღირს გატეხილი ბმულების გადამისამართება ან გასწორება, დახრჩობის დატოვების ნაცვლად.

გამართვისთვის, ოჯახი გეუბნებათ, სად ეძებოთ. 4xx მოთხოვნაზე მიუთითებს, ასე რომ, შეამოწმეთ URL, სათაურები და ავტორიზაციის მონაცემები. 5xx სერვერზე მიუთითებს, ასე რომ, შეამოწმეთ აპლიკაციის ლოგები, upstream სერვისები და ბოლოდროინდელი დეპლოი ხომ არ წავიდა არასწორად. 502-ებისა და 503-ების ტალღა ხშირად ნიშნავს, რომ ბექენდი გათიშულია ან გადატვირთულია და არა კოდის ხარვეზს. შეგიძლიათ შეამოწმოთ საიტის მიერ დაბრუნებული ზუსტი სტატუსი ჩვენი დეველოპერული ხელსაწყოებით, ხოლო როცა 5xx დაკავშირების პრობლემას უფრო ჰგავს, ვიდრე აპლიკაციის ხარვეზს, სწრაფი DNS ძებნა დაადასტურებს, დომენი კვლავ სწორ მისამართზე ხომ იხსნება.

ხშირად დასმული კითხვები

ცუდია 404 ხარვეზი ჩემი საიტისთვის?

რამდენიმე 404 ნორმალური და უსაფრთხოა. პრობლემები მაშინ იწყება, როცა პოპულარული გვერდები 404-ს აბრუნებს, ან გატეხილი შიდა ბმულები გროვდება, crawl ბიუჯეტს ხარჯავს და ვიზიტორებს აღიზიანებს. გადაანაცვლეთ გადატანილი გვერდები და გაასწორეთ ცუდი ბმულები.

რა განსხვავებაა 301 და 302 გადამისამართებას შორის?

301 მუდმივია და ახალ URL-ს რანჟირების სიგნალებს გადასცემს, ასე რომ, გამოიყენეთ ის, როცა გვერდი სამუდამოდ გადადის. 302 დროებითია და საწყისი URL-ის ინდექსირებას ინარჩუნებს, ასე რომ, გამოიყენეთ ის მხოლოდ ხანმოკლე გადატანებისთვის.

რა განსხვავებაა 401-სა და 403-ს შორის?

401 ნიშნავს, რომ ავტორიზაცია ჯერ არ გაგივლიათ, ასე რომ, შესვლამ შეიძლება ეს გაასწოროს. 403 ნიშნავს, რომ სერვერი გცნობთ, მაგრამ მაინც უარყოფს წვდომას, რადგან ნებართვა გაკლიათ, ასე რომ, ხელახლა შესვლა არაფერს შველის.

რას ნიშნავს 500 ხარვეზი და როგორ გავასწორო?

500 Internal Server Error ნიშნავს, რომ სერვერს თქვენი მოთხოვნის დამუშავებისას მოულოდნელი შეცდომა შეხვდა. შეტყობინება განზრახ ზოგადია, ასე რომ, გასწორება ჩვეულებრივ სერვერის ლოგების წაკითხვით იწყება, ნამდვილი მიზეზის საპოვნელად.

რატომ ვიღებ 429 სტატუს-კოდს?

429 Too Many Requests ნიშნავს, რომ სიხშირის შეზღუდვას ექვემდებარებით, ძალიან სწრაფად გაგზავნილი მოთხოვნების გამო. შეანელეთ, დაემორჩილეთ სერვერის მიერ დაბრუნებულ Retry-After სათაურს, თუ ასეთი არსებობს, და დაამატეთ backoff სკრიპტებსა და API კლიენტებში.

რას ნიშნავს 503 Service Unavailable?

503 ნიშნავს, რომ სერვერს დროებით არ შეუძლია მოთხოვნის დამუშავება, ჩვეულებრივ გადატვირთვის ან დაგეგმილი ტექნიკური მომსახურების გამო. ის ხანმოკლე პრობლემაზე მიუთითებს, ასე რომ, საიტმა მალე უნდა აღდგეს, თავისით.