Всеки ден милиони хора използват интернет за най-различни неща. По правило въвеждаме интернет адрес или URL и получаваме Уебсайт. Понякога обаче се появява грешка. Уебстраницата не се показва и се извежда код на състоянието, който указва грешката. Много потребители обаче не разбират значението на тези кодове, въпреки че те говорят много за случилото се.
Какво точно представляват HTTP кодовете за състояние?
Кодът на състоянието на HTTP е код, който се издава от уеб сървъра на уеб браузъра, за да се предаде определена информация. Кодовете се използват главно за указване на браузъра как да обработи дадена заявка или за предоставяне на обратна връзка за дадена заявка. Обикновеният потребител обикновено забелязва такъв код на състоянието, когато нещо не работи. Един от най-известните кодове за състояние е Error 404 - Page not found (Страницата не е намерена). Кодът на състоянието обаче се издава не само в случай на грешки. Също така, когато дадена операция е успешна, потребителят е пренасочен или когато на сървъра се извършват различни други действия и мерки, те се предават на браузъра като част от кодовете за състояние. В повечето случаи обаче вие като обикновен потребител няма да забележите нищо от това.
Групи кодове на състоянието
Всички HTTP кодове за състояние са разделени на общо шест групи, които са номерирани от едно до шест и девет и всяка от тях се отнася за определена категория съобщения. По принцип групите се разпределят, както следва:
* Обща информация за изходите 1xx
* 2xx съдържа кодовете за успешни операции
* 3xx съдържа кодовете за пренасочване и препращане
* 4xx отговаря за грешките на клиента
* 5xx отговаря за грешка на сървъра
* 9xx извежда собственически грешки
Тези шест групи съдържат всички кодове за състояние за протокола HTTP. Всяка група съдържа различен брой кодове, които определят определена ситуация, състояние или статус.
The 1xx Group - Обща информация
Тази група включва три статуса, а именно статус код 100, 101 и 102. Тези кодове отговарят за издаването на обща информация и подсказки. Например код 100 връща команда Продължи на браузъра, като му казва, че може да продължи изпълнението на потенциално голяма и тежка за сървъра заявка. Код 101, от друга страна, съобщава на браузъра, че превключва между протоколи, например от HTTP към FTP и т.н. И накрая, 102 означава обработка и съобщава на браузъра, че заявката все още се обработва активно. По този начин се предотвратява изтичането на времето. Кодовете от тази категория се използват изключително за комуникация с браузъра, така че обикновено не забелязвате нито един от тях.
The 2xx Group - Успешни операции
Тези кодове са чисто информационни. Състоянията в тази категория дават проста обратна връзка, като например ОК, че е изпратен формуляр или че дадена страница умишлено не съдържа съдържание. В повечето случаи вие като обикновен потребител не получавате нищо от тези кодове и не се нуждаете от тях.
Групата 3xx - Пренасочвания
Групата от 300 кода се занимава изключително с пренасочвания. Те съдържат обратна връзка, например за постоянно пренасочване, използване на прокси и др. Те се използват главно за информиране на браузъра за тези пренасочвания и за насочване към правилния URL адрес или път. Като потребител обикновено не получавате нищо или почти нищо от кодовете за състояние в тази група.
Групата 4xx - Клиентска грешка
Групата 400 е първата група, която се занимава с текущи съобщения за грешки. В този случай това са клиентски грешки, т.е. проблеми, причинени от клиента, т.е. уеб браузъра, или грешки, предизвикани от клиента. Броят на различните кодове за грешки е значителен, но обикновеният потребител обикновено се сблъсква с три кода от тази група, а именно 400, 403 и 404.
Грешката 400 - лоша заявка означава неправилна заявка. В този случай браузърът е поискал функция или страница. Заявката обаче е била неправилно структурирана и поради това не е могла да бъде изпълнена от сървъра. Често ще виждате и грешка 403 - Не е разрешено. Тази грешка се появява винаги, когато отидете на уебсайт, за който нямате достъп. Например, ако искате да получите достъп до директория на сървъра, без да имате съответните разрешения, или ако въведете грешни данни в заявка в .htaccess, ще получите това съобщение за грешка. Досега най-често срещаната грешка е Error 404 - Not Found. Когато въведете невалидна или неправилна уеб страница, отговорът е Error 404.
Групата 5xx - Грешка на сървъра
Ако групата 400 означава клиентски грешки, т.е. грешки, причинени от уеб браузъра, то групата 500 означава обратното. Връща съобщения за грешки, които са предизвикани от сървъра или са причинени от сървъра. Вероятно най-известната грешка е Error 500 - Internal Server Error (Вътрешна грешка на сървъра). Това е общо съобщение за редица грешки на сървъра, които нямат собствен код и не са описани по-подробно. Други често срещани грешки на сървъра включват грешка 502 Bad Gateway (лош шлюз), например когато се използва лош прокси сървър или препращането е неуспешно, и грешка 503 Service Unavailable (услугата не е налична), когато сървърът е временно недостъпен, например поради поддръжка. Понякога ще срещнете и грешка 504 Gateway Timeout, която ви съобщава, че връзката е била прекратена поради изтичане на времето. Особено при важни уебсайтове или специални оферти по-често ще срещате Error 509 - Bandwidth Limit Exceeded. Това съобщение показва, че заявката е била прекъсната, защото в противен случай Честотна лента на сървъра щеше да бъде превишена.
Група 9xx - Съобщения за състоянието на собственост
Групата 900 е запазена изцяло за собствени съобщения за грешки. Той е предназначен за сървър Администратори и уебмастъри да разработват и използват свои собствени съобщения за грешки и кодове за състояние. Поради тази причина използването на състоянията може да варира при различните сървъри и при различните конфигурации. Поради това не може да се направи обяснение на кодовете или да се посочи кои кодове се използват.