1
1xx – информационные
100 Continue HTTP/1.1
«Продолжай» – сервер принял запрос, клиент может продолжать присылать заголовки.
101 Switching Protocols HTTP/1.1
«Переключение протоколов» – сервер предлагает перейти на другой протокол, список протоколов сервер указывает в заголовке Upgrade.
2
2xx – успешные запросы
200 OK HTTP/1.0
«Успешный запрос» – если клиентом были запрошены какие-либо данные, то они находятся в заголовках и/или теле ответа.
201 Created HTTP/1.0
«Создано» – в результате успешного запроса был создан новый ресурс. Сервер может указать адреса созданных ресурсов в теле ответа, при этом предпочтительный адрес указывается в заголовке Location.
202 Accepted HTTP/1.0
«Принято» – запрос был принят, но еще не обработан.
203 Non-Authoritative Information HTTP/1.1
«Информация не авторитетна» – успешный запрос, но передаваемая информация может быть неактуальной.
204 No Content HTTP/1.0
«Нет содержимого» – сервер успешно обработал запрос, но в ответе были переданы только заголовки.
205 Reset Content HTTP/1.1
«Сбросить содержимое» – сервер обязывает сбросить введенные пользователем данные.
206 Partial Content HTTP/1.1
«Частичное содержимое» – сервер удачно выполнил частичный GET-запрос, возвратив только часть сообщения. В заголовке Content-Range сервер указывает байтовые диапазоны содержимого.
3
3xx – перенаправления
300 Multiple Choices HTTP/1.0
«Множество выборов» – по запросу существует несколько вариантов ресурса (по MIME, языку и т.д.). Сервер передает список альтернатив, давая клиенту возможность сделать выбор.
301 Moved Permanently HTTP/1.0
«Ресурс перемещен навсегда» – документ был окончательно перенесен на новый URI, указанный в заголовке Location.
301-й редирект в PHP
header('Location: https://exsample.com', true, 301);
exit();
PHP
302 Found HTTP/1.0
«Перемещено временно» – запрошенный документ временно доступен по другому URI, указанному в заголовке Location.
303 See Other HTTP/1.1
«Смотреть другое» – сервер сообщает что документ нужно запросить по адресу переданному в заголовке Location с использованием GET-метода.
Используется для перенаправления после отправки формы методом POST (метод Post/Redirect/Get).
304 Not Modified HTTP/1.0
«Не изменялось» – сервер возвращает такой код, если клиент запросил документ методом GET, использовал заголовок If-Modified-Since или If-None-Match и документ не изменился с указанного момента. При этом сообщение сервера не должно содержать тела. Подробнее о заголовках Last-Modified.
305 Use Proxy HTTP/1.1
«Использовать прокси» – запрос к запрашиваемому ресурсу должен осуществляться через прокси-сервер, URI которого указан в Location.
307 Temporary Redirect HTTP/1.1
«Временное перенаправление» – запрашиваемый ресурс на короткое время доступен по другому URI, указанный в заголовке Location. Метод запроса (GET/POST) менять не разрешается.
308 Permanent Redirect HTTP/1.1
«Постоянное перенаправление» – ресурс был окончательно перенесен на новый URI, указанный в Location. Метод запроса (GET/POST) менять не разрешается.
4
4xx – ошибки клиента
400 Bad Request HTTP/1.0
«Неверный запрос» – запрос не может быть понят сервером из-за некорректного синтаксиса.
401 Unauthorized HTTP/1.1
«Неавторизованный запрос» – для доступа необходимо ввести логин и пароль.
402 Payment Required HTTP/1.1
«Необходима оплата за запрос» – в настоящий момент не используется. Этот код предусмотрен для платных пользовательских сервисов.
403 Forbidden HTTP/1.0
«Доступ к ресурсу запрещен» – сервер понял запрос, но он отказывается его выполнять из-за ограничений в доступе для клиента к указанному ресурсу.
404 Not Found HTTP/1.0
«Ресурс не найден» – документ не существует.
Отправка 404-го кода в PHP
header('HTTP/1.0 404 Not Found');
PHP
405 Method Not Allowed HTTP/1.1
«Недопустимый метод» – указанный клиентом метод нельзя применить к текущему ресурсу. В ответе сервер должен указать доступные методы в заголовке Allow, разделив их запятой.
406 Not Acceptable HTTP/1.1
«Неприемлемый запрос» – нужный документ существует, но не в том формате (язык или кодировка).
407 Proxy Authentication Required HTTP/1.1
«Требуется идентификация прокси» – ответ аналогичен коду 401 за исключением того, что аутентификация производится для прокси-сервера.
408 Request Timeout HTTP/1.1
«Время запроса истекло» – клиент не передал полный запрос в течение установленного времени и сервер разорвал соединение.
409 Conflict HTTP/1.1
«Конфликт» – запрос конфликтует с другим запросом или с конфигурацией сервера. Например, такое возможно когда два клиента пытаются изменить ресурс с помощью метода PUT.
410 Gone HTTP/1.1
«Недоступен» – такой ответ сервер посылает, если ресурс раньше был по указанному URL, но был окончательно удален с сайта. Если документ в ближайшее время может быть восстановлен, то лучше передать 404-й код.
411 Length Required HTTP/1.1
«Необходимо указать длину» – сервер отказывается принимать запрос без заголовка Content-Length. Такой ответ естественен для запросов типа POST и PUT.
412 Precondition Failed HTTP/1.1
«Условие ложно» – при проверке на сервере одного или более заголовков обнаружено несоответствие.
413 Payload Too Large HTTP/1.1
«Тело запроса превышает допустимый размер» – сервер отказывается обрабатывать запрос из-за слишком большого размера тела.
414 URI Too Long HTTP/1.1
«Недопустимая длина URI запроса» – сервер не может обработать запрос из-за слишком длинного URI.
415 Unsupported Media Type HTTP/1.1
«Неподдерживаемый MIME» – сервер отказывается работать с указанным типом данных.
416 Range Not Satisfiable HTTP/1.1
«Диапазон не может быть обработан» – в заголовке Range был указан недопустимый диапазон байтов.
417 Expectation Failed HTTP/1.1
«Сбой при ожидании» – сервер отказывается обрабатывать запрос, потому что значение заголовка Expect не соответствует ожиданиям.
426 Upgrade Required
«Требуется обновление» – сервер отказывается выполнять запрос с использованием текущего протокола. Введено в для возможности перехода к TLS.
5
5xx – ошибки сервера
500 Internal Server Error HTTP/1.0
Внутренняя ошибка сервера. Обычно возникает из-за ошибок в файле .htaccess или критической ошибки PHP при отключенном показе ошибок.
Включить показ ошибок PHP
error_reporting(E_ALL);
ini_set('display_errors', 1);
PHP
501 Not Implemented HTTP/1.0
«Не реализовано» – сервер не имеет возможностей для обработки запроса.
502 Bad Gateway HTTP/1.0
«Плохой, ошибочный шлюз» – сервер, выступая в роли шлюза или прокси-сервера, получил недействительное ответное сообщение от вышестоящего сервера.
503 Service Unavailable HTTP/1.0
«Сервис недоступен» – сервер временно не может обрабатывать запросы по техническим причинам. В заголовке Retry-After указывается время, через которое клиенту рекомендуется повторить запрос.
504 Gateway Timeout HTTP/1.1
«Шлюз не отвечает» – сервер в роли прокси-сервера не дождался ответа от вышестоящего сервера.
505 HTTP Version Not Supported HTTP/1.1
«Версия HTTP не поддерживается» – сервер не поддерживает предлагаемую версию протокола HTTP.
принят и клиент может продолжать присылать запросы либо проигнорировать
этот ответ, если запрос был завершён.
клиента, содержащий заголовок
Upgrade:, и указывает, чтосервер переключился на протокол, который был указан в заголовке. Эта
возможность позволяет перейти на несовместимую версию протокола и обычно
не используется.
обрабатывает его, но обработка ещё не завершена.
загружены заранее, пока сервер будет подготавливать основной ответ.
RFC 8297 (Experimental).
OK
метода HTTP, который был запрошен:
-
GET: «ПОЛУЧИТЬ». Запрошенный ресурс был найден и передан в теле
ответа. - HEAD: «ЗАГОЛОВОК». Заголовки переданы в ответе.
-
POST: «ПОСЫЛКА». Ресурс, описывающий результат действия сервера на
запрос, передан в теле ответа. -
TRACE: «ОТСЛЕЖИВАТЬ». Тело ответа содержит тело запроса полученного
сервером.
Этот код обычно присылается в ответ на запрос PUT «ПОМЕСТИТЬ».
нет способа с помощью HTTP отправить асинхронный ответ позже, который
будет показывать итог обработки запроса. Это предназначено для случаев,
когда запрос обрабатывается другим процессом или сервером, либо для
пакетной обработки.
которая возвращена, была предоставлена не от исходного сервера, а из
какого-нибудь другого источника. Во всех остальных ситуациях более
предпочтителен код ответа 200 OK.
ответа, которые могут быть полезны, присылаются. Клиент может
использовать их для обновления кешированных заголовков полученных ранее
для этого ресурса.
чтобы сообщить клиенту, что необходимо сбросить отображение документа,
который прислал этот запрос.
присылает заголовок диапазона, чтобы выполнить загрузку отдельно, в
несколько потоков.
«Множественный выбор». Этот код ответа присылается, когда запрос имеет
более чем один из возможных ответов. И User-agent или пользователь
должен выбрать один из ответов. Не существует стандартизированного
способа выбора одного из полученных ответов.
«Перемещён на постоянной основе». Этот код ответа значит, что URI
запрашиваемого ресурса был изменён. Возможно, новый URI будет
предоставлен в ответе.
«Найдено». Этот код ответа значит, что запрошенный ресурс
временно изменён. Новые изменения в URI могут быть доступны в
будущем. Таким образом, этот URI, должен быть использован клиентом в
будущих запросах.
направлять клиента для получения запрашиваемого ресурса в другой URI с
запросом GET.
значит, что запрошенный ресурс не был изменён. Таким образом, клиент
может продолжать использовать кешированную версию ответа.
доступен через прокси. Этот код ответа в основном не поддерживается из
соображений безопасности.
запросы должны использовать указанный прокси.»
получил запрошенный ресурс на другой URL-адрес с тем же методом, который
использовал предыдущий запрос. Данный код имеет ту же семантику, что код
ответа
302 Found, за исключением того, что агентпользователя не должен изменять используемый метод HTTP: если в первом
запросе использовался
POST, то во втором запросе такжедолжен использоваться
POST.
«Перенаправление на постоянной основе». Это означает, что ресурс
теперь постоянно находится в другом URI, указанном в заголовке
Location: HTTP Response. Данный код ответа имеет ту же
семантику, что и код ответа 301 Moved Permanently, за
исключением того, что агент пользователя не должен изменять
используемый метод HTTP: если POST использовался в первом
запросе, POST должен использоваться и во втором запросе.
Примечание: Это экспериментальный код ответа,
Спецификация которого в настоящее время находится в черновом виде.
из-за неверного синтаксиса.
аутентификация. Статус похож на статус 403, но,в этом случае,
аутентификация возможна.
использования. Первоначальная цель для создания этого кода была в
использовании его для цифровых платёжных систем(на данный момент не
используется).
отказывается дать надлежащий ответ.
ответа, наверно, самый известный из-за частоты его появления в вебе.
деактивирован и не может быть использован. Два обязательных метода,
GET и HEAD, никогда не должны бытьдеактивированы и не должны возвращать этот код ошибки.
Этот ответ отсылается, когда веб сервер после выполнения
server-driven content negotiation, не нашёл контента, отвечающего критериям, полученным из user agent.
прокси сервера.
означает, что сервер хотел бы отключить это неиспользуемое соединение.
Этот метод используется все чаще с тех пор, как некоторые браузеры,
вроде Chrome и IE9, стали использовать
HTTP механизмы предварительного соединения
для ускорения сёрфинга (смотрите баг 634278, будущей
реализации этого механизма в Firefox). Также учитывайте, что некоторые
серверы прерывают соединения не отправляя подобных сообщений.
Этот ответ отсылается, когда запрос конфликтует с текущим состоянием
сервера.
Этот ответ отсылается, когда запрашиваемый контент удалён с сервера.
Запрос отклонён, потому что сервер требует указание заголовка
Content-Length, но он не указан.
выполнить
Размер запроса превышает лимит, объявленный сервером. Сервер может
закрыть соединение, вернув заголовок Retry-After
его обработать
запрос отклонён
Range не может бытьвыполнен; возможно, он выходит за пределы переданного URI
Expect, не может быть выполнено сервером.
не знает как обработать.
обработан. Единственные методы, которые сервера должны поддерживать (и,
соответственно, не должны возвращать этот код) —
GET иHEAD.
качестве шлюза для получения ответа, нужного для обработки запроса,
получил недействительный (недопустимый) ответ.
причинами являются отключение сервера или то, что он перегружен.
Обратите внимание, что вместе с этим ответом удобная для
пользователей(user-friendly) страница должна отправлять объяснение
проблемы. Этот ответ должен использоваться для временных условий и
Retry-After: HTTP-заголовок должен, если возможно,содержать предполагаемое время до восстановления сервиса. Веб-мастер
также должен позаботиться о заголовках, связанных с кешем, которые
отправляются вместе с этим ответом, так как эти ответы, связанные с
временными условиями, обычно не должны кешироваться.
не может получить ответ вовремя.
поддерживается сервером.
Коды ответов и ошибок сервера 100 … 403, 404 … 511

