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

მასალა ვიკიპედიიდან — თავისუფალი ენციკლოპედია
გადასვლა: ნავიგაცია, ძიება

HTTP სტატუსის კოდი (HTTP response status code) — წარმოადგენს სერვერიდან მიღებული პასუხის პირველ სტრიქონს, როდესაც მოთხოვნა შესრულებულია HTTP პროტოკოლის მეშვეობით. სერვერიდან დაბრუნებული პასუხის პირველი სტრიქონის პირველი რიცხვი აღნიშნავს თუ რა მდგომარეობაში ბრუნდება პასუხი, რის საფუძველზეც ვებ ბრაუზერი, ან სხვა პროგრამა რისი საშუალებითაც მოხდა მოთხოვნის გაგზავნა, ასრულებს შესაბამის მოქმედებას. აღნიშნული კოდები წარმოადგენს საერთაშორისო სტანდარტს და აღწერილია შესაბამის დოკუმენტში RFC. რიცხვით მნიშვნელობასთან ერთად სერვერიდან ბრუნდება ასევე სიტყვიერი განმარტებაც, რომელიც ასევე სტანდარტს წარმოადგენს, თუმცა საბოლოო მომხმარებელთათვის მათი ჩვენება ხშირად სხვადასხვა ფორმით ხდება.

სექციების სია

1xx (ინფორმაციული)[რედაქტირება | წყაროს რედაქტირება]

აღნიშნავს რომ მოთხოვნა მიღებულია და მიმდინარეობს დამუშავება.

100 Continue[რედაქტირება | წყაროს რედაქტირება]

ნიშნავს რომ სერვერმა მიიღო მოთხოვნის სათაური და კლიენტმა უნდა გააგრძელოს მოთხოვნის დანარჩენი ნაწილის მიწოდება (იმ შემთხვევაში თუ დამატებითი ნაწილის მიწეოდება საჭიროა, მაგალითად POST მოთხოვნის დროს). ამ კოდის არსებობა განპირობებულია იმით, რომ როდესაც დიდი მოცულობის ინფორმაციის გაგზავნაა საჭირო სერვერზე, ჯერ უმჯობესია შემოწმდეს ახერხებს თუ არა საერთოდ სერვერი ამ ინფორმაციის მიღებას. ამ შემთხვევაში კლიენტმა ჯერ უნდა გაგზავნოს Expect: 100-continue სათაური მოთხოვნასთან ერთად და დაელოდოს პასუხს, რომელიც შეიძლება იყოს 100 Continue თუ სერვერი ახერხებს დანარჩენი მოთხოვნის მიღებას ან 417 Expectation Failed საწინააღმდეგო შემთხვევაში, რა დროსაც კლიენტმა უნდა შეწყვიტოს მოთხოვნის გაგზავნა.

101 Switching Protocols[რედაქტირება | წყაროს რედაქტირება]

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

102 Processing (WebDAV; RFC 2518)[რედაქტირება | წყაროს რედაქტირება]

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

2xx (წარმატება)[რედაქტირება | წყაროს რედაქტირება]

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

200 OK[რედაქტირება | წყაროს რედაქტირება]

სტანდარტული კოდი HTTP მოთხოვნის წარმატებით დასრულების შემთხვევაში.

201 Created[რედაქტირება | წყაროს რედაქტირება]

ბრუნდება მაშინ როდესაც წარმატებით შესრულებული მოთხოვნის შედეგად მოხდა ახალი რესურსის გამოყოფა.

202 Accepted[რედაქტირება | წყაროს რედაქტირება]

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

203 Non-Authoritative Information (since HTTP/1.1)[რედაქტირება | წყაროს რედაქტირება]

სერვერმა წარმატებით მიიღო და დაამუშავა მოთხოვნა მაგრამ შედეგი შესაძლოა სხვა წყაროდან ბრუნდებოდეს.

204 No Content[რედაქტირება | წყაროს რედაქტირება]

სერვერმა წარმატებით მიიღო და დაამუშავა მოთხოვნა, მაგრამ პასუხად არაფერს არ აბრუნებს.

205 Reset Content[რედაქტირება | წყაროს რედაქტირება]

სერვერმა წარმატებით მიიღო და დაამუშავა მოთხოვნა, მაგრამ პასუხად არაფერს არ აბრუნებს.

206 Partial Content[რედაქტირება | წყაროს რედაქტირება]

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

207 Multi-Status (WebDAV; RFC 4918)[რედაქტირება | წყაროს რედაქტირება]

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

3xx (გადამისამართება)[რედაქტირება | წყაროს რედაქტირება]

