Это группы кодов, объединенных определенными признаками. На класс состояния указывает первая цифра в коде.
- 1xx — информационные коды. Они отвечают за процесс передачи данных. Это временные коды, они информируют о том, что запрос принят и обработка будет продолжаться.
- 2xx — успешная обработка. Запрос был получен и успешно обработан сервером.
- 3xx — перенаправление (редирект). Эти ответы сервера гласят, что нужно предпринять дальнейшие действия для выполнения запроса. Например, сделать запрос по другому адресу.
- 4xx — ошибка пользователя. Это значит, что запрос не может быть выполнен по его вине.
- 5xx — ошибка сервера. Эти коды возникают из-за ошибок на стороне сервера. В данном случае пользователь всё сделал правильно, но сервер не может выполнить запрос. Для кодов этого класса сервер обязательно показывает сообщение, что не может обработать запрос и по какой причине.
Коды 100-199
100 Continue
Сообщает о том, что сервер принял первую часть запроса, и можно продолжать посылать остальные части.
101 Switching Protocols
Сервер (по требованию браузера) переключил протоколы. Это задание передается серверу в заголовке Upgrade.
Коды 200-299
200 Ok
Сервер обработал запрос браузера (пользователя) и передал ему то, что он хотел. А пользователь должен увидеть сайт или файл, который запрашивал.
201 Created
Код сообщает, что сервером создан новый идентификатор URI. В ответе сервера (заголовок Location) можно найти место куда именно были помещены созданные данные.
202 Accepted
Сервер принял запрос, но будет обрабатывать его позже. К тому же, в конечном счете нельзя быть уверенным на 100%, что сервер обработает Ваш запрос. Ищите детальную информацию о причинах в сообщении, которое приходит вместе с кодом ошибки.
203 Non-Authoritative Information
Сервер передал запрашиваемую информацию, но сообщает о том, что взял ее на другом сервере или же из собственной копии.
204 No Content
Этот код показывает браузеру, что его запрос принят, но ответ на него пустой, и браузеру не нужно ничего делать. Чаще всего это происходит, когда пользователь клацает по пустому месту страницы или по картинке (без ссылки).
205 Reset Content
Сообщает о том, что нужно очистить одну или несколько форм, в которые могли быть заполнены данные. Чаще всего используется для очистки форм сообщений или любых других форм ввода информации.
206 Partial Content
Сервер принял запрос и вернул только определенную часть данных, которые были запрошены. Какую именно часть нужно вернуть серверу, указывается в заголовке запроса пользователя Range. А сервер указывает это в своем ответе (смотрите заголовок Content-Range).
Коды 300-399
300 Multiple Choices
Код показывает, что один и тот же URL ведет к нескольким документам или страницам. Примером может служить одна и та же страница переведенная на несколько языков. Более подробно о причине ошибки, нужно узнавать в теле ответа сервера. Но чаще всего проблема кроется в заголовках или адресах объектов, и если указать их правильно, то ошибка исчезнет. Важно знать, что данная ошибка может вредить правильной индексации Вашего сайта поисковиками.
301 Moved Permanently
Пользователь запросил объект (страницу), который уже не используется сервером. А сервер в свою очередь перенаправляет пользователя на другую страницу, которая и отображается в браузере. Важно понимать, что поисковый робот перестанет индексировать исходную страницу, и вместо нее будет индексировать ту, на которую идет перенаправление. Этот способ чаще всего используется для редиректа — перенаправленния с одной страницы на другую. Для этого в файле .htaccess прописываем:Redirect 301 /page1.html http://вашсайт.ru/page2.html
302 Moved Temporarily
Данный код похож по своему смыслу на код 301, но лишь с тем отличием, что старый объект временно недоступен, и вместо него показывается новый. Чаще всего этот отображается в случае если с текущей страницей ведутся работы, и вместо нее подставляется ее дубликат, но с другим адресом.
303 See Other
Сообщение говорит о том, что запрошенный пользователем объект (страница) находится по другому адресу, и доступ к нему нужно получать GET-запросом. Новый адрес указывается в заголовке Location.
304 Not Modified
Этот код показывает, что страница не изменялась с определенного времени и браузер может использовать старую версию (которая скорее всего сохранена в его памяти). Это позволяет не загружать заново страницы, которые не подвергались изменению, что ускоряет время их загрузки. Также это позволяет ускорить индексацию сайта поисковыми роботами, сократить трафик и нагрузку на сервер.
305 Use Proxy
Доступ к объекту (странице сайта) может быть разрешен только с помощью proxy-сервера, адрес которого указывается в заголовке Location.
307 Temporary Redirect
Код почти идентичен 302 Moved Temporarily, но более валидный.
Коды 400-499
400 Bad Request
Сервер не понял запрос браузера пользователя из-за синтаксической ошибки.
401 Unauthorized
Эта ошибка сообщает, что для доступа к запрашиваемой странице нужно быть авторизованным.
402 Payment Required
Данный код очень редко используется, и означает скорее проблемы с конфигурацией сервера, чем проблемы с оплатой услуг.
403 Forbidden
Ошибка сообщает о том, что доступ к данной странице запрещен, или же сервер не может его предоставить.
404 Not Found
Объект (страница сайта), который хочет увидеть пользователь не найден. Обычна причина в том, что случайно удалена запрашиваемая страница, или же ее адрес введен не правильно.
405 Method Not Allowed
В запросе (строка Request-Line) указан такой метод, который не поддерживается сервером. Часто это происходит при отправке POST-данных на неправильную страницу. Соответственно, чтобы решить эту проблему проверьте правильность указанного пути (атрибут action).
406 Not Acceptable
Пользователь пытается посмотреть документ, который существует на сервере, но имеет кодировку\язык\формат, которые не поддерживаются у пользователя. В итоге нужно искать причину в заголовках Content-Language, Content-Encoding или Content-Type.
407 Proxy Authentication Required
Сообщает о том, что запрос proxy-сервера должен быть санкционирован (заголовок Proxy-Authenticate).
408 Request Time-out
Пользователь не передал полный запрос в течении какого-то времени (задается на сервере). И из-за этого сервер разорвал соединение с пользователем, передав ему ошибку 408. В данном случае нужно проверить настройки браузера и файервола, т.к. в большинстве случаев именно они являются корнем проблемы.
409 Conflict
Запросы, который посылает пользователь конфликтует с сервером или другим запросом. Данная проблема имеет множество причин, описывать которые не имеет смысла. Для ее решения лучше сразу обратиться к хостинг-провайдеру, чтобы сэкономить время.
410 Gone
Пользователь пытается посмотреть объект (страницу сайта), который не существует. Но раньше он существовал, и был навсегда удален с сервера.
411 Length Required
Запрос не будет принят сервером, пока не определится заголовок Content-Length.
413 Request Entity Too Large
Запрос передаваемый на сервер очень большой, поэтому сервер его не может обработать. Все подробности нужно смотреть в содержании ответа, т.к. там и кроется причина данной ошибки.
414 Request URL Too Long
URL который запрашивает пользователь слишком длинный, поэтому сервер не может его обработать. Для решения проблемы проверьте правильность URL и его длинну, а также обратите внимание на атрибут Request-URI.
415 Unsupported Media Type
Сервер не поддерживает формат запроса пользователя, поэтому не может его обработать.
416 Requested Range Not Satisfiable
Сервер не сможет выполнить запрос, пока значение поля Range не станет корректным (задается в байтах).
417 Expectation Failed
Обычно эта ошибка возникает из-за того, что значение поля запроса Expect является некорректным.
422 Unprocessable Entity
Одна или несколько частей не могут быть обработаны сервером.
423 Locked
Запрашиваемый объект (страница сайта) заблокирован.
424 Failed Dependency
Один из ресурсов (зависимых) недоступен или блокирован, поэтому сервер не может дать доступ к нему.
426 Upgrade Required
Сервер принял запрос по стандартному соединению, но запрашивает SSL-соединение, которое не поддерживается клиентом. В итоге сервер выдает ошибку 426.
Коды 500-599
500 Internal Server Error
Данный код сообщает, что на сервере произошла внутренняя непредвиденная ошибка или аварийный отказ.
501 Not Implemented
Сервер не смог понять запрос, который ему передали. Причин этой ошибки множество, поэтому сразу обращайтесь в службу поддержки хостинга.
502 Bad Gateway
Браузер пользователя послал запрос к серверу, но тот связан с еще несколькими серверами, между которому происходит цепочка переадресации запроса. Где-то в этой цепочке сервер не смог обработать запрос, и первый в цепочке сервер (который принял Ваш запрос) послал Вам код ошибки 502.
503 Service Unavailable
Эта ошибка означает, что сервер временно перестал работать. Как правило это происходит если он находится в состоянии перезагрузки или отключен на временное обслуживание. Если вместе с сообщением об ошибке пришел параметр Retry-After, то его значение и будет тем временем, через которое сервер должен восстановить работу.
504 Gateway Time-out
Сервер (который принял запрос от пользователя) может находиться в цепочке серверов и передает запросы к конечному серверу, который их обрабатывает. В случае с ошибкой 504 первый сервер не получил ответ от вышестоящего сервера и отправил Вам сообщение об этом.
505 HTTP Version not supported
Пользователь отправил серверу запрос с версией http-протокола, который не поддерживается.
507 Insufficient Storage
Места на диске недостаточно, и сервер не может обработать запрос пользователя. Или освободите место самостоятельно, или обратитесь в службу поддержки, т.к. в случае с виртуальным хостингом (или VPS) на Вашем сервере находятся еще и сайты других пользователей, удалить которые Вы не сможете.
510 Not Extended
Расширение запрашиваемого файла не поддерживается или отсутствует.