Удобный справочник кодов состояния соединения…
Код состояния HTTP — это часть первой строки ответа сервера при запросах по протоколу…

Содержание…
100…
200…
300…
400…
500…
Информационные
100
100 Continue — сервер удовлетворён начальными сведениями о запросе, клиент может продолжать пересылать заголовки.
Наверх к содержанию…
101
101 Switching Protocols — сервер предлагает перейти на более подходящий для указанного ресурса протокол. Список предлагаемых протоколов сервер обязательно указывает в поле заголовка Update. Если клиента это заинтересует, то он посылает новый запрос с указанием другого протокола.
Наверх к содержанию…
102
102 Processing — запрос принят, но на его обработку понадобится длительное время. Используется сервером, чтобы клиент не разорвал соединение из-за превышения времени ожидания. Клиент при получении такого ответа должен сбросить таймер и дожидаться следующей команды в обычном режиме.
Наверх к содержанию…
105
105 Name Not Resolved — возникла ошибка в связи с неверным или отсутствующем IP-адресом DNS-сервера.
Наверх к содержанию…
Успешные
200
200 OK — успешный запрос. Клиенту отправлены запрошенные данные.
Наверх к содержанию…
201
201 Created — в результате успешного выполнения запроса был создан новый ресурс. Если ресурс не может быть создан в данный момент, то сервер вместо этого должен отобразить код 202.
Наверх к содержанию…
202
202 Accepted — запрос был принят на обработку, но она не завершена. Клиенту не обязательно дожидаться окончательной передачи сообщения, так как процесс может занять много времени.
Наверх к содержанию…
203
203 Non-Authoritative Information — аналогично ответу 200, но в этом случае передаваемая информация была взята не из первичного источника, а из резервной копии, с другого сервера и т.д… Поэтому инфа может быть неактуальной.
Наверх к содержанию…
204
204 No Content — сервер успешно обработал запрос, но в ответе были переданы только заголовки без тела сообщения. Клиент не должен обновлять содержимое документа, но может применить к нему полученные метаданные.
Используется для того, чтобы позволить осуществить ввод или какие-либо действия без необходимости обновлять документ (страницу).
Наверх к содержанию…
205
205 Reset Content — сервер обязывает клиента сбросить введённые пользователем данные, при этом тело сообщения не передаётся, поэтому страницу обновлять не обязательно.
Используется когда пользователь заполняет форму, а сервер посылает браузеру запрос на очистку формы.
Наверх к содержанию…
206
206 Partial Content — сервер удачно выполнил частичный GET-запрос, возвратив только часть сообщения. В заголовке Content-Range сервер указывает байтовые диапазоны содержимого.
Наверх к содержанию…
207
207 Multi-Status — сервер передаёт результаты выполнения сразу нескольких независимых операций. Они помещаются в само тело сообщения в виде XML-документа с объектом multistatus.
Наверх к содержанию…
226
226 IM Used — заголовок A-IM от клиента был успешно принят и сервер возвращает содержимое с учётом указанных параметров. Введено в RFC 3229 для дополнения протокола HTTP поддержкой дельта-кодирования.
Наверх к содержанию…
Перенаправление
300
300 Multiple Choices — по указанному URI существует несколько вариантов предоставления ресурса по типу MIME, по языку или по другим характеристикам. Сервер передаёт с сообщением список вариантов, давая клиенту сделать выбор.
Такое происходит, когда пользователь использует URL на директорию не самого последнего уровня, и сервер предлагает ему выбор имеющихся файлов или директорий последующего уровня.
Наверх к содержанию…
301
301 Moved Permanently — запрошенный документ был перенесен на новый URI адрес которого указанный в поле Location.
Некоторые клиенты некорректно ведут себя при обработке данного кода.
Наверх к содержанию…
302
302 Found, 302 Moved Temporarily — запрошенный документ временно доступен по другому URI, указанному в заголовке в поле Location.
Изначально представлял собой основной способ создания временного перенаправления. Тем не менее, сегодня существуют и другие – этичные, и неэтичные – способы его применения.
Наверх к содержанию…
303
303 See Other — код указывает пользователю на то, что запрашиваемый ресурс можно найти по URL, который отличается от указанного в запросе. Это не обязательно означает, что что-то было перемещено, этот код лишь предоставляет адрес, по которому следует запрашивать подобный ответ.
Этот метод главным образом существует для того, чтобы позволить выводу данных POST-активированного скрипта перенаправить агента пользователя к выбранному ресурсу.
Наверх к содержанию…
304
304 Not Modified — сервер возвращает такой код, если документ не изменился с момента последнего посещения сервера клиентом.
В этом коде сообщается о том, что параметры документа If-Modified-Since или If-Match не менялись с момента создания последнего кэша, и нет необходимости в повторной отправке ресурса.
Наверх к содержанию…
305
305 Use Proxy — запрос к запрашиваемому ресурсу должен осуществляться через прокси-сервер, URI которого указан в поле Location заголовка. Данный код ответа могут использовать только исходные HTTP-сервера (не прокси).
Наверх к содержанию…
306
306 — использовался раньше, в настоящий момент зарезервирован.
Наверх к содержанию…
307
307 Temporary Redirect — запрашиваемый ресурс, на короткое время, доступен по другому URI указанному в поле Location. Этот код был введён вместе с 303 вместо 302-го для избежания неоднозначности.
Наверх к содержанию…
Ошибки клиента
400
400 Bad Request — сервер обнаружил в запросе клиента синтаксическую ошибку.
Наверх к содержанию…
401
401 Unauthorized — для доступа к запрашиваемому ресурсу требуется аутентификация.
Ответ сервера должен содержать поле WWW-Authenticate с перечнем условий аутентификации. Клиент может повторить запрос, включив в сообщение требуемые для аутентификации данные.
Наверх к содержанию…
402
402 Payment Required — предполагается использовать в будущем, сейчас не используется.
Код предусмотрен для платных пользовательских сервисов, а не для хостинговых компаний. Имеется в виду, что эта ошибка не будет выдана хостинговым провайдером в случае просроченной оплаты его услуг.
Наверх к содержанию…
403
403 Forbidden — сервер понял запрос, но отказался его выполнять из-за ограничений в доступе к указанному ресурсу. Если для доступа к ресурсу требуется аутентификация средствами HTTP, то сервер вернёт ответ 401 или 407 при использовании прокси. В противном случае ограничения были заданы администратором сервера или разработчиком веб-приложения и могут быть любыми в зависимости от возможностей используемого программного обеспечения.
Наиболее вероятными причинами ограничения, может послужить попытка доступа к системным ресурсам веб-сервера (например, файлам .htaccess или .htpasswd) или сервер не удовлетворён IP-адресом клиента, например, при блокировках.
Наверх к содержанию…
404
404 Not Found — самая распространенная ошибка в интернете, основная причина — ошибка в написании адреса Web-страницы.
Сервер понял запрос, но не нашёл соответствующего ресурса по указанному URI.
Наверх к содержанию…
405
405 Method Not Allowed — указанный клиентом метод нельзя применить к текущему ресурсу.
В ответе сервер должен указать доступные методы в заголовке Allow, разделив их запятой. Эту ошибку сервер должен возвращать, если метод ему известен, но он не применим именно к указанному в запросе ресурсу, если же указанный метод не применим на всём сервере, то клиенту нужно вернуть код 501 (Not Implemented).
Наверх к содержанию…
406
406 Not Acceptable — запрошенный URI не может удовлетворить переданным в заголовке характеристикам. Если метод был не HEAD, то сервер должен вернуть список допустимых характеристик для данного ресурса.
Наверх к содержанию…
407
407 Proxy Authentication Required — ответ аналогичен коду 401 за исключением того, что аутентификация производится для прокси-сервера. Механизм аналогичен идентификации на исходном сервере.
Наверх к содержанию…
408
408 Request Timeout — время ожидания сервером передачи от клиента истекло. Клиент может повторить запрос в любое время. Например, такая ситуация может возникнуть при загрузке на сервер объёмного файла методом POST или PUT.
Наверх к содержанию…
409
409 Conflict — запрос не может быть выполнен из-за конфликтного обращения к ресурсу. Такое возможно, например, когда два клиента пытаются изменить ресурс с помощью метода PUT.
Наверх к содержанию…
410
410 Gone — сервер посылает такой код если ресурс раньше был по указанному URL, но был удалён и теперь недоступен.
Серверу в этом случае неизвестно и местоположение альтернативного документа, например, копии. Если у сервера есть подозрение, что документ в ближайшее время может быть восстановлен, то лучше клиенту передать код 404.
Наверх к содержанию…
411
411 Length Required — сервер сообщает, что клиент должен указать Content-Length в заголовке запроса. Без указания этого поля не стоит делать повторную попытку запроса к серверу по данному URI. Такой ответ естественен для запросов типа POST и PUT. Например, если по указанному URI производится загрузка файлов, а на сервере стоит ограничение на их объём.
Наверх к содержанию…
412
412 Precondition Failed — возвращается, если ни одно из полей запроса не было выполнено.
Иными словами, один или более заголовок запроса был возвращен с атрибутом false.
Наверх к содержанию…
413
413 Request Entity Too Large — возвращается в случае, если сервер отказывается обработать запрос по причине слишком большого размера тела запроса.
Сервер может закрыть соединение, чтобы прекратить дальнейшую передачу запроса. Если проблема временная, то рекомендуется в ответ сервера включить заголовок Retry-After с указанием времени, по истечении которого можно повторить аналогичный запрос.
Наверх к содержанию…
414
414 Request-URL Too Long — сервер не может обработать запрос из-за слишком длинного указанного URL. Такую ошибку можно спровоцировать, например, когда клиент пытается передать длинные параметры через метод GET, а не POST.
Наверх к содержанию…
415
415 Unsupported Media Type — сервер заметил, что часть запроса была сделана в неподдерживаемом формате.
В запросе не указываются какие-либо типы медиа, которые поддерживаются ресурсом или сервером. Например, пользователь запрашивает изображение с расширением файла, которое не поддерживается сервером.
Наверх к содержанию…
416
416 Requested Range Not Satisfiable — в поле Range заголовка запроса был указан диапазон за пределами ресурса и отсутствует поле If-Range. Если клиент передал байтовый диапазон, то сервер может вернуть реальный размер в поле Content-Range заголовка.
Наверх к содержанию…
417
417 Expectation Failed — по каким-то причинам сервер не может удовлетворить значению поля Expect заголовка запроса
Наверх к содержанию…
418
418 I’m a teapot — код был введен в 1998 году как одна из традиционных первоапрельских шуток IETF в RFC 2324, Hyper Text Coffee Pot Control Protocol.
Не ожидается, что данный код будет поддерживаться реальными серверами.
Наверх к содержанию…
422
422 Unprocessable Entity — сервер успешно принял запрос, может работать с указанным видом данных, в теле запроса XML-документ имеет верный синтаксис, но имеется какая-то логическая ошибка, из-за которой невозможно произвести операцию над ресурсом.
Наверх к содержанию…
423
423 Locked — целевой ресурс заблокирован от применения к нему указанного метода.
Наверх к содержанию…
424
424 Failed Dependency — указывает на то, что реализация текущего запроса может зависеть от успешности выполнения другой операции, и если она не будет успешно проведена, то вся обработка запроса будет прервана.
Наверх к содержанию…
425
425 Unordered Collection — используется в расширении WebDAV Advanced Collections Protocol. Посылается, если клиент указал номер элемента в неупорядоченном списке, или запросил несколько элементов в порядке, отличающемся от серверного.
Наверх к содержанию…
426
426 Upgrade Required — сервер указывает клиенту на необходимость обновить протокол. Заголовок ответа должен содержать правильно сформированные поля Upgrade и Connection. Введено в RFC 2817 для возможности перехода к TLS посредством HTTP.
Наверх к содержанию…
428
428 Precondition Required — сервер указывает клиенту на необходимость использования в запросе заголовков условий, наподобие If-Match. Введено в черновике стандарта RFC 6585.
Наверх к содержанию…
429
429 Too Many Requests — клиент попытался отправить слишком много запросов за короткое время, что может указывать, например, на попытку DoS-атаки. Может сопровождаться заголовком Retry-After, указывающим, через какое время можно повторить запрос. Введено в черновике стандарта RFC 6585.
Наверх к содержанию…
431
431 Request Header Fields Too Large — превышена допустимая длина заголовков. Сервер не обязан отвечать этим кодом, вместо этого он может просто сбросить соединение. Введено в черновике стандарта RFC 6585.
Наверх к содержанию…
434
434 Requested host unavailable — запрашиваемый адрес недоступен.
Наверх к содержанию…
444
444 — возвращается только сервером nginx. Бывают случаи, когда вы можете распознать по неким признакам бота, сканер или хакера. В таких случаях хорошо бы просто закрывать соединение. Вот для таких случаев и создан ответ 444. Собственно NGINX просто посылает в ответ пустой пакет (без заголовков) TCP RST и закрывает соединение.
Наверх к содержанию…
449
449 Retry With — возвращается сервером, если для обработки запроса от клиента поступило недостаточно информации. При этом в заголовок ответа помещается поле Ms-Echo-Request. Введено корпорацией Microsoft для WebDAV. В настоящий момент как минимум используется программой Microsoft Money.
Наверх к содержанию…
451
451 Unavailable For Legal Reasons — доступ к ресурсу закрыт по юридическим причинам, например, по требованию органов государственной власти или по требованию правообладателя в случае нарушения авторских прав. Введено в черновике IETF за авторством Google, код ошибки является отсылкой к роману Рэя Брэдбери «451 градус по Фаренгейту».
Наверх к содержанию…
456
456 Unrecoverable Error — возвращается сервером, если обработка запроса вызывает некорректируемые сбои в таблицах баз данных. Введено корпорацией Microsoft для WebDAV.
Наверх к содержанию…
499
499 — используется Nginx, когда клиент закрывает соединение до получения ответа.
Наверх к содержанию…
Ошибка сервера
500
500 Internal Server Error — любая внутренняя ошибка сервера, которая не входит в рамки остальных ошибок класса.
Наверх к содержанию…
501
501 Not Implemented — сервер не поддерживает возможностей, необходимых для обработки запроса. Типичный ответ для случаев, когда сервер не понимает указанный в запросе метод. Если же метод серверу известен, но он не применим к данному ресурсу, то нужно вернуть ответ 405.
Наверх к содержанию…
502
502 Bad Gateway — сервер, выступая в роли шлюза или прокси-сервера, получил недействительное ответное сообщение от вышестоящего сервера.
Наверх к содержанию…
503
503 Service Unavailable — сервер временно не имеет возможности обрабатывать запросы по техническим причинам (обслуживание, перегрузка и прочее). В поле Retry-After заголовка сервер может указать время, через которое клиенту рекомендуется повторить запрос. Хотя во время перегрузки очевидным кажется сразу разрывать соединение, эффективней может оказаться установка большого значения поля Retry-After для уменьшения частоты избыточных запросов.
Наверх к содержанию…
504
504 Gateway Timeout — сервер в роли шлюза или прокси-сервера не дождался ответа от вышестоящего сервера для завершения текущего запроса.
Наверх к содержанию…
505
505 HTTP Version Not Supported — сервер не поддерживает или отказывается поддерживать указанную в запросе версию протокола HTTP.
Наверх к содержанию…
506
506 Variant Also Negotiates — в результате ошибочной конфигурации выбранный вариант указывает сам на себя, из-за чего процесс связывания прерывается.
Наверх к содержанию…
507
507 Insufficient Storage — не хватает места для выполнения текущего запроса. Проблема может быть временной. Введено в WebDAV.
Наверх к содержанию…
509
509 Bandwidth Limit Exceeded — используется при превышении веб-площадкой отведённого ей ограничения на потребление трафика. В данном случае владельцу площадки следует обратиться к своему хостинг-провайдеру. В настоящий момент данный код не описан ни в одном RFC и используется только модулем «bw/limited», входящим в панель управления хостингом cPanel, где и был введён.
Наверх к содержанию…
510
510 Not Extended — на сервере отсутствует расширение, которое запрашивает клиент. Сервер может дополнительно передать информацию о доступных ему расширениях. Введено в RFC 2774 для дополнения протокола HTTP поддержкой расширений.
Наверх к содержанию…
511
511 Network Authentication Required — этот ответ посылается не сервером, которому был предназначен запрос, а сервером-посредником, например сервером провайдера — если клиент должен сначала авторизоваться в сети. Предполагается, что в теле ответа будет возвращена Web-форма авторизации или перенаправление на неё. Введено в черновике стандарта RFC 6585.
Наверх к содержанию…

