Какво правите обикновено, когато получите съобщение за грешка 404, 500 или друго от някой сайт? Насочвате поглед към Х бутона на таба на браузъра или прочитате съобщението? Ако просто затваряте сайта, то най-вероятно това не е вашият сайт. 🙂 Тези съобщения всъщност носят много информация. Ето защо решихме да хвърлим повече светлина върху различните видове, с които всички сме се сблъсквали при неуспешен опит да заредим някой сайт.
Съобщенията за грешка, които се появяват на сайтовете, понякога съдържат издайнически код в текста си, например error 500, not found 404 и други. Тези кодове се наричат още HTTP статус кодове и се използват от уеб сървъра, за да информират клиента за успешна или неуспешна обработка на неговата заявка и не винаги означават съобщение за „грешка“.
Има няколко типа статус кодове, като само последните два типа означават съобщение за грешка. Подредени според уеб спецификацията, те изглеждат така
- 1хх : Информационни
- 2хх : Успешни
- 3хх : Пренасочване
- 4хх : Грешка при Клиента
- 5хх : Грешка при Сървъра
Aко в съобщението за грешка се съдържа статус код, започващ с 4xx, това означава, че има нещо нередно с вашата заявка към сайта, а не че той в момента не работи. Ако пък съобщението за грешка съдържа код 500 и това е вашият сайт, тогава можете да го затворите спокойно и да прегледате нашата статия: 3 съвета за справяне с Internal Server Error 500.
Пълен списък на HTTP статус кодовете може да се види на страницата на официалния регистър на HTTP Status Codes – IANA: HTTP Status Codes.
Ето кои са най-често срещаните статус кодове и какво трябва да направим, ако се сблъскаме с някой от тях:
HTTP 500 Internal Server Error
Оказва се, че съобщението „грешка 500“ или „Internal Server Error 500“ е повод доста хора да посещават нашия Блог и едноименната статия по въпроса 🙂 (или да пишат до СуперПоддръжката). Затова ще започнем с този статус код.
Това съобщение означава, че нещо е попречило на сървъра да обработи клиентската заявка и да подготви коректен отговор за нея или че няма друга специфична информация или друг статус код, който подходящо да описва състоянието, причинило този отказ за отговор. Причините може да са:
- Определена настройка на сървъра, за запазване и поддържане на оперативността му, влиза в противоречие с некоректно изпълняващ се процес.
- Приложението или части от него са написани или настроени неподходящо за системната среда или налични технологии на сървъра.
- Вътрешни несъвместимости на технологиите, използвани от самото приложение, както и често срещаното – некоректен програмен код.
Ако получите съобщение „грешка 500“ на вашия сайт, първото нещо, което трябва да направите, е да погледнете логовете на уеб сървъра. Много често в тях се съдържа информация за грешката, а най-честата причина са некоректните права.
HTTP 404 Not Found
404 Not Found, error 404 или само Not Found „The requested URL /resource was not found on this server“.
Да, сигурни сме, че и вие сте виждали това съобщение. И то не веднъж. Това съобщение се връща от уеб сървъра, когато не успее да открие ресурса, посочен в заявката на клиента. Например ако от сайта е изтрит файл, директория или картинка при опит за зареждане на уеб адреса й, уеб сървърът ще върне съобщение 404 Not Found. Най-честите причини за съобщение 404 Not Found са:
- грешно изписан уеб адрес на ресурса;
- използван е bookmark, който е с неактуален url адрес;
- кликнат е линк от резултатите в търсачката, който вече не е актуален;
- достъпен е линк в самото съдържание на сайта, който вече не работи.
Ако все пак искате да получите някаква информация от посещавания сайт, просто изтрийте частта на въведения адрес в браузъра, докато не остане само домейнът на сайта. Например ако сте въвели http://mysupersite.com/dir/image.png и сте получили 404 Not Found, може да изтриете частта след http://mysupersite.com.
HTTP 403 Forbidden
Ако получите 403 Forbidden, това означава, че уеб достъпът до изискания ресурс е ограничен и уеб сървърът отказва да ви върне в отговор изисканото съдържание.
Това съобщение може да се получи, ако сайтът има файл/директория с некоректни права, ако има забрана за достъп в .htaccess или ако липсва индексен файл в директорията, която се достъпва.
По същия начин както с код 404 може да опитате да промените адреса, който достъпвате, за да получите някакъв достъп до сайта.
Съществува още един списък с най-често получавани статус кодове, които обаче не се виждат от обикновените посетители, при нормално сърфиране в Уеб. Тези съобщения се виждат само от уеб браузъра и ботовете на търсачките (и всяко друго приложение, което може да чете HTTP отговорите от уеб сървъра).
HTTP 200 OK
Това е най-често срещаният статус код от този списък. Когато уеб сървърът има отговор за дадена заявка, той показва това пред клиента със статус код 200 OK. Например ако за зареждането на дадена страница се правят 40 заявки към уеб сървъра, минимум на 38 от тях уеб браузърът ще получи статус код 200. Останалите може да са 301, 302, 404, 403 или други.
За уеб браузъра статус код 200 е като любимият шум на банкомата, в потвърждение, че ресурсът е наличен и към клиента се изпраща съдържанието.
HTTP 301 Moved Permanently и 302 Found
Тези кодове означават, че търсеният ресурс е сменил уеб адреса си. Използват се, за да покажат на уеб клиентите, че има пренасочване и че трябва да потърсят ресурса на друг уеб адрес. 301 кодът показва, че пренасочването е постоянно и за в бъдеще клиентът трябва да ползва само новия уеб адрес. 302 кодът указва на уеб клиентите, че новият адрес на ресурса е временен, тоест за в бъдеще да използват стария уеб адрес.
Търсещите машини отделят специално внимание на тези два статус кода, особено на 301. Наличието на този код в отговора от сайта ще означава, че уеб адресът на ресурса трябва да се подмени в базата данни на търсачката.
Всички възможни статус кодове, които можете да срещнете и тези, които не се виждат с просто око, са описани в спецификацията на HTTP протокола.
Следващият път, когато се натъкнете на някой от посочените статус кодове, не бързайте да кликвате на Х бутона и не се стряскайте, а просто проверете дали това е грешка, или пък не. 🙂