კლიენტმა უნდა შეასრულოს დამატებითი მოქმედებები, მოთხოვნის დასასრულებლად. ამ დამატებითი მოქმედების შესრულება შესაძლებელია მოხდეს ავტომატურად პროგრამის მიერ, მხოლოდ იმ შემთხვევაში თუ გამოყენებულია POST ან HEAD მეთოდები. პროგრამამ არ უნდა შეასრულოს მიჯრით ხუთზე მეტი გადამისამართება რადგან ხშირად ეს აღიქმება როგორც უსასრულოდ ბევრი გადამისამართების ციკლი.

300 Multiple Choices[რედაქტირება | წყაროს რედაქტირება]

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

301 Moved Permanently[რედაქტირება | წყაროს რედაქტირება]

განსაზღვრავს რომ მოცემული მისამართი სამუდამოდ შეცვლილია მოწოდებული მისამართით.

302 Found[რედაქტირება | წყაროს რედაქტირება]

მოთხოვნილი დოკუმენტი დროებით სხვა მისამართზეა ხელმისაწვდომი, რომელიც მითითებულია Location ველში.

303 See Other (since HTTP/1.1)[რედაქტირება | წყაროს რედაქტირება]

მოთხოვნილი დოკუმენტის გამოძახება უნდა მოხდეს Location ველში მითითებული მისამართიდან, მხოლოდ აუცილებლად GET მეთოდით, მიუხედავად იმისა მანამდე რა მეთოდი იყო გამოყენებული.

304 Not Modified[რედაქტირება | წყაროს რედაქტირება]

დოკუმენტი არ შეცვლილა ბოლო მოთხოვნის შემდეგ. როგორც წესი კლიენტი აგზავნის If-Modified-Since დროით პარამეტრს, რომელიც გამოიყენება ათვლის წერტილად იმის დასადგენად შეიცვალა თუ არა დოკუმენტი ამ დროის შემდეგ. გამოიყენება რათა დაიზოგოს ტრეფიკი და აღარ მოხდეს უცვლელი ფაილების ხელმეორედ ჩამოწერა სერვერიდან.

305 Use Proxy (since HTTP/1.1)[რედაქტირება | წყაროს რედაქტირება]

მოთხოვნილ მისამართზე წვდომა შესაძლებელია მოხდეს მხოლოდ პროქსი სერვერის გამოყენებით.

306 Switch Proxy[რედაქტირება | წყაროს რედაქტირება]

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

307 Temporary Redirect (since HTTP/1.1)[რედაქტირება | წყაროს რედაქტირება]

ამ შემთხვევაში მოთხოვნა უნდა განმეორდეს სხვა მისამართზე, რომელიც სერვერიდან იქნება მოწოდებული, თუმცა მომავალში ისე იგივე მისამართით უნდა ისარგებლოთ.

308 Permanent Redirect (approved as experimental RFC])[რედაქტირება | წყაროს რედაქტირება]

აღნიშნული და ყველა მომავალი მოთხოვნები უნდა განხორციელდეს მოწოდებულ მისამართზე.

4xx (შეცდომა კლიენტის მხარეზე)[რედაქტირება | წყაროს რედაქტირება]

400 Bad Request[რედაქტირება | წყაროს რედაქტირება]

სერვერი არ ან ვერ გააგრძელებს მოთხოვნის დამუშავებას შეცდომის გამო, რომელსაც სერვერი მიიჩნევს რომ დაშვებულია კლიენტის მხრიდან. (მაგ. არასწორი მოთხოვნის სინტაქსი)

401 Unauthorized[რედაქტირება | წყაროს რედაქტირება]

რესურსზე წვდომისათვის საჭიროა ავტორიზაციის გავლა, რომელიც არ განხორციელებულა ან განხორციელდა არასწორი მონაცემებით.

402 Payment Required[რედაქტირება | წყაროს რედაქტირება]

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

403 Forbidden[რედაქტირება | წყაროს რედაქტირება]

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

404 Not Found[რედაქტირება | წყაროს რედაქტირება]

მოთხოვნილი რესურსი ვერ მოიძებნა სერვერის მიერ. ეს რესურსი მომავალში შეიძლება ხელმისაწვდომი გახდეს ამიტომ განმეორებითი მოთხოვნები ნებადართულია.

405 Method Not Allowed[რედაქტირება | წყაროს რედაქტირება]

რესურსე წვდომა განხორციელდა იმ მეთოდით, რომელიც არაა ნებადართული აღნიშნული რესურსისთვის. მაგალითად GET მეთოდის გამოყენება ფორმაში, რომელიც სავალდებულოა რომ POST მეთოდით დამუშავდეს, PUT მეთოდის გამოყენება რესურზე, რომლის მხოლოდ წაკითხვაა შესაძლებელი და ა.შ.