-
+608
-
6 апреля 2015, 10:53
19916
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.
Как проверить код ответа сервера и понять его значение. Подробный перечень частых ошибок HTTP с пояснениями.
В статье:
-
Как проверить код ответа сервера
-
Значения кодов ответов сервера
-
Информационные коды
-
Коды успешной обработки запроса
-
Коды редиректов
-
Коды ошибок клиента
-
Коды ошибок сервера
При каждом обращении к серверу вы получаете от него код статуса ответа. Коды связаны с функциональностью страниц сайта и сигнализируют о состоянии страницы. Благодаря значению, которое несет код, сервер корректирует обработку документа после запроса пользователя. Самые популярные коды — 200, который показывает, что запрос выполнен успешно, и 404, показывающий ошибку, если ресурс не найден.
На код ответа сервера обращают внимание поисковые боты и браузеры.
Как проверить код ответа сервера
Посмотреть код ответа на странице можно бесплатно за пару кликов. В браузере информация находится на панели разработчика: в Google Chrome для вызовите панель горячей клавишей F12, откройте вкладку Network и обновите страницу.

Для просмотра кода есть браузерные расширения:
HTTP Headers для Google Chrome, HTTP Header для Opera.
Инструмент в Яндекс.Вебмастере покажет код статуса HTTP.

Инструмент
проверки заголовков сервера от PR-CY определит HTTP статусы сайта и доменного имени.

Значения кодов ответов сервера
Код состоит из трех цифр и начинается с 1-5 в зависимости от группы, к которой принадлежит. После числового обозначения есть приписка на английском, которая поясняет его значение.
Принадлежность кода к группе определяется по первой цифре:
- 1— — информационный код, отвечающий за передачу данных.
Такие коды временны и показывают, что запрос принят и обрабатывается. - 2— — код успешной обработки запроса.
Сервис получил и обработал запрос. - 3— — код редиректа.
Сервер сигнализирует, что для выполнения запроса нужно предпринять дополнительные действия, к примеру, перейти на другой адрес. - 4— — клиентская ошибка.
Ошибка на стороне клиента. Возможно, пользователь что-то сделал неправильно, и поэтому запрос не может быть успешно обработан. - 5— — серверная ошибка.
По какой-то внутренней причине сервер не может выполнить пользовательский запрос.
Коды ответов, сигнализирующих об ошибке, содержат информацию об их причинах. Отслеживать ошибки и устранять их можно по лог-файлам сервера — в логах содержится детальная информация о проблемах.
Информационные коды
Коды этой группы информируют о том, что сервер принял запрос и будет его обрабатывать.
100 Continue
Сервер принял запрос и удовлетворен начальными сведениями. Процесс обработки будет продолжен.
101 Switching Protocols
Сервер одобрил переключение типа протокола, которое запросил пользователь. Код используется, когда сервер предлагает перейти на новую версию HTTP. В поле Update будут перечислены доступные протоколы, пользователь может выбрать один из них.
102 Processing
Сервер сигнализирует, что принял запрос, но на обработку требуется больше времени. Клиенту не нужно разрывать соединение, он должен сбросить таймер и дождаться следующей команды.
Коды успешной обработки запроса
Коды группы сигнализируют о том, что запрос принят и успешно обработан.
200 ОК
Это один из самых популярных ответов, он означает, что запрос принят и успешно обработан, страница открыта и доступна к просмотру. Все страницы, которые будут проиндексированы, должны отдавать код 200 ОК.
201 Created
Ответ означает, что сервер принял запрос, обработал и создал новый ресурс. Код можно увидеть, к примеру, если пользователь создал новую страницу. Если новый ресурс создать невозможно, или он перестанет существовать к тому времени, когда клиент получит сообщение, то сервер отдаст код 202 Accepted.
202 Accepted
Сервер принял запрос, но не завершил его обработку. Запрос можно отклонить, поскольку на его выполнение может потребоваться слишком много времени.
203 Non-Authoritative Information
Код ответа 203 означает, что операция прошла успешно, но от кода 200 он отличается указанием источника информации. Данные получены не из первоисточника, а с другого сервера или резервной копии. Возможно, информация устарела, о чем и предупреждает код ответа.
204 No Content
Обработка запроса прошла успешно, но серверу нечего отправить в ответ. Ответ не содержит тело сообщения, только заголовки. Обычно такой код включается в первую пустую строку кода, чтобы разрешить запуск скриптов, не меняя содержимого и не обновляя страницу.
205 Reset Content
Сервер сигнализирует, что запрос успешно обработан и клиенту нужно сбросить введенные данные. Обновление документа не требуется, сервер не передает тело сообщения.
206 Partial Reset
Этот код обычно используют инструменты кэширования. Сервер в ответе возвращает только часть контента страницы, которую и запрашивает пользователь.
207 Multi-Status
Код обозначает мультистатусность ответа: сервер обработал несколько операций,не зависящих друг от друга. Результаты отображаются в теле сообщения как XML-документ с объектом multistatus.
226 IM Used
Сервер успешно завершил операцию: принял заголовок A-IM и вернул содержимое с учетом указанных параметров.
Коды редиректов
Класс кодов показывает, что для успешного выполнения запроса клиенту нужно совершить переход, то есть редирект.
300 Multiple Choices
Робот не может проиндексировать страницу, поскольку не может сопоставить ресурс и URL. Частая причина — ресурс перемещен на другой адрес. Сервер предлагает клиенту выбор альтернатив для перехода. Для успешной индексации нужно либо правильно указать ресурс, либо поправить заголовки.
301 Moved Permanently
Если у проиндексированной страницы изменился адрес, то со старого URL на новый настраивают 301 редирект. Код ответа показывает, что запрашиваемый документ был навсегда перенесен на другой URL, куда пользователя перенаправляет ссылка. Робот проиндексирует страницу, на которую ведет редирект, и склеит исходный адрес и новый.
302 Found
Код означает не постоянное, а временное перемещение страницы на другой адрес, поэтому страницу удалять из индекса не нужно. В ответе указано новое расположение данных.
Страница остается в индексе, ссылочный вес продолжает передаваться.
303 See Other
Сервер сигнализирует, что ресурс, который указан в запросе, расположен на другом адресе. Обычно он используется для перенаправления пользователя к выбранному ресурсу выводом данных POST-активированного скрипта.
В ответе сервера будет указан адрес, по которому нужно искать результат, удовлетворяющий запрос.
304 Not Modified
Код рекомендуется выдавать, если страница не менялась с момента ее последнего посещения роботом. Сервер дает сигнал об этом боту, бот получает от документа http-заголовки, не загружая страницу повторно, из-за чего индексирование проходит быстрее и уменьшается нагрузка на сервер.
305 Use Proxy
Код ответа связан с безопасностью данных. Сервер выдает код 305, если доступ к ресурсу, который запрашивает клиент, возможен только с прокси. Прокси указан там же в ответе сервера.
307 Temporary Redirect
Код 307 похож на 302, но дает более конкретный ответ. Код означает, что ресурс, который требует клиент, на время переведен на другой адрес, а новый URL нужно прописать в Location.
Коды ошибок клиента
Коды ответов этой группы означают ошибки по вине клиента или невозможность выдать результат, потому что на странице нет данных.
400 Bad Request
Запрос некорректен, где-то в нем есть синтаксическая ошибка, поэтому сервер не может выдать результат. Для успешного выполнения запроса нужно исправить синтаксис, обычно помогает очистка куки или кэша страниц, исправление запроса пользователем.
401 Unauthorized
Информация доступна только зарегистрированным пользователям или запаролена. Если пользователь не авторизовался, доступ к странице невозможен.
403 Forbidden
Запрос успешно получен и верно сформулирован, но у сервера нет доступа к запрашиваемой странице. Возможно, доступ ограничен специально для определенных IP-адресов с помощью файла .htaccess.
Если пользователю www-data, под которым запущен сервер, закрыт доступ к чтению файла, поможет команда sudo chmod o=r /usr/share/nginx/html/index.html
Еще одна причина — пользователь обратился к закрытому каталогу, в котором нет индексного файла. Разрешение на просмотр каталога включается в настройках сервера.
404 Not Found
Серверу не удалось найти ресурс, который запрашивает пользователь, документа по этому адресу не существует.
Это частая ошибка, она может быть связана с тем, что пользователь ошибся в адресе страницы, у пользователя нет прав на чтение и исполнение файла, файл на сервере переместили иди удалили, корневой каталог указали с ошибкой или сервер не настроен для работы с символьными «мягкими» ссылками, которые использованы для обработки.

