HTTP съобщения
Понякога се случва сървърът да не успее да изпълни заявката на клиент (браузър или например робот-търсачка) за някоя страница. Това може да е просто случайно събитие, но може да е признак за проблем, който се нуждае от вашето внимание. За достъпността на страниците на сайта ви, както и за характера на евентуално възникнал проблем можете да съдите по HTTP съобщенията, които сървърът изпраща. Тези съобщения са част от т.нар. header - главова част на информацията, която сървърът изпраща към подалия заявка клиент.
В интернет има много свободни инструменти, с които можете да видите каква информация се съдържа в header частта на съобщението от сървъра, хостващ сайта ви. Ето един от тях: web-sniffer
Ето и списък с кодовете, кратките имена и смисъла на HTTP сървърските съобщения:
1xx Информация
Тези кодове не са включени в стандарта HTTP/1.0 и не се изпращат от сървъра, освен в някои експериметнални условия.
Съобщение | Описание |
---|---|
100 Continue | Само част от заявката на клиента (най-често браузър, но може да е например програма-робот) е получена от сървъра. Докато заявката не е отхвърлена от сървъра, клиента може да продължи с изпращането на заявката си. |
101 Switching protocols | Сървърът е в процес на смяна на протокола, който използва, по заявка на клиента. |
2xx Съобщения за успешна обработка на заявката
Съобщения, започващи с цифра 2, означават че сървърът е получил, разбрал и приел за изпълнение заявката на клиента.
Съобщение | Описание |
---|---|
200 OK | Заявката е успешно изпълнена |
201 Created | Заявката е приета и сървърът е в процес на изготвяне на резултата. |
202 Accepted | Заявката е приета за обработка, но процесът не е завършил. |
203 Non-authoritative Information | Сървърът успешно е обработил заявката, но изпращаната информация може да е от друг източник. |
204 No Content | Заявката е успешно изпълнена, но сървърът не връща съдържание. |
205 Reset Content | Подобно на 204, сървърът е изпълнил заявката, не връща съдържание, но указва смяна на вида на документите за клиента. |
206 Partial Content | Сървърът връща само част от заявената от клиента информация. Такъв е случая, когато сървърът подновява прекъснато по средата изпращане на информация или клиента е указал разпращане на информацията в няколко отделни пакета, които се обработват едновременно. |
207 Multi-Status (WebDAV) | Самото съобщение, което сървъра изпраща, е във XML формат и съдържа определен брой съобщения - по едно за всяка допълнителна подзаявка от страна на клиента. |
3xx Пренасочване
Tази група съобщения обединява случаите, в които клиентът трябва да предприеме допълнително действие за завършване на заявката си.
Съобщение | Описание |
---|---|
300 Multiple choices | Означава, че заявените данни не са еднозначно определени - напр. има няколко страници със сходно име, но различно разширение за файла. Изпраща се списък с хипервръзки към възможните документи. |
301 Moved permanently | Търсената страница е на нов адрес. |
302 Found | Търсената страница временно е преместена на нов адрес. |
303 See other | Търсената страница се намира на друг адрес (URI). |
304 Not modified | Страницата не е променена от времето на последната заявка за нея. С това съобщение се спестява повторното изпращане на страницата, копие от която се пази в паметта на браузъра. |
305 Use Proxy | Указание да се използва прокси сървър. На практика много браузъри не следват това указание от съображения за сигурност. |
306 Switch Proxy | Този код вече не се използва, но е запазен - не може да се използва от друго съобщение. |
307 Temporary Redirect | Заявката трябва да се изпрати към нов адрес (URI), но за разлика от код 303, не трябва да има смяна на метода на заявка. |
4xx Грешки от страна на клиента
Кодове, започващи с 4, означават че най-вероятно грешката е от страна на клиента. Браузърите трябва да показват на потребителите тези съобщения за грешки, които са сред най-често срещаните в интернет.
Съобщение | Описание |
---|---|
400 Bad Request | Заявката не е попълнена правилно или не може да бъде изпълнена. |
401 Unauthorized | Заявената страница е защитена и изисква правилно попълнени потребителско име и парола |
402 Payment Required | Идеята е била този код да се използва за страници, които изискват заплащане за да бъдат видени. На практика този код досега не е бил използван. |
403 Forbidden | Достъпът до страницата е забранен - дори и идентификация с име и парола няма да осигури достъп до нея. |
404 Not Found | Заявената страница не е намерена на сървъра. |
405 Method Not Allowed | Заявената от клиента страница не може да бъде доставена с използвания за заявката метод. |
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 | Адресът (URI), с който се дава заявката, е твърде дълъг за обработка от сървъра. |
415 Unsupported Media Type | В заявката на клиента е указан тип данни, които не се поддържат от сървъра. |
416 Requested Range Not Satisfiable | Заявката на клиента е за част от файл, която сървърът не може да изпрати. |
5xx Грешки от страна на сървъра
Съобщения с първа цифра на кода 5 означават, че сървърът се е сблъскал с проблем, който не може да реши или е неспособен да изпълни получената заявка.
Съобщение | Описание |
---|---|
500 Internal Server Error | Грешката, срещната от сървъра, е с неустановен характер. |
501 Not Implemented | Сървърът не разпознава или не поддържа метода, с който е дадена заявката. |
502 Bad Gateway | Действайки като прокси, сървърът е получил невалидна заявка от главния сървър. |
503 Service Unavailable | Сървърът временно не може да отговори на заявката. Обикновено този код се изпраща, когато сървърът е претоварен или е изключен за поддръжка. |
504 Gateway Timeout | В качеството си на прокси, сървърът не е получил навреме заявка от главния съръвър. |
505 HTTP Version Not Supported | Сървърът не поддържа версията на HTTP протокола, използвана от клиента. |
Ако решите, че "как се прави сайт" ръководството може да бъде полезно и за други хора, моля гласувайте за сайта: