Познавате ли досадните моменти, когато даден уебсайт дава кодове за грешка http? Повечето потребители на интернет задават въпроси относно причините и средствата за отстраняване на тези проблеми.
Преди да разгледаме проблема в по-широк план, нека въведем важни дефиниции. Клиентът е софтуер или хардуер, който комуникира с интернет и изисква определени данни от сървър. Сървърът е компютър, който съхранява данни, изпълнява обслужващи функции за други компютри в мрежата и получава и отговаря на заявките от клиенти.
Кодове на състоянието на HTTP
Кодът за грешка на http запитване е част от заглавието на отговора на уеб сървъра на заявката на клиент, който информира за резултата и посочва какви действия трябва да се предприемат. Кодът на отговора е последван от фраза на английски език, която обяснява проблема.
Кодовете за състояние на HTTP се разделят на пет категории:
- Категория 1 - временни информационни кодове (1XX). Те показват, че заявката е приета и се обработва.
- Категория 2 - успешна обработка на заявката (2XX). Например това не е грешка 200 http, тъй като заявката е изпълнена успешно.
- Категория 3 - пренасочване (3XX). Показва необходимостта от пренасочване от един адрес към друг (напр. http грешки 300, 301, 302, 304).
- Категория 4 - грешка от страна на клиента (4XX). Например в случай на грешка 404 исканата страница не е намерена, а 403 - показва, че достъпът до страницата е отказан.
- Категория 5 - (5XX) грешка от страна на сървъра.
4xx - грешки от страна на клиента
Грешки при заявка http 4XX отговаря за проблеми, които възникват от страна на клиента, т.е. посетителя на уебсайта. Повечето от тези отговори на сървъра са причинени от грешки на уебмастъра: грешна URl спецификация, грешки в конфигурацията на HTTP сървъра и др.
Код за грешка на сървъра | Обяснение |
400 - Лошо запитване | http 400 каква е тази грешка? Сървърът не може да обработи заявката поради проблем с клиента. Например, твърде голям файл, невалиден синтаксис, невалиден URL адрес. Ето защо кодът за грешка http 400 понякога се използва като обобщаващ за всички състояния на грешка, дори ако проблемът възниква от страна на сървъра. |
401 - Неоторизиран | http error 401 каква е грешката? Заявката не съдържа подходящи данни за удостоверяване, удостоверяването е неуспешно. В случаите, когато искате да информирате клиента, че достъпът е напълно отказан, трябва да се издаде http грешка 403. |
402 - Изисква се плащане | Заявката не може да бъде изпълнена, докато клиентът не извърши плащане. Понастоящем се използва много рядко в уеб разработката. |
403 - Забранено | Заявката е разбрана, но сървърът отказва да я оторизира, така че клиентът няма достъп до нея. За разлика от статус 401, който изисква удостоверяване, статус 403 казва, че клиентът не е упълномощен за достъп. |
404 - Не е намерено | Грешката http 404 показва, че сървърът не е готов да предостави достъп до ресурса. Ако страниците са изчезнали завинаги, се препоръчва да се използва код на състоянието 410. |
405 - Методът не е разрешен | Грешката 405 http гласи, че сървърът не поддържа конкретния ресурс, който е бил поискан от клиента. |
406 - Неприемливо | Грешка http 406 подобно на статуса 405 показва, че няма поддръжка за дадена заявка. Но за разлика от предишната грешка, 406 показва, че сървърът е разбрал заявката, но отговорът не може да бъде приет от клиента. |
407 - Изисква се удостоверяване чрез прокси | Този код, който е подобен на код 401, отразява необходимостта от предварително оторизиране на потребителя чрез прокси сървър. |
408 - Таймаут на заявката | Сървърът не е получил заявка от клиента в рамките на определеното време. Това може да се дължи на нестабилна или прекъсната връзка. |
409 - Конфликт | Заявката е била правилна, но е имало проблем от страна на сървъра. Пример за грешка http 409 може да бъде опит за редактиране на файл от потребител, когато тези операции не са разрешени. |
410 - Изчезнало | Заявеният ресурс вече не е наличен на сървъра и това състояние най-вероятно е постоянно. Ако не сте сигурни дали това състояние е постоянно, препоръчваме да използвате код 404. |
411 - Изисквана дължина | Няма предварително определена дължина на тялото на заявката. Клиентът може да повтори заявката, като посочи правилната дължина на тялото на заявката. |
412 - Предпоставките не са изпълнени | Заявките с условия са една от функциите на протокола HTTP. Статусът показва, че едно или повече от условията в заглавието на заявката не са изпълнени. Това може да се случи например в случай на условна заявка GET, при която даден ресурс трябва да бъде активиран отново само ако е бил променен. |
413 - Тялото на заявката е твърде голямо | Тази грешка се появява, когато размерът на тялото на заявката (или на прехвърления файл) превишава ограничението, зададено на сървъра. |
414 - URI е прекалено дълъг | Клиентската заявка съдържа URL адрес, който надвишава разрешената дължина. Ограниченията се задават от браузърите и търсачките за целите на сигурността и за предотвратяване на DDoS атаки или грешки в кода. Самият протокол HTTP обаче не задава изрични ограничения и ако URL адресът надхвърли разрешената дължина, сървърът връща грешка. |
415 - Неподдържан тип медия | 415 http грешка означава, че сървърът не може да обработи тялото или част от тялото на заявката поради неизвестен мултимедиен формат. Този код за грешка е аналог на код за състояние 406, но за разлика от него грешката 415 е свързана с неподдържана мултимедийна стойност. |
416 - Обхватът не е изпълнен | В заявката е имало заглавно поле Range, но нито една от посочените стойности не е отговаряла на размера на заявения ресурс и не е било посочено заглавно поле If-Range. Това е особено вярно за заявки за байтови диапазони, при които първият байт в спецификацията на диапазона е по-голям от действителния размер на ресурса. |
417 - Очакванията не са изпълнени | Сървърът не може да обработи полето "Expect", съдържащо се в заявката. Възможно е също така при достъп до сървъра чрез прокси сървър времето за изчакване да е изтекло, което също води до грешка 417. В сравнение с грешка 408, използването на прокси сървър е изрично указано. |
418 - 420 - Аз съм чайник | Грешката 418 http първоначално е създадена като първоаприлска шега, която понякога се използва като хумористичен елемент, но не е предназначена за реални ежедневни цели. Тя не е получила официален статус и в резултат на това повечето браузъри я игнорират. |
421 - Неправилна заявка | Заявката се предава на сървър, който не може да я обработи правилно. Обикновено това се случва, когато в DNS е посочен неправилен IP адрес. Тази грешка може да се появи и при сайтове с един SSL сертификат за различни домейни. |
422 - Необработен | 422 http грешка възниква, когато получената заявка е успешно доставена до сървъра и обработена, но в съдържанието на XML документа е открита логическа грешка, която не позволява да се извърши необходимата операция в рамките на протокола WebDAV. Това може да се случи например при предаване на данни, които не съответстват на очаквания формат или съдържат грешки. |
423 - Блокиран | Достъпът до посочената платформа не е разрешен за текущия потребител или неговия акаунт. Това може да се дължи на липсващи или изтекли пълномощия, неправилни пълномощия или ограничения, зададени от системния администратор. |
424 - Неуспешна зависимост | Изпълнението на текущата заявка зависи от успешното изпълнение на друг процес. Ако зависимата операция не бъде изпълнена, това може да доведе до неуспех на текущата заявка и сървърът връща този код. |
425 - Твърде рано | Клиентската HTTP заявка се извършва по протокола HTTPS. Установяването на връзка между клиента и сървъра може да отнеме значително време. Това създава уязвимост, тъй като принуждава сървъра да изпраща повторна заявка на клиента, докато не се установи напълно сигурна връзка. |
426 - Изисква се актуализация | Трябва да използвате нов протокол за изпращане на заявки към сървъра. Тази грешка възниква, когато клиентът продължава да използва остаряла версия на протокола HTTP, докато сървърът изисква по-модерна версия. |
428 - Предварително условие | Кодът е предназначен за предотвратяване на конфликтни версии на ресурс GET-PUT, при които клиентът получава състоянието на ресурса, променя го и го изпраща обратно на сървъра, докато трета страна променя състоянието на сървъра, което води до конфликт. |
429 - Твърде много заявки | 429 http грешка ще бъде изпратена, ако клиентът направи твърде много заявки в рамките на кратък период от време. |
431 - Заглавието на заявката е твърде голямо | Сървърът не може да обработи заявката, тъй като полетата на заглавието са твърде големи. |
444 - Няма отговор | Използва се за обозначаване в лог файловете на сървъра Nginx на ситуации, при които сървърът е затворил връзката, без да предаде информация обратно на потребителя. Използва се главно в контекста на защитата от зловреден софтуер. |
499 - Приключено от клиент запитване | Грешка http 499 се генерира, когато клиент прекрати връзката, докато сървърът обработва заявка. В резултат на това сървърът не може да изпрати обратно http заглавието. |
450 - Блокиран от родителския контрол на Windows | Настройките за родителски контрол на Windows определят блокиране на достъпа до отделни страници. Това се използва, когато родителите прилагат родителски контрол и даден потребител поиска достъп до блокиран ресурс. |
451 - Не е на разположение по правни причини | Сървърът отказва да обслужва заявеното съдържание: установена е правителствена цензура за определено съдържание, при нарушаване на авторските права и при съдържание, което противоречи на закони или съдебни разпореждания. |
5xx - Кодове за грешки на сървъра http 500
Състоянията на грешка 5XX http обикновено са свързани с действия на уебмастъра или администратора. Промените, направени в директорията или конфигурацията на сървъра, могат да доведат до неправилно функциониране на сайта. Например неправилно конфигурирани разрешения могат да предизвикат грешка.
http status, code | Описание |
500 - Вътрешна грешка на сървъра | Какво представлява грешката http 500? Тя се появява, когато на сървъра е възникнало непредвидено условие, което не позволява успешното изпълнение на заявката. Това могат да бъдат вътрешни софтуерни неизправности, проблеми с базата данни, ограничения на ресурсите и други фактори. |
501 - Методът не се поддържа | Сървърът няма възможност да изпълни заявката, нито разпознава или поддържа метода, посочен в заявката. |
502 - Грешка на шлюза | Когато се появи грешка http 502, сървърът, действащ като прокси или шлюз, е получил невалиден отговор от следващия сървър във веригата на заявката. Това може да се случи по няколко причини, като например сървърът не е достъпен, отговаря с грешка или е твърде бавен. |
503 - Услугата не е налична | http 503 каква е грешката - услугата е недостъпна? Сървърът не може да изпълни заявката на клиента. Възможно е да е претоварен или изключен. |
504 - Времето за преминаване през шлюза е изтекло | Тази грешка се появява, когато сървър, действащ като прокси или шлюз, не може да получи отговор навреме от сървъра, до който е получил достъп. |
505 - Версията HTTP не се поддържа | Сървърът отказва да поддържа версията на протокола HTTP, която е посочена в клиентската заявка. По-специално, клиентът е изпратил заявка, използвайки нова версия на протокола, която сървърът не разпознава и не може да обработи. |
507 - Недостатъчно пространство | Сървърът не разполага с достатъчно дисково пространство, за да изпълни необходимата операция. Например на сървъра работят много приложения или се съхранява голямо количество данни, сървърът не е конфигуриран да отчита дисковото пространство и т.н. |
510 - Няма разширение | Сървърът не може да обработи заявката на клиента поради липса на поддръжка за заявеното разширение. Възможно е сървърът да работи с остаряла или несъвместима версия на софтуера, която не поддържа заявеното разширение; да не е конфигуриран да обработва определен тип разширение; да няма достатъчно ресурси за изпълнението му. |
Как да проверите кода на състоянието на страницата
Нека започнем с ръчния метод. Отворете сайта в браузъра Chrome и натиснете клавиша "F12" (ако използвате лаптоп, може да се наложи да натиснете «Fn + F12»). Можете също така да отворите инструментите за разработчици с клавишната комбинация "Ctrl + Shift + I". Преминете към раздела "Мрежа" и натиснете "Ctrl + R", за да получите кода на страницата. В колоната "Състояние" ще видите кодове на състоянието. Налични са и специални приставки и услуги.
Bertal
Безплатна платформа за преглед на http заглавия, уеб файлове, html кодове на страници. Съвместима е с всички протоколи: HTTP, HTTPS, FTP.
Информацията се изисква чрез методите HEAD, GET и POST. Методът HEAD се използва, за да се получи само заглавието. Методът GET се използва за получаване на заглавието и тялото. Методът POST работи подобно на метода GET, но допълнително съдържа попълнен POST низ.
Поддържа роботи за търсене като YandexBot, GoogleBot, BingBot, Yahoo, Baiduspider - можете да анализирате действията им и да получите необходимата ви информация.
Услугата е напълно съвместима с всички популярни браузъри, работи с Proxy.
PR-CY
Услуга за SEO-одит на сайта, мониторинг и контрол на позициите в резултатите от търсенето. Идеална за анализ на кодовете за отговор на сървъра.
Подробно анализира всички елементи на страницата, като текстове, скриптове, видеоклипове и снимки. Поддържа различни методи на заявка, включително GET, POST и HEAD.
Работи с Google и Yandex.
Има безплатен план за експресен анализ на сайта. За пълен одит обаче се препоръчва да закупите абонамент.
Checkmy
Мощен безплатен инструмент, който осигурява подробна проверка на кодовете за отговор и заглавията на сървъра. Освен това проверява наличността на URL адресите, компресирането на съдържанието, кеширането на страниците, валидността на кода, типа на сървъра и правилните пренасочвания.
Той работи и с домейни на кирилица, има мобилна версия на инструмента, проверява страници с множество пренасочвания, показва размера и скоростта на зареждане на страницата и др. Закупуването на платен абонамент разширява функционалността.
Яндекс.Вебмастер
Безплатно предоставя ценна информация за това как самият робот вижда вашия сайт, което ви позволява да го оптимизирате за изискванията на търсачките.
Converseo
Богат на функции безплатен инструмент, който е идеален за проверка на един URL адрес или за масово проследяване. Налични са различни методи, включително GET, POST и HEAD, които ви позволяват да анализирате необходимата информация в по-голяма дълбочина.
Coolakov
Работи подобно на Converseo, но има допълнителни функции: възможност за групова проверка на URL адреси. Предоставя крайния отговор на сървъра, включително информация за пренасочване към работеща страница или грешка, ако страницата не работи. По този начин получавате пълна информация за състоянието на всеки URL адрес.
Плъгини
Всички плъгини предоставят ценна информация и ще ви помогнат да оптимизирате уебсайта си. Използването им е напълно безплатно.
- Redirect Path Link
- Robots Exclusion Checker
- SEO META in 1 CLICK
- Website SEO Checker: Free Audit & Analysis.
Как да поправите грешка HTTP
Важно е да актуализирате уеб браузъра след извършване на промени в софтуера.
Анализът на регистрационните файлове на сървъра е важна стъпка, за да се разберат процесите на обработка на заявките. Уеб сървърите, като Apache и Nginx, предоставят файлове access.log и error.log, които съдържат полезна информация. Внимателното разглеждане на тези файлове може да помогне за идентифициране и отстраняване на проблеми. Струва си да се отбележи, че кодовете за грешки на HTTP са стандартна част от протокола. Те се генерират от сървъра за приложения, който обработва клиентските заявки, и отразяват конкретна грешка. По този начин кодът за отговор на сървъра зависи от това как софтуерът обработва тази грешка.
Нека разгледаме отстраняването на най-често срещаните http грешки при достъп до сървъра, които могат да възникнат както от страна на клиента, така и от страна на сървъра.
Грешка http при достъп до сървъра | Причина | Препоръки - какво да правим |
400 | Много бисквитки и кеширани данни. | Изчистете кеша на уеб браузъра си и изтрийте бисквитките. |
Неправилно функциониране на браузъра. | Актуализирайте използвания от вас уеб браузър до най-новата му версия или преминете към друг браузър. | |
Невалидна HTTP заявка. | Проверете синтаксиса и параметрите на заявката, за да изключите възможни грешки. | |
401 | Клиентът се опитва да получи достъп до ограничен ресурс, който се охранява от системата за оторизация на HTTP. | Грешката се появява, докато клиентът не предостави правилните данни, включително потребителско име и парола. За тази цел трябва да въведете подходящата информация във файла .htpasswd. |
403 | Няма разрешение за четене на искания файл. | Разширяване на правата за достъп. |
Използване на файла .htaccess за ограничаване на достъпа до определени IP адреси и ресурси. | Проверете и коригирайте файла .htaccess. | |
Клиентът се опитва да отвори директория, в която няма индексен файл и картографирането на съдържанието е деактивирано. | Активирайте функцията за показване на съдържанието на каталога в настройките на сървъра. | |
404 | Това може да се дължи на редица причини, но е важно да се разбере какви действия могат да бъдат предприети за справяне с проблема. | Проверете дали е правилно изписана връзката или URL адресът, който сте въвели в браузъра си. Възможно е заявеният файл да е бил преместен, изтрит или преименуван на сървъра. Проверете конфигурацията на сървъра и се уверете, че кореновата директория е правилна. Уверете се, че имате права за отваряне на директорията, в която се намира исканият файл. Проверете дали сървърът поддържа символни връзки. |
500 | Неправилни разрешения за папки и файлове или неправилни инструкции във файла .htaccess. | Проверете настройките на разрешенията за файлове и папки, уверете се, че .htaccess е правилен, и избягвайте неподдържани директиви. |
502 | Проблеми с обратния прокси сървър. | Проверете състоянието и конфигурацията на backend. Проверете конфигурацията на мрежовата връзка между изходните сървъри и обратния прокси сървър. Проверете дали няма блокиране на защитната стена. Проверете разрешенията на сокетите и се уверете, че те са правилно разположени. |
503 | Скриптовете увисват при прехвърляне на големи файлове. | Проверете компонентите и плъгините на вашия CMS, като ги деактивирате един по един и идентифицирате най-тежките или повредените, които забавят зареждането на сайта. Откажете се от такива компоненти или намерете по-бързи аналози. Проверете за бавни заявки във файла mysql-slow.log. Уверете се, че PHP скриптовете използват локални пътища, а не URL адреси като "http://...". |
Голям брой заявки към сървъра - може да се дължи на няколко причини: - Разделяне или връзки към твърде много файлове (изображения, таблици със стилове, JS скриптове), които се зареждат чрез отделни заявки. - DDoS атаки, наводнения и спам коментари. |
Обединете ресурсите в един файл, когато е възможно. В случай на DDoS атака е важно да определите вида на атаката и да предприемете подходящи мерки за справяне с нея. |
|
504 | Интернет връзката между шлюза и основния сървър е слаба. Това може да се дължи на проблеми с доставчика на интернет услуги или с мрежовата инфраструктура. | Проверете интернет връзката и се уверете, че е стабилна. Ако има проблеми с връзката, свържете се с вашия интернет доставчик. |
Претоварване на сървъра на шлюза поради голям трафик и недостатъчни ресурси. | Оптимизиране на кода с цел подобряване на производителността или добавяне на допълнителни ресурси в сървъра. | |
В настройките на сървъра може да е зададен твърде кратък интервал от време за изчакване на отговор от сървъра-посредник. | Увеличете времето му в настройките на посредническия сървър. |
Заключение
Дори най-добрите уебсайтове понякога имат проблеми и грешки. Ако искате сами да се справите с подобна HTTP грешка, трябва да разберете източника на нейното възникване. Новите знания ще ви помогнат да спестите не само време, но и ресурси, тъй като няма да ви се налага да търсите помощ от техническата поддръжка на вашия доставчик.