Ссылки на удаленные разделы сайта будут возвращать код 404. На такие документы не нужно тратить краулинговый бюджет, поэтому в файле robots.txt запрещают роботу посещение и индексацию таких страниц.
405 Method Not Allowed
Недоступен метод, которым совершается запрос. Сервер выдает этот код для конкретных отдельных объектов на странице. К примеру, строка запроса, запускающая скрипт, отличается от запроса, который совершает пользователь.
406 Not Acceptable
Код ответа означает, что запрашиваемый файл существует, запрос сформулирован верно, но кодировка документа недоступна для расшифровки роботом.
407 Proxy Authentication Required
Этот код похож на 401 и 407, он используется, если вопрос корректен, но клиент может получить доступ к документу только с помощью авторизации через прокси. Клиент авторизуется, если прокси вернет поле с заголовком proxy-authenticate.
408 Request Timeout
Сервер возвращает этот код ответа, если в установленное время ожидания клиент не сделал ни один запрос. Код 408 не возвращается, если пользователь сам отменил запрос, или соединение оборвалось, а отправить ответ нет возможности.
409 Conflict
Код означает, что в системе конфликт: к примеру, пользователь загружает файл на сервер, где уже есть такой файл в новой версии.
410 Gone
Код ответа похож на 404 код, он означает, что документ, к которому направлен запрос, больше недоступен. Если сервер возвращает код 404, то робот еще вернется на страницу, чтобы проверить ее состояние, а в случае ответа 410 робот поймет, что страница удалена навсегда.
411 Length Required
Сервер не может принять и обработать запрос, если в заголовке content-length не указана длина контента.
413 Request Entity Too Large
Если в теле запроса слишком большой объем информации и сервер не может обработать такой большой запрос, то он возвращает код ошибки 413. Если это временная проблема, в поле Retry-After сервер укажет время, которое нужно подождать.
414 Request-URL Too Long
Аналогично с кодом 413, за исключением того, что 414 код отображается, если в запросе указан слишком длинный URL.
422 Unprocessable Entity
Сервер возвращает этот код, если он принял и распознал запрос, но в теле запроса допущена логическая ошибка, которая мешает его выполнить.
424 Failed Dependency
Если выполнение этой операции зависит от исхода других связанных с ней операций, сервер вернет этот запрос.
429 Too Many Requests
Код 429 означает, что пользователь посылает слишком много запросов за короткий временной промежуток, и сервер не может обработать такое количество.
431 Request Header Fields Too Large
Если в запросе указаны слишком большие поля заголовков, сервер не сможет справиться с таким запросом и вернет код ошибки 431.
451 Unavailable For Legal Reasons
Код отображает то же, что и 403, но с уточнениями. Он используется, если доступ к серверу заблокирован по решению суда, обычно из-за нарушения авторских прав, а также если доступ закрыт на государственном уровне.
418 I’m a teapot
Это забавный код, возвращающий ошибку «Я чайник», связан с гипертекстовым протоколом управления кофеваркой — Hyper Text Coffee Pot Control Protocol. Ошибка означает, что запрос некорректен, с помощью чайника нельзя приготовить кофе. Протокол и код этой ошибки были созданы в шутку в 1998 году к 1 апреля.