406 Not Acceptable[რედაქტირება | წყაროს რედაქტირება]

407 Proxy Authentication Required[რედაქტირება | წყაროს რედაქტირება]

408 Request Timeout[რედაქტირება | წყაროს რედაქტირება]

409 Conflict[რედაქტირება | წყაროს რედაქტირება]

410 Gone[რედაქტირება | წყაროს რედაქტირება]

411 Length Required[რედაქტირება | წყაროს რედაქტირება]

412 Precondition Failed[რედაქტირება | წყაროს რედაქტირება]

413 Request Entity Too Large[რედაქტირება | წყაროს რედაქტირება]

414 Request-URI Too Long[რედაქტირება | წყაროს რედაქტირება]

415 Unsupported Media Type[რედაქტირება | წყაროს რედაქტირება]

416 Requested Range Not Satisfiable[რედაქტირება | წყაროს რედაქტირება]

417 Expectation Failed[რედაქტირება | წყაროს რედაქტირება]

418 I'm a teapot (RFC 2324)[რედაქტირება | წყაროს რედაქტირება]

420 Enhance Your Calm (Twitter)[რედაქტირება | წყაროს რედაქტირება]

422 Unprocessable Entity (WebDAV; RFC 4918)[რედაქტირება | წყაროს რედაქტირება]

423 Locked (WebDAV; RFC 4918)[რედაქტირება | წყაროს რედაქტირება]

424 Failed Dependency (WebDAV; RFC 4918)[რედაქტირება | წყაროს რედაქტირება]

424 Method Failure (WebDAV)[რედაქტირება | წყაროს რედაქტირება]

425 Unordered Collection (Internet draft)[რედაქტირება | წყაროს რედაქტირება]

426 Upgrade Required (RFC 2817)[რედაქტირება | წყაროს რედაქტირება]

428 Precondition Required (RFC 6585)[რედაქტირება | წყაროს რედაქტირება]

429 Too Many Requests (RFC 6585)[რედაქტირება | წყაროს რედაქტირება]

431 Request Header Fields Too Large (RFC 6585)[რედაქტირება | წყაროს რედაქტირება]

444 No Response (Nginx)[რედაქტირება | წყაროს რედაქტირება]

449 Retry With (Microsoft)[რედაქტირება | წყაროს რედაქტირება]

450 Blocked by Windows Parental Controls (Microsoft)[რედაქტირება | წყაროს რედაქტირება]

451 Unavailable For Legal Reasons (Internet draft)[რედაქტირება | წყაროს რედაქტირება]

494 Request Header Too Large (Nginx)[რედაქტირება | წყაროს რედაქტირება]

495 Cert Error (Nginx)[რედაქტირება | წყაროს რედაქტირება]

496 No Cert (Nginx)[რედაქტირება | წყაროს რედაქტირება]

497 HTTP to HTTPS (Nginx)[რედაქტირება | წყაროს რედაქტირება]

499 Client Closed Request (Nginx)[რედაქტირება | წყაროს რედაქტირება]

5xx შეცდომა სერვერზე[რედაქტირება | წყაროს რედაქტირება]

500 Internal Server Error[რედაქტირება | წყაროს რედაქტირება]

501 Not Implemented[რედაქტირება | წყაროს რედაქტირება]

502 Bad Gateway[რედაქტირება | წყაროს რედაქტირება]

503 Service Unavailable[რედაქტირება | წყაროს რედაქტირება]

504 Gateway Timeout[რედაქტირება | წყაროს რედაქტირება]

505 HTTP Version Not Supported[რედაქტირება | წყაროს რედაქტირება]

506 Variant Also Negotiates (RFC 2295)[რედაქტირება | წყაროს რედაქტირება]

507 Insufficient Storage (WebDAV; RFC 4918)[რედაქტირება | წყაროს რედაქტირება]

508 Loop Detected (WebDAV; RFC 5842)[რედაქტირება | წყაროს რედაქტირება]

509 Bandwidth Limit Exceeded (Apache bw/limited extension)[რედაქტირება | წყაროს რედაქტირება]

510 Not Extended (RFC 2774)[რედაქტირება | წყაროს რედაქტირება]

511 Network Authentication Required (RFC 6585)[რედაქტირება | წყაროს რედაქტირება]

598 Network read timeout error (Unknown)[რედაქტირება | წყაროს რედაქტირება]

599 Network connect timeout error (Unknown)[რედაქტირება | წყაროს რედაქტირება]

რესურსები ინტერნეტში[რედაქტირება | წყაროს რედაქტირება]