Код 418 I’m a teapot
Коды ошибок сервера
Коды этой группы обозначают ошибки на стороне сервера.
500 Internal Server Error
Код обозначает, что сервер не может обработать запрос по причине внутренних ошибок. Обычно проблема в настройке сервера, обращении к некорректному файлу .htaccess или пакету PHP, который не установлен.
501 Not Implemented
Сервер возвращает этот код, когда не может обработать запрос: он не поддерживает возможности для обработки или не может распознать метод. К примеру, эта ошибка появится, если распространенные протоколы HEAD, POST, GET и другие по какой-то причине не поддерживаются сервером.
502 Bad Gateway
За обработку запроса отвечают бэкенд серверы, которые передают данные прокси-серверу или шлюзу. Если запрос был направлен к такому шлюзу, который не получил ответ от бэкенда, сервер вернет 502 код. Для исправления нужно проверить настройку прокси-сервера.
503 Service Unavailable
Код свидетельствует о перегрузке сервера, запрос не может быть выполнен в данный момент. Второй причиной может быть обслуживание сервера: ему не хватает памяти или ресурсов, чтобы обработать запрос. Такой ответ может вернуться, если на сервере ограничено количество пользователей.
504 Gateway Timeout
Код похож на 502, но ошибка 504 означает, что истек срок ожидания ответа от сервера. Необходимое количество времени истекло, а ответ от бэкенд-сервера не пришел.
Причина может быть в сетевом соединении, недостатке ресурсов, версии протокола HTTP или настройке сервера, если выставлен слишком короткий таймаут.
506 Variant Also Negotiates
Код ответа 506 означает, что сервер настроен некорректно: ошибка в конфигурации зацикливает обращение сервера, и он указывает сам на себя.
507 Insufficient Storage
Если сервер загружен настолько, что для выполнения запроса не хватает памяти, он вернет ошибку 507. Это бывает, если на сервере нет места для данных в принимаемом запросе.
510 Not Extended
Код 510 возвращается в случае, если сервер не поддерживает расширение, которое указано в запросе. В этом же ответе сервер может указать, какие расширения доступны.
511 Network Authentication Required
Эта ошибка возвращается клиенту, если пользователь не авторизовался в сети. К примеру, если он не согласился на условия использования интернета, когда подключался к wi-fi, или не ввел пароль.
На коды ответов сервера обращают внимание поисковые роботы, с помощью этих сигналов они узнают, как им нужно вести себя со страницей — индексировать, пропустить, вернуться к ней позже. Веб-мастерам важно распознавать сигналы с ошибками, чтобы направлять поисковых ботов и исправлять часть ошибок, если причина ошибки им доступна.
Содержание
Составили подробный классификатор кодов состояния HTTP. Добавляйте в закладки, чтобы был под рукой, когда понадобится.
Что такое код ответа HTTP
Когда посетитель переходит по ссылке на сайт или вбивает её в поисковую строку вручную, отправляется запрос на сервер. Сервер обрабатывает этот запрос и выдаёт ответ — трехзначный цифровой код HTTP от 100 до 510. По коду ответа можно понять реакцию сервера на запрос.
Первая цифра в ответе обозначает класс состояния, другие две — причину, по которой мог появиться такой ответ.
Как проверить код состояния страницы
Проверить коды ответа сервера можно вручную с помощью браузера и в панелях веб‑мастеров: Яндекс.Вебмастер и Google Search Console.
В браузере
Для примера возьмём Google Chrome.
-
Откройте панель разработчика в браузере клавишей F12, комбинацией клавиш Ctrl + Shift + I или в меню браузера → «Дополнительные инструменты» → «Инструменты разработчика». Подробнее об этом рассказывали в статье «Как открыть исходный код страницы».
-
Переключитесь на вкладку «Сеть» в Инструментах разработчика и обновите страницу:

В Яндекс.Вебмастере
Откройте инструмент «Проверка ответа сервера» в Вебмастере. Введите URL в специальное поле и нажмите кнопку «Проверить»:

Как добавить сайт в Яндекс.Вебмастер и другие сервисы Яндекса
В Google Search Console
Чтобы посмотреть код ответа сервера в GSC, перейдите в инструмент проверки URL — он находится в самом верху панели:

Введите ссылку на страницу, которую хотите проверить, и нажмите Enter. В результатах проверки нажмите на «Изучить просканированную страницу» в блоке «URL есть в индексе Google».

А затем в открывшемся окне перейдите на вкладку «Подробнее»:

Теперь расскажем подробнее про все классы кодов состояния HTTP.
1* класс кодов (информационные сообщения)
Это системный класс кодов, который только информирует о процессе передачи запроса. Такие ответы не являются ошибкой, хотя и могут отображаться в браузере как Error Code.
100 Continue
Этот ответ сообщает, что полученные сведения о запросе устраивают сервер и клиент может продолжать отправлять данные. Такой ответ может требоваться клиенту, если на сервер отправляется большой объём данных.
101 Switching Protocols
Сервер одобрил переключение типа протокола, которое запросил пользователь, и в настоящий момент выполняет действие.
102 Processing
Запрос принят — он находится в обработке, и на это понадобится чуть больше времени.
103 Checkpoint
Контрольная точка — используется в запросах для возобновления после прерывания запросов POST или PUT.
POST отправляет данные на сервер, PUT создает новый ресурс или заменяет существующий данными, представленными в теле запроса.
Разница между ними в том, что PUT работает без изменений: повторное его применение даёт такой же результат, что и в первый раз, а вот повторный вызов одного и того же метода POST часто меняет данные.
Пример — оформленный несколько раз интернет‑заказ. Такое часто происходит как раз по причине неоднократного использования запроса PUT.
105 Name Not Resolved
Не удается преобразовать DNS‑адрес сервера — это означает ошибку в службе DNS. Эта служба преобразует IP‑адреса в знакомые нам доменные имена.
2* класс кодов (успешно обработанные запросы)
Эти коды информируют об успешности принятия и обработки запроса. Также сервер может передать заголовки или тело сообщений.
200 ОК
Все хорошо — HTTP‑запрос успешно обработан (не ошибка).
201 Created
Создано — транзакция успешна, сформирован новый ресурс или документ.
202 Accepted
Принято — запрос принят, но ещё не обработан.
203 Non‑Authoritative Information
Информация не авторитетна — запрос успешно обработан, но передаваемая информация была взята не из первичного источника (данные могут быть устаревшими).
204 No Content
Нет содержимого — запрос успешно обработан, однако в ответе только заголовки без контента сообщения. Не нужно обновлять содержимое документа, но можно применить к нему полученные метаданные.
205 Reset Content
Сбросить содержимое. Запрос успешно обработан — но нужно сбросить введенные данные. Страницу можно не обновлять.
206 Partial Content
Частичное содержимое. Сервер успешно обработал часть GET‑запроса, а другую часть вернул.
GET — метод для чтения данных с сайта. Он говорит серверу, что клиент хочет прочитать какой‑то документ.
Представим интернет‑магазин и страницы каталога. Фильтры, которые выбирает пользователь, передаются благодаря методу GET. GET‑запрос работает с получением данных, а POST‑запрос нужен для отправки данных.
При работе с подобными ответами следует уделить внимание кэшированию.
207 Multi‑Status
Успешно выполнено несколько операций — сервер передал результаты выполнения нескольких независимых операций. Они появятся в виде XML‑документа с объектом multistatus.
226 IM Used
Успешно обработан IM‑заголовок (специальный заголовок, который отправляется клиентом и используется для передачи состояния HTTP).
3* класс кодов (перенаправление на другой адрес)
Эти коды информируют, что для достижения успешной операции нужно будет сделать другой запрос, возможно, по другому URL.
300 Multiple Choices
Множественный выбор — сервер выдает список нескольких возможных вариантов перенаправления (максимум — 5). Можно выбрать один из них.
301 Moved Permanently
Окончательно перемещено — страница перемещена на другой URL, который указан в поле Location.
302 Found/Moved
Временно перемещено — страница временно перенесена на другой URL, который указан в поле Location.
303 See Other
Ищите другую страницу — страница не найдена по данному URL, поэтому смотрите страницу по другому URL, используя метод GET.
304 Not Modified
Модификаций не было — с момента последнего визита клиента изменений не было.
305 Use Proxy
Используйте прокси — запрос к нужному ресурсу можно сделать только через прокси‑сервер, URL которого указан в поле Location заголовка.
306 Unused
Зарезервировано. Код в настоящий момент не используется.
307 Temporary Redirect
Временное перенаправление — запрашиваемый ресурс временно доступен по другому URL.
Этот код имеет ту же семантику, что код ответа 302 Found, за исключением того, что агент пользователя не должен изменять используемый метод HTTP: если в первом запросе использовался POST, то во втором запросе также должен использоваться POST.
308 Resume Incomplete
Перемещено полностью (навсегда) — запрашиваемая страница была перенесена на новый URL, указанный в поле Location заголовка. Метод запроса (GET/POST) менять не разрешается.
4* класс кодов (ошибки на стороне клиента)
Эти коды указывают на ошибки со стороны клиентов.

400 Bad Request
Неверный запрос — запрос клиента не может быть обработан, так как есть синтаксическая ошибка (возможно, опечатка).
401 Unauthorized
Не пройдена авторизация — запрос ещё в обработке, но доступа нет, так как пользователь не авторизован.
Для доступа к запрашиваемому ресурсу клиент должен представиться, послав запрос, включив при этом в заголовок сообщения поле Authorization.
402 Payment Required
Требуется оплата — зарезервировано для использования в будущем. Код предусмотрен для платных пользовательских сервисов, а не для хостинговых компаний.
403 Forbidden
Запрещено — запрос принят, но не будет обработан, так как у клиента недостаточно прав. Может возникнуть, когда пользователь хочет открыть системные файлы (robots, htaccess) или не прошёл авторизацию.
404 Not Found
Не найдено — запрашиваемая страница не обнаружена. Сервер принял запрос, но не нашёл ресурса по указанному URL (возможно, была ошибка в URL или страница была перемещена).
405 Method Not Allowed
Метод не разрешён — запрос был сделан методом, который не поддерживается данным ресурсом. Сервер должен предложить доступные методы решения в заголовке Allow.
406 Not Acceptable
Некорректный запрос — неподдерживаемый поисковиком формат запроса (поисковый робот не поддерживает кодировку или язык).
407 Proxy Authentication Required
Нужно пройти аутентификацию прокси — ответ аналогичен коду 401, только нужно аутентифицировать прокси‑сервер.
408 Request Timeout
Тайм‑аут запроса — запрос клиента занял слишком много времени. На каждом сайте существует свое время тайм‑аута — проверьте интернет‑соединение и просто обновите страницу.
409 Conflict
Конфликт (что‑то пошло не так) — запрос не может быть выполнен из‑за конфликтного обращения к ресурсу (несовместимость двух запросов).
410 Gone
Недоступно — ресурс раньше был размещён по указанному URL, но сейчас удалён и недоступен (серверу неизвестно месторасположение).
411 Length Required
Добавьте длины — сервер отклоняет отправляемый запрос, так как длина заголовка не определена, и он не находит значение Content‑Length.
Нужно исправить заголовки на сервере, и в следующий раз робот сможет проиндексировать страницу.
412 Precondition Failed
Предварительное условие не выполнено — стоит проверить правильность HTTP‑заголовков данного запроса.
413 Request Entity Too Large
Превышен размер запроса — перелимит максимального размера запроса, принимаемого сервером. Браузеры поддерживают запросы от 2 до 8 килобайт.
414 Request‑URI Too Long
Превышена длина запроса — сервер не может обработать запрос из‑за длинного URL. Такая ошибка может возникнуть, например, когда клиент пытается передать чересчур длинные параметры через метод GET, а не POST.
415 Unsupported Media Type
Формат не поддерживается — сервер не может принять запрос, так как данные подгружаются в некорректном формате, и сервер разрывает соединение.
416 Requested Range Not Satisfiable
Диапазон не поддерживается — ошибка возникает в случаях, когда в самом HTTP‑заголовке прописывается некорректный байтовый диапазон.
Корректного диапазона в необходимом документе может просто не быть, или есть опечатка в синтаксисе.
417 Expectation Failed
Ожидания не оправдались — прокси некорректно идентифицировал содержимое поля «Expect: 100‑Continue».
418 I’m a teapot
Первоапрельская шутка разработчиков в 1998 году. В расшифровке звучит как «я не приготовлю вам кофе, потому что я чайник». Не используется в работе.
422 Unprocessable Entity
Объект не обработан — сервер принял запрос, но в нём есть логическая ошибка. Стоит посмотреть в сторону семантики сайта.
423 Locked
Закрыто — ресурс заблокирован для выбранного HTTP‑метода. Можно перезагрузить роутер и компьютер. А также использовать только статистический IP.
424 Failed Dependency
Неуспешная зависимость — сервер не может обработать запрос, так как один из зависимых ресурсов заблокирован.
Выполнение запроса напрямую зависит от успешности выполнения другой операции, и если она не будет успешно завершена, то вся обработка запроса будет прервана.
425 Unordered Collection
Неверный порядок в коллекции — ошибка возникает, если клиент указал номер элемента в неупорядоченном списке или запросил несколько элементов в порядке, отличном от серверного.
426 Upgrade Required
Нужно обновление — в заголовке ответа нужно корректно сформировать поля Upgrade и Connection.
Этот ответ возникает, когда серверу требуется обновление до SSL‑протокола, но клиент не имеет его поддержки.
428 Precondition Required
Нужно предварительное условие — сервер просит внести в запрос информацию о предварительных условиях обработки данных, чтобы выдавать корректную информацию по итогу.
429 Too Many Requests
Слишком много запросов — отправлено слишком много запросов за короткое время. Это может указывать, например, на попытку DDoS‑атаки, для защиты от которой запросы блокируются.
431 Request Header Fields Too Large
Превышена длина заголовков — сервер может и не отвечать этим кодом, вместо этого он может просто сбросить соединение.
Исправляется это с помощью сокращения заголовков и повторной отправки запроса.
434 Requested Host Unavailable
Адрес запрашиваемой страницы недоступен.
444 No Response
Нет ответа — код отображается в лог‑файлах, чтобы подтвердить, что сервер никак не отреагировал на запрос пользователя и прервал соединение. Возвращается только сервером nginx.
Nginx — программное обеспечение с открытым исходным кодом. Его используют для создания веб‑серверов, а также в качестве почтового или обратного прокси‑сервера. Nginx решает проблему падения производительности из‑за роста трафика.
449 Retry With
Повторите попытку — ошибка говорит о необходимости скорректировать запрос и повторить его снова. Причиной становятся неверно указанные параметры (возможно, недостаточно данных).
450 Blocked by Windows Parental Controls
Заблокировано родительским контролем — говорит о том, что с компьютера попытались зайти на заблокированный ресурс. Избежать этой ошибки можно изменением параметров системы родительского контроля.
451 Unavailable For Legal Reasons
Недоступно по юридическим причинам — доступ к ресурсу закрыт, например, по требованию органов государственной власти или по требованию правообладателя в случае нарушения авторских прав.
456 Unrecoverable Error
Неустранимая ошибка — при обработке запроса возникла ошибка, которая вызывает некорректируемые сбои в таблицах баз данных.
499 Client Closed Request
Запрос закрыт клиентом — нестандартный код, используемый nginx в ситуациях, когда клиент закрыл соединение, пока nginx обрабатывал запрос.
5* класс кодов (ошибки на стороне сервера)
Эти коды указывают на ошибки со стороны серверов.
При использовании всех методов, кроме HEAD, сервер должен вернуть в теле сообщения гипертекстовое пояснение для пользователя. И его можно использовать в работе.

500 Internal Server Error
Внутренняя ошибка сервера — сервер столкнулся с неким условием, из‑за которого не может выполнить запрос.
Проверяйте, корректно ли указаны директивы в системных файлах (особенно htaccess) и нет ли ошибки прав доступа к файлам. Обратите внимание на ошибки внутри скриптов и их медленную работу.
501 Not Implemented
Не выполнено — код отдается, когда сам сервер не может идентифицировать метод запроса.
Сами вы эту ошибку не исправите. Устранить её может только сервер.
502 Bad Gateway
Ошибка шлюза — появляется, когда сервер, выступая в роли шлюза или прокси‑сервера, получил ответное сообщение от вышестоящего сервера о несоответствии протоколов.
Актуально исключительно для прокси и шлюзовых конфигураций.
503 Service Unavailable
Временно не доступен — сервер временно не имеет возможности обрабатывать запросы по техническим причинам (обслуживание, перегрузка и прочее).
В поле Retry‑After заголовка сервер укажет время, через которое можно повторить запрос.
504 Gateway Timeout
Тайм‑аут шлюза — сервер, выступая в роли шлюза или прокси‑сервера, не получил ответа от вышестоящего сервера в нужное время.
Исправить эту ошибку самостоятельно не получится. Здесь дело в прокси, часто — в веб‑сервере.
Первым делом просто обновите веб‑страницу. Если это не помогло, нужно почистить DNS‑кэш. Для этого нажмите горячие клавиши Windows+R и введите команду cmd (Control+пробел). В открывшемся окне укажите команду ipconfig / flushdns и подтвердите её нажатием Enter.
505 HTTP Version Not Supported
Сервер не поддерживает версию протокола — отсутствует поддержка текущей версии HTTP‑протокола. Нужно обеспечить клиента и сервер одинаковой версией.
506 Variant Also Negotiates
Неуспешные переговоры — с такой ошибкой сталкиваются, если сервер изначально настроен неправильно. По причине ошибочной конфигурации выбранный вариант указывает сам на себя, из‑за чего процесс и прерывается.
507 Insufficient Storage
Не хватает места для хранения — серверу недостаточно места в хранилище. Нужно либо расчистить место, либо увеличить доступное пространство.
508 Loop Detected
Обнаружен цикл — ошибка означает провал запроса и выполняемой операции в целом.
509 Bandwidth Limit Exceeded
Превышена пропускная способность — используется при чрезмерном потреблении трафика. Владельцу площадки следует обратиться к своему хостинг‑провайдеру.
510 Not Extended
Не продлён — ошибка говорит, что на сервере отсутствует нужное для клиента расширение. Чтобы исправить проблему, надо убрать часть неподдерживаемого расширения из запроса или добавить поддержку на сервер.
511 Network Authentication Required
Требуется аутентификация — ошибка генерируется сервером‑посредником, к примеру, сервером интернет‑провайдера, если нужно ввести пароль для получения доступа к сети через платную точку доступа.