Меню

Use proxy код ошибки

Содержание

  • Что такое код ответа HTTP
  • Как проверить код состояния страницы
  • В браузере
  • В Яндекс.Вебмастере
  • В Google Search Console
  • 1* класс кодов (информационные сообщения)
  • 100 Continue
  • 101 Switching Protocols
  • 102 Processing
  • 103 Checkpoint
  • 105 Name Not Resolved
  • 2* класс кодов (успешно обработанные запросы)
  • 200 ОК
  • 201 Created
  • 202 Accepted
  • 203 Non‑Authoritative Information
  • 204 No Content
  • 205 Reset Content
  • 206 Partial Content
  • 207 Multi‑Status
  • 226 IM Used
  • 3* класс кодов (перенаправление на другой адрес)
  • 300 Multiple Choices
  • 301 Moved Permanently
  • 302 Found/Moved 
  • 303 See Other
  • 304 Not Modified
  • 305 Use Proxy
  • 306 Unused
  • 307 Temporary Redirect
  • 308 Resume Incomplete
  • 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
  • 415 Unsupported Media Type
  • 416 Requested Range Not Satisfiable
  • 417 Expectation Failed
  • 418 I’m a teapot
  • 422 Unprocessable Entity
  • 423 Locked
  • 424 Failed Dependency
  • 425 Unordered Collection
  • 426 Upgrade Required
  • 428 Precondition Required
  • 429 Too Many Requests
  • 431 Request Header Fields Too Large
  • 434 Requested Host Unavailable
  • 444 No Response
  • 449 Retry With
  • 450 Blocked by Windows Parental Controls
  • 451 Unavailable For Legal Reasons
  • 456 Unrecoverable Error
  • 499 Client Closed Request
  • 5* класс кодов (ошибки на стороне сервера)
  • 500 Internal Server Error
  • 501 Not Implemented
  • 502 Bad Gateway
  • 503 Service Unavailable
  • 504 Gateway Timeout
  • 505 HTTP Version Not Supported
  • 506 Variant Also Negotiates
  • 507 Insufficient Storage
  • 508 Loop Detected
  • 509 Bandwidth Limit Exceeded
  • 510 Not Extended
  • 511 Network Authentication Required
  • Составили подробный классификатор кодов состояния HTTP. Добавляйте в закладки, чтобы был под рукой, когда понадобится.

    Что такое код ответа HTTP

    Когда посетитель переходит по ссылке на сайт или вбивает её в поисковую строку вручную, отправляется запрос на сервер. Сервер обрабатывает этот запрос и выдаёт ответ — трехзначный цифровой код HTTP от 100 до 510. По коду ответа можно понять реакцию сервера на запрос. 

    Первая цифра в ответе обозначает класс состояния, другие две — причину, по которой мог появиться такой ответ.

    Как проверить код состояния страницы

    Проверить коды ответа сервера можно вручную с помощью браузера и в панелях веб‑мастеров: Яндекс.Вебмастер и Google Search Console.

    В браузере

    Для примера возьмём Google Chrome.

    1. Откройте панель разработчика в браузере клавишей F12, комбинацией клавиш Ctrl + Shift + I или в меню браузера → «Дополнительные инструменты» → «Инструменты разработчика». Подробнее об этом рассказывали в статье «Как открыть исходный код страницы». 

    2. Переключитесь на вкладку «Сеть» в Инструментах разработчика и обновите страницу: 

    Как посмотреть код ответа сервера в инструментах разработчика в браузере

    Как посмотреть код ответа сервера в инструментах разработчика в браузере

    В Яндекс.Вебмастере

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

    Как посмотреть код состояния в Вебмастере

    Как посмотреть код состояния в Вебмастере

    Как добавить сайт в Яндекс.Вебмастер и другие сервисы Яндекса

    В Google Search Console

    Чтобы посмотреть код ответа сервера в GSC, перейдите в инструмент проверки URL — он находится в самом верху панели:

    Проверка URL в инструменте GSC

    Проверка URL в инструменте GSC

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

    Изучить просканированную страницу в GSC

    Изучить просканированную страницу в GSC

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

    HTTP код страницы в GSC

    HTTP код страницы в GSC

    Теперь расскажем подробнее про все классы кодов состояния 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* класс кодов (ошибки на стороне клиента)

    Эти коды указывают на ошибки со стороны клиентов. 

    Скриншот страницы с ошибкой 404 с сайта modcloth.com

    Скриншот страницы с ошибкой 404 с сайта modcloth.com

    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, сервер должен вернуть в теле сообщения гипертекстовое пояснение для пользователя. И его можно использовать в работе.

    Изображение страницы с ошибкой сайта REG.RU

    Изображение страницы с ошибкой сайта REG.RU

    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

    Требуется аутентификация — ошибка генерируется сервером‑посредником, к примеру, сервером интернет‑провайдера, если нужно ввести пароль для получения доступа к сети через платную точку доступа.

    Информационные 100 Continue «Продолжить». Этот промежуточный ответ указывает, что запрос успешно
    принят и клиент может продолжать присылать запросы либо проигнорировать
    этот ответ, если запрос был завершён. Только HTTP/1.1 101 Switching Protocol «Переключение протокола». Этот код присылается в ответ на запрос
    клиента, содержащий заголовок Upgrade:, и указывает, что
    сервер переключился на протокол, который был указан в заголовке. Эта
    возможность позволяет перейти на несовместимую версию протокола и обычно
    не используется. Только HTTP/1.1 102 Processing «В обработке». Этот код указывает, что сервер получил запрос и
    обрабатывает его, но обработка ещё не завершена. Только HTTP/1.1 103 Early Hints «Ранние подсказки». В ответе сообщаются ресурсы, которые могут быть
    загружены заранее, пока сервер будет подготавливать основной ответ.
    RFC 8297 (Experimental). Только HTTP/1.1 Успешные 200

    OK

    «Успешно». Запрос успешно обработан. Что значит «успешно», зависит от
    метода HTTP, который был запрошен:

    • GET: «ПОЛУЧИТЬ». Запрошенный ресурс был найден и передан в теле
      ответа.
    • HEAD: «ЗАГОЛОВОК». Заголовки переданы в ответе.
    • POST: «ПОСЫЛКА». Ресурс, описывающий результат действия сервера на
      запрос, передан в теле ответа.
    • TRACE: «ОТСЛЕЖИВАТЬ». Тело ответа содержит тело запроса полученного
      сервером.
    HTTP/0.9 и выше 201 Created «Создано». Запрос успешно выполнен и в результате был создан ресурс.
    Этот код обычно присылается в ответ на запрос PUT «ПОМЕСТИТЬ». HTTP/0.9 и выше 202 Accepted «Принято». Запрос принят, но ещё не обработан. Не поддерживаемо, т.е.,
    нет способа с помощью HTTP отправить асинхронный ответ позже, который
    будет показывать итог обработки запроса. Это предназначено для случаев,
    когда запрос обрабатывается другим процессом или сервером, либо для
    пакетной обработки. HTTP/0.9 и выше 203 Non-Authoritative Information «Информация не авторитетна». Этот код ответа означает, что информация,
    которая возвращена, была предоставлена не от исходного сервера, а из
    какого-нибудь другого источника. Во всех остальных ситуациях более
    предпочтителен код ответа 200 OK. HTTP/0.9 и 1.1 204 No Content «Нет содержимого». Нет содержимого для ответа на запрос, но заголовки
    ответа, которые могут быть полезны, присылаются. Клиент может
    использовать их для обновления кешированных заголовков полученных ранее
    для этого ресурса. HTTP/0.9 и выше 205 Reset Content «Сбросить содержимое». Этот код присылается, когда запрос обработан,
    чтобы сообщить клиенту, что необходимо сбросить отображение документа,
    который прислал этот запрос. Только HTTP/1.1 206 Partial Content «Частичное содержимое». Этот код ответа используется, когда клиент
    присылает заголовок диапазона, чтобы выполнить загрузку отдельно, в
    несколько потоков. Только HTTP/1.1 Сообщения о перенаправлениях 300 Multiple Choice

    «Множественный выбор». Этот код ответа присылается, когда запрос имеет
    более чем один из возможных ответов. И User-agent или пользователь
    должен выбрать один из ответов. Не существует стандартизированного
    способа выбора одного из полученных ответов.

    HTTP/1.0 и выше 301 Moved Permanently

    «Перемещён на постоянной основе». Этот код ответа значит, что URI
    запрашиваемого ресурса был изменён. Возможно, новый URI будет
    предоставлен в ответе.

    HTTP/0.9 и выше 302 Found

    «Найдено». Этот код ответа значит, что запрошенный ресурс
    временно изменён. Новые изменения в URI могут быть доступны в
    будущем. Таким образом, этот URI, должен быть использован клиентом в
    будущих запросах.

    HTTP/0.9 и выше 303 See Other «Просмотр других ресурсов». Этот код ответа присылается, чтобы
    направлять клиента для получения запрашиваемого ресурса в другой URI с
    запросом GET. HTTP/0.9 и 1.1 304 Not Modified «Не модифицировано». Используется для кеширования. Это код ответа
    значит, что запрошенный ресурс не был изменён. Таким образом, клиент
    может продолжать использовать кешированную версию ответа. HTTP/0.9 и выше 305 Use Proxy «Использовать прокси». Это означает, что запрошенный ресурс должен быть
    доступен через прокси. Этот код ответа в основном не поддерживается из
    соображений безопасности. Только HTTP/1.1 306 Switch Proxy Больше не использовать. Изначально подразумевалось, что » последующие
    запросы должны использовать указанный прокси.» Только HTTP/1.1 307 Temporary Redirect «Временное перенаправление». Сервер отправил этот ответ, чтобы клиент
    получил запрошенный ресурс на другой URL-адрес с тем же методом, который
    использовал предыдущий запрос. Данный код имеет ту же семантику, что код
    ответа 302 Found, за исключением того, что агент
    пользователя не должен изменять используемый метод HTTP: если в первом
    запросе использовался POST, то во втором запросе также
    должен использоваться POST. Только HTTP/1.1 308 Permanent Redirect

    «Перенаправление на постоянной основе». Это означает, что ресурс
    теперь постоянно находится в другом URI, указанном в заголовке
    Location: HTTP Response. Данный код ответа имеет ту же
    семантику, что и код ответа 301 Moved Permanently, за
    исключением того, что агент пользователя не должен изменять
    используемый метод HTTP: если POST использовался в первом
    запросе, POST должен использоваться и во втором запросе.

    Примечание: Это экспериментальный код ответа,
    Спецификация которого в настоящее время находится в черновом виде.

    draft-reschke-http-status-308 Клиентские 400 Bad Request «Плохой запрос». Этот ответ означает, что сервер не понимает запрос
    из-за неверного синтаксиса. HTTP/0.9 и выше 401 Unauthorized «Неавторизованно». Для получения запрашиваемого ответа нужна
    аутентификация. Статус похож на статус 403, но,в этом случае,
    аутентификация возможна. HTTP/0.9 и выше 402 Payment Required «Необходима оплата». Этот код ответа зарезервирован для будущего
    использования. Первоначальная цель для создания этого кода была в
    использовании его для цифровых платёжных систем(на данный момент не
    используется). HTTP/0.9 и 1.1 403 Forbidden «Запрещено». У клиента нет прав доступа к содержимому, поэтому сервер
    отказывается дать надлежащий ответ. HTTP/0.9 и выше 404 Not Found «Не найден». Сервер не может найти запрашиваемый ресурс. Код этого
    ответа, наверно, самый известный из-за частоты его появления в вебе. HTTP/0.9 и выше 405 Method Not Allowed «Метод не разрешён». Сервер знает о запрашиваемом методе, но он был
    деактивирован и не может быть использован. Два обязательных метода,
    GET и HEAD, никогда не должны быть
    деактивированы и не должны возвращать этот код ошибки. Только HTTP/1.1 406 Not Acceptable

    Этот ответ отсылается, когда веб сервер после выполнения
    server-driven content negotiation, не нашёл контента, отвечающего критериям, полученным из user agent.

    Только HTTP/1.1 407 Proxy Authentication Required Этот код ответа аналогичен коду 401, только аутентификация требуется для
    прокси сервера. Только HTTP/1.1 408 Request Timeout Ответ с таким кодом может прийти, даже без предшествующего запроса. Он
    означает, что сервер хотел бы отключить это неиспользуемое соединение.
    Этот метод используется все чаще с тех пор, как некоторые браузеры,
    вроде Chrome и IE9, стали использовать
    HTTP механизмы предварительного соединения
    для ускорения сёрфинга (смотрите баг 634278, будущей
    реализации этого механизма в Firefox). Также учитывайте, что некоторые
    серверы прерывают соединения не отправляя подобных сообщений. Только HTTP/1.1 409 Conflict

    Этот ответ отсылается, когда запрос конфликтует с текущим состоянием
    сервера.

    Только HTTP/1.1 410 Gone

    Этот ответ отсылается, когда запрашиваемый контент удалён с сервера.

    Только HTTP/1.1 411 Length Required

    Запрос отклонён, потому что сервер требует указание заголовка
    Content-Length, но он не указан.

    Только HTTP/1.1 412 Precondition Failed Клиент указал в своих заголовках условия, которые сервер не может
    выполнить Только HTTP/1.1 413 Request Entity Too Large

    Размер запроса превышает лимит, объявленный сервером. Сервер может
    закрыть соединение, вернув заголовок Retry-After

    Только HTTP/1.1 414 Request-URI Too Long URI запрашиваемый клиентом слишком длинный для того, чтобы сервер смог
    его обработать Только HTTP/1.1 415 Unsupported Media Type Медиа формат запрашиваемых данных не поддерживается сервером, поэтому
    запрос отклонён Только HTTP/1.1 416 Requested Range Not Satisfiable Диапазон указанный заголовком запроса Range не может быть
    выполнен; возможно, он выходит за пределы переданного URI Только HTTP/1.1 417 Expectation Failed Этот код ответа означает, что ожидание, полученное из заголовка запроса
    Expect, не может быть выполнено сервером. Только HTTP/1.1 Серверные 500 Internal Server Error «Внутренняя ошибка сервера». Сервер столкнулся с ситуацией, которую он
    не знает как обработать. HTTP/0.9 и выше 501 Not Implemented «Не выполнено». Метод запроса не поддерживается сервером и не может быть
    обработан. Единственные методы, которые сервера должны поддерживать (и,
    соответственно, не должны возвращать этот код) — GET и
    HEAD. HTTP/0.9 и выше 502 Bad Gateway «Плохой шлюз». Эта ошибка означает что сервер, во время работы в
    качестве шлюза для получения ответа, нужного для обработки запроса,
    получил недействительный (недопустимый) ответ. HTTP/0.9 и выше 503 Service Unavailable «Сервис недоступен». Сервер не готов обрабатывать запрос. Зачастую
    причинами являются отключение сервера или то, что он перегружен.
    Обратите внимание, что вместе с этим ответом удобная для
    пользователей(user-friendly) страница должна отправлять объяснение
    проблемы. Этот ответ должен использоваться для временных условий и
    Retry-After: HTTP-заголовок должен, если возможно,
    содержать предполагаемое время до восстановления сервиса. Веб-мастер
    также должен позаботиться о заголовках, связанных с кешем, которые
    отправляются вместе с этим ответом, так как эти ответы, связанные с
    временными условиями, обычно не должны кешироваться. HTTP/0.9 и выше 504 Gateway Timeout Этот ответ об ошибке предоставляется, когда сервер действует как шлюз и
    не может получить ответ вовремя. Только HTTP/1.1 505 HTTP Version Not Supported «HTTP-версия не поддерживается». HTTP-версия, используемая в запросе, не
    поддерживается сервером. Только HTTP/1.1

    Have you ever been frustrated by proxy error codes that you have received while using proxies, but you have no idea why? Proxy error codes are similar to HTTP status codes. By learning what these errors mean, you can smoothly perform your scraping activities and automate your IP settings as well. 

    It is very likely to receive such errors if you do not adequately manage your proxies during crawling or scraping activities. Problems can occur either from your end (client-side) or from the server-side. You will learn the most common types of proxy errors, why you receive them, and how to solve them by further reading this article.

    What is a Proxy Error?

    A proxy error is an HTTP error status that you will receive as a response when a request sent to the web server via a proxy fails. To keep using the proxy, you have to find a solution no matter what the case is. The returned response during a request failure may seem a bit confusing. If you are conversant about HTTP status codes, understanding proxy errors is not an issue.
     

    Status Code Classes

    HTTP Status codes are displayed in three digits. They are grouped into five classes, such that the first digit of each error code depicts the class.

    They are;

    1. 1xxInformational

    2. 2xxSuccess

    3. 3xxRedirection

    4. 4xxClient Error

    5. 5xxServer Error
     

    Common Proxy Error Codes and Their
    Solutions

    1xx Informational Error Code

    These are provisional responses that are rarely used. These requests are considered to be used when the server is processing the requests;

    100 – Continue

    The code indicates that a part of the request is received, and the client can continue sending the remaining request. Typically, the client first sends a request header with a statement “Expect: 100-continue” and receives the 100 status code from the server to send the request’s body. The “expect” in the initial request is to avoid sending further requests if the server rejects the initial request header.

    101 – Switching Protocols

    A web server sends a 101 status code when the browser requests to change the communication protocol during a transaction. When the client browser’s request asks the server to switch communication protocol and accepts it, it sends the HTTP status code “100 – Switching Protocols” as an acknowledgment.

    102 – Processing (WebDAV)

    The web server might need some considerable time to process complex requests. When a client’s browser sends a WebDAV request with multiple sub-requests involving complex requirements, the server takes some time to process and eventually sends this code “102 – Processing”. This code aims to avoid timeout errors on the client-side by informing the client that the server received the request and processing it.

    103 – Early Hints

    The code “103 – Early Hints” is received by the webserver when sending the HTTP status to the browser before processing the HTTP requests. The name indicates this is an early hint to the client’s browser that the server has not started processing the requests.
     

    2xx Successful Status Code

    Receiving codes between 200 and 299 means that your proxy received your HTTP request, sent it to your intended website, and got a response. 200 is the most received code, informing that the server has fulfilled the request successfully. Pay attention to any other 2xx code other than 200 OK as it may show an error.
     

    Here are the most common 2xx status codes;

    201 – Created

    This status code indicates the server has completed the client’s received request and has created a new resource based on the received request. The initial request is acting as a trigger to generate a new response in the server. For example, when a server is generating a new response based on a user’s login details.

    202 – Accepted

    “202 – Accepted” is returned when the server receives the request from the client, but it has yet to process. That’s the only indication for accepting the request, but the result for processing the request will be known later on when the “actual processing” takes place.
     

    203 – Non-Authoritative Information

    The code “203 – Non-Authoritative Information” was received when the server successfully processed the request but returned the information from another resource to the requested client.
     

    204 – No Content

    The server cannot find any content for the received request; it sends a “204 – No Content” response code, indicating to the client that no content is returned.
     

    205 – Reset Content

    Similar to the 204 code above. A request was processed successfully by the server, but no content is returned. The only difference here is that the 205 code informs the client to reset the document view.
     

    206 – Partial Content

    A server will return this error code when it sends a part of the requested resource affected by the range mentioned in the request header. 

    E.g., the client requests a range of files to download and uses multiple streams to download the complete content.
     

    3xx – Redirection Error

    3xx codes indicate that additional action is needed from the client-side to fulfill the request.

    These status codes won’t be an issue when using a browser (for example, Google Chrome or Safari), but when using your own script. Scripts that you write, and when there’s no need to redirect the requests to other URLs, will come in handy.

    As these actions can create infinite loops, web browsers usually don’t follow more than five consecutive redirections of the same request.
     

    Some of the most common 3xx error codes are as follows;

    300 – Multiple Choices

    It occurs when a requested URL is pointing towards more than one resource. 

    The user agent (crawler or web browser) cannot decide which page to fetch, and an HTTP code “300 – Multiple Choices “is received. 

    Fix 300 error code by checking the HTTP headers and make sure the URL is pointing to a single resource – so that the user agent can access the page successfully.
     

    301 – Resource Moved Permanently

    This error is received when there’s a permanent redirection set to an original URL to forward the user agent to a different URL.

    When a web server sends a “301 – Moved Permanently” status code as a user can’t see the original URL, search engines would only index the redirected URL. Most search engine crawlers and user agents can follow up to 5 redirects for a single URL. More than five redirects could result in an infinite loop, and browsers like Chrome will show a message like “Too Many Redirects”.

    A 301 code is the most popular out of all 3xx server response codes.
     

    302 – Resource Moved Temporarily

    A code “302 – Moved Temporarily” is received when a temporary redirect is set to the original URL. It means the user agent is redirected to another URL once making the request.

    303 – See Another Resource

    A “303 – See Another Resource” is received when the requested resource is located in another URL address, and it should be requested by using a “GET” method rather than code. Note that the initially requested page will be indexed by the search engines only when the “200 – Success” code is received.

    304 – Resource Not Modified

    A server would respond with the “304 – Resource Not Modified” code if the requested resource hasn’t been modified since the request’s last time. 

    In this case, the server would assume that there’s no need for sending the data again, since the client already has a copy of the requested resource, which was not modified.

    Note that the “last time of modification” is mentioned in the request header line “If-Modified-Since” or “If-Match”.

    Plus, if your web page has not changed since the last time the search engine(s) crawler has accessed your site, then returning the 304 code is recommended to speed up indexing and reduce the crawler load.

    305 – Use proxy

    The code “305 – Use Proxy” will appear if the requested resource can only be accessed through a proxy server. The proxy server’s address is also received in the response and displayed in the browser’s window. 

    Some browsers like Internet Explorer will not display this response properly due to the security concern of displaying the proxy server.

    306 – Switch Proxy

    “306 – Switch proxy” code indicates the server should use the specified proxy for the following request(s).

    307 – Temporary Redirection

    Code “307 – Temporary Redirect” is received when a requested resource is moved temporarily to a different address, mentioned in the Location header of the request. This is just a temporary redirect, but the next request should access the original URL. BTW, only HTTP/1.1 protocol uses this status code.

    308 – Permanent Redirect

    A308 – Permanent Redirection” code is an experimental code to indicate a permanent redirection (similar to 307, which is set as a temporary redirection). 307 and 308 codes are similar to the 302 and 301 codes, with the slight difference in not changing the HTTP method.

    4xx Client Error Codes

    The main types of HTTP proxy errors are 4xx and 5xx error codes. Receiving an error from the 4xx series indicates that the problem is from the client-side. It can be your request, browser, or the automation bot.

    400 – Bad Request

    It is a generic response indicating that there’s a problem with your sent request. Sometimes it can be that your proxy server or the target website is unable to parse your request. Problems can be malformed syntax, invalid formatting, or deceptive request routing.

    401 – Unauthorized

    “401 – Unauthorized” error code indicates that you are trying to access an unauthorized website where you have to authenticate yourself. 

    The error is returned by the proxy server when the webserver requires authentication and authorization. Providing credentials will allow you to access the resource.

    402 – Payment Required 

    This response code is mostly set for future usage. Even though this status code is relatively rare and no standard convention exists, the aim for creating this code was for digital payment systems.

    403 – Forbidden

    403 indicates that your request is valid and understood by the proxy or the webserver but refuses to respond. It happens when you have no permission to view the resource.

    404 – Not Found

    This code is returned by the proxy server when the requested online resource is not available, even when the request is valid. Although 404 is primarily known as a “client error,” it results from dead links. It could mean that the URL has been taken down, incorrect, or changed without redirection.

    405 – Method Not Allowed

    405 is received when a request method is known by the server but has been disabled and can’t be used. For example, an API request may forbid 

    “DELETE-ing” a resource. Both mandatory methods, GET and HEAD, must never be disabled and should not return this error code.

    406 – Not Acceptable

    A response is sent when the web server doesn’t find any content that conforms to the criteria given by the user agent after performing server-driven content negotiation.

    407 – Proxy Authentication Required

    A proxy indicates a 407 code when it requires authentication or when a tunnel fails to connect. It can happen when your scraper is not authenticated correctly with the proxy provider or when credentials are inaccurate. Another reason can be not whitelisting your IPs within the proxy settings.

    Solving this error requires you to update your proxy settings by including whitelisted IPs and enter proper credentials. Plus, make sure that all the required information is included in the request as well.

    408 – Request Timeout

    This error code is received when a client hasn’t produced a request while the server is configured to wait or hold. The client may repeat the request without making modifications later at any time. 

    If the 408 error is persistent, check the load created on your web server when detecting the errors. One more possibility might be connectivity problems.

    409 – Conflict

    The 409 – Conflict is usually unrelated to standard web server authority or security but to a specific application, conflicts not defined in the HTTP protocol itself.

    The web server is responding with this error when considering the client’s requests as legitimate ones, but a request could not be completed due to a conflict with the current state of the resources. The response body usually includes sufficient information for users to recognize the conflict’s source and fix the error.

    410 – Gone

    The web server responds with this error code when the requested resource is no longer available via the server, will not be available again, and has no know forwarding address. This error is similar to the 404 error, but 410 is a permanent one.

    411 – Length Required

    This error code means that the server is refusing to accept the request without a defined content length. The client should repeat the request by adding a valid content-length header field, which contains the length of the message-body in the request’s message.

    412 – Precondition Failed

    The webserver responded with this error code when preconditions are given in one or more of the request-header fields that have been evaluated as false when tested on the server. 

    This status code allows the client to place preconditions on current resources meta-information (header field data) and prevents the requested method from applying to a resource other than the initially intended one.

    413 – Request Entity Too Large

    The server’s refusing to process a request since the request entity is larger than what the server can process. The server could close the connection to prevent the client from sending more of the same request. 

    “What constitutes ‘too large’ depends in part on the operation being attempted. For example, a request to upload large files (via the HTTP PUT method) may encounter limitations on upload file size set by the webserver.”

    414 – Request-URL Too Long

    The web server is responding with this error when refusing to service the request since the Request-URL is longer than the server can process. This rare condition is more likely to occur when a client has improperly converted “POST” requests to “GET” requests, with long query information once the client has descended into a URL redirections “black hole” (meant that a redirected URL prefix which is pointing a suffix of its own), or 

    This error code could also be received when the server is attacked by a client’s attempts to exploit any security holes that are present in some servers, also using fixed-length buffers for Request-URL reading and manipulating. Typically, webservers are setting fairly generous genuine URLs limits on length. In case that a long URL is valid and you are still receiving a 414 error code, it means that the web server may need to be reconfigured to allow such URLs through.

    415 – Unsupported Media Type

    The webserver is refusing to complete the request since the entity of the request is in formats that are not supported by the requested resource for the requested method.

    416 – Requested Range Not Satisfiable

    416 status code is received when a server’s response usually returns with 416 if a request includes a “Range” request-header field. No range-specific values in this field overlap the current extents of selected resources, and the request didn’t have the If-Range request-header field. 

    For example, if the resource is a file with 1000 bytes, and the Range requested is 500-1500, it cannot be sufficed as an acceptable range.

    417 – Expectation Failed

    The web server usually responds with this status code when the expectation received in an “Expect” request-header field cannot be fulfilled by the server or if the server is a proxy and has clear evidence showing that the next-hop server could not fulfill the request.

    429 – Too Many Requests

    This error is likely to be received when sending too many requests within a limited time frame while using the same IP address. Websites usually implement such restrictions to protect from attackers and to avoid overloading.

    Using rotating proxies, setting delays between requests per IP and per a particular time frame can solve this error code.
     

    5xx – Server Error

    Series of 5xx is returned when the server receives the request successfully but cannot process the request or encounters a problem while processing it.

    To solve all these 5xx errors, rotate the IPs, and change the proxy network and IP type. Using a residential proxy network is better in such cases to rotate IPs and ensure reliability.

    You may receive error codes such as – 

    500 – Internal Server 

    Error code “500 – Internal Server “is received when the server encounters an unexpected condition, stopping it from responding to the request.

    501 – Not Implemented

    The “501 – Not Implemented” error is received when the server can’t provide the requested resource because of an unsupported or unrecognized method(s) used in the request.

    502 – Bad Gateway

    This error will frequently occur during data gathering when the server acts as a gateway or a proxy and receives an invalid response from another server. 

    When super proxies refuse the internet connection or requests sent, IPs’ unavailability for chosen settings is detected as bots indicate 502 code.

    503 – Services Unavailable

    The “503 – Service Unavailable” code is received when a server receives the request at the same time other requests overload it, or it’s under planned downtime/maintenance. In this case, and if possible, check the status of the requested server.

    504 – Gateway Timeout

    “504 – Gateway Timeout” is received when a server (a) acts as an external gateway or a proxy and does not receive the response on time from the next server (b), further up in the request chain which tries to access to fulfill the request.

    505 – HTTP Version Not Supported

    A “505 – HTTP Version Not Supported” code is received when a server isn’t supporting the HTTP protocol version and used in the request message.

    507 – Insufficient Space

    “507 – Insufficient Storage” means that the server runs out of disk space and no more accommodates the request.

    510 – Extensions are Missing

    The server can’t process the request because an unsupported extension is requested, then the code “510 – Not Extended” is received.
     

    Solving Common Proxy Error Codes

    The easiest way to solve these proxy error codes is by using a proxy manager. A proxy manager is often a free and open-source software that automates proxy management to avoid such errors. To prevent the 407 error code, You have to choose a proxy port. Then, all the associated credentials and zone information are automatically updated. 

    You can apply specific actions within your proxy manager when a rule you applied gets triggered. To avoid errors such as 403, rotating your IPs is essential; hence residential proxies are the best option. NetNut can play its part by integrating with your proxy tools to avoid these errors. Learn how to integrate NetNut to configure your proxy settings.

    Check out our GitHub repositories as well for a better understanding of advanced usage with our proxies, code documentation, and walkthroughs.

    To summarize, the basic steps that you can follow to solve these proxy errors are;

    1. Switching to Residential Proxies

    Although residential proxies are a bit more expensive, they provide a large pool of proxies, unlike data center proxies. Hence you can rotate your IPs and avoid getting blocked.

    NetNut is a better example of a residential proxy service provider, using a dynamic P2P + ISP Proxy Network, offering both Rotating & Static Residential IPs.

    2. Decrease the number of requests

    Sending too many requests at the same time seems suspicious by any website. Set a slight delay between requests to avoid any errors.

    3. Improve IP Rotation

    As explained above, using a proxy management tool helps to achieve this task. Control your IP sessions to minimize requests made with the same IP address.

    4. Have a Well-Performing Scraper

    Following the above factors but using a poor-performing scraper can still give you errors. Hence, make sure that you have an advanced scraper to bypass obstacles implemented by websites.
     

    Remember!

    The first steps in overcoming these proxy errors are understanding the error code and why you get such code. Understanding such causes while implementing these techniques can let you perform your data gathering smoothly, minimizing errors.

    Can’t figure out a solution to your error code? Ping us via email and our support experts can help you out!

    Have you encountered an issue that isn’t listed here? Let us know!

    REST API использует строку состояния в HTTP ответе (статус ответа), чтобы информировать Клиентов о результате запроса.

    Вообще HTTP определяет 40 стандартных кодов состояния (статусов ответа), которые делятся на пять категорий. Ниже выделены только те коды состояния, которые часто используются в REST API.

    Категория Описание
    1xx: Информация В этот класс содержит заголовки информирующие о процессе передачи. Это обычно предварительный ответ, состоящий только из Status-Line и опциональных заголовков, и завершается пустой строкой. Нет обязательных заголовков. Серверы НЕ ДОЛЖНЫ посылать 1xx ответы HTTP/1.0 клиентам.
    2xx: Успех Этот класс кодов состояния указывает, что запрос клиента был успешно получен, понят, и принят.
    3xx: Перенаправление Коды этого класса сообщают клиенту, что для успешного выполнения операции необходимо сделать другой запрос, как правило, по другому URI. Из данного класса пять кодов 301, 302, 303, 305 и 307 относятся непосредственно к перенаправлениям.
    4xx: Ошибка клиента Класс кодов 4xx предназначен для указания ошибок со стороны клиента.
    5xx: Ошибка сервера Коды ответов, начинающиеся с «5» указывают на случаи, когда сервер знает, что произошла ошибка или он не может обработать запрос.

    Коды состояний в REST

    Звездочкой * помечены популярные (часто используемые) коды ответов.

    200 * (OK)

    Запрос выполнен успешно. Информация, возвращаемая с ответом зависит от метода, используемого в запросе, например при:

    • GET Получен объект, соответствующий запрошенному ресурсу.
    • HEAD Получены поля заголовков, соответствующие запрошенному ресурсу, тело ответа пустое.
    • POST Запрошенное действие выполнено.

    201 * (Created — Создано)

    REST API отвечает кодом состояния 201 при каждом создании ресурса в коллекции. Также могут быть случаи, когда новый ресурс создается в результате какого-либо действия контроллера, и в этом случае 201 также будет подходящем ответом.

    Ссылка (URL) на новый ресурс может быть в теле ответа или в поле заголовка ответа Location.

    Сервер должен создать ресурс перед тем как вернуть 201 статус. Если это невозможно сделать сразу, тогда сервер должен ответить кодом 202 (Accepted).

    202 (Accepted — Принято)

    Ответ 202 обычно используется для действий, которые занимают много времени для обработки и не могут быть выполнены сразу. Это означает, что запрос принят к обработке, но обработка не завершена.

    Его цель состоит в том, чтобы позволить серверу принять запрос на какой-либо другой процесс (возможно, пакетный процесс, который выполняется только один раз в день), не требуя, чтобы соединение агента пользователя с сервером сохранялось до тех пор, пока процесс не будет завершен.

    Сущность, возвращаемая с этим ответом, должна содержать указание на текущее состояние запроса и указатель на монитор состояния (расположение очереди заданий) или некоторую оценку того, когда пользователь может ожидать выполнения запроса.

    203 (Non-Authoritative Information — Неавторитетная информация)

    Предоставленная информация взята не из оригинального источника (а, например, из кэша, который мог устареть, или из резервной копии, которая могла потерять актуальность). Этот факт отражен в заголовке ответа и подтверждается этим кодом. Предоставленная информация может совпадать, а может и не совпадать с оригинальными данными.

    204 * (No Content — Нет контента)

    Код состояния 204 обычно отправляется в ответ на запрос PUT, POST или DELETE, когда REST API отказывается отправлять обратно любое сообщение о состоянии проделанной работы.

    API может также отправить 204 статус в ответ на GET запрос, чтобы указать, что запрошенный ресурс существует, но не имеет данных для добавления их в тело ответа.

    Ответ 204 не должен содержать тело сообщения и, таким образом, всегда завершается первой пустой строкой после полей заголовка.

    205 — (Reset Content — Сброшенное содержимое)

    Сервер успешно обработал запрос и обязывает клиента сбросить введенные пользователем данные. В ответе не должно передаваться никаких данных (в теле ответа). Обычно применяется для возврата в начальное состояние формы ввода данных на клиенте.

    206 — (Partial Content — Частичное содержимое)

    Сервер выполнил часть GET запроса ресурса. Запрос ДОЛЖЕН был содержать поле заголовка Range (секция 14.35), который указывает на желаемый диапазон и МОГ содержать поле заголовка If-Range (секция 14.27), который делает запрос условным.

    Запрос ДОЛЖЕН содержать следующие поля заголовка:

    • Либо поле Content-Range (секция 14.16), который показывает диапазон, включённый в этот запрос, либо Content-Type со значением multipart/byteranges, включающими в себя поля Content-Range для каждой части. Если в заголовке запроса есть поле Content-Length, его значение ДОЛЖНО совпадать с фактическим количеством октетов, переданных в теле сообщения.
    • Date
    • ETag и/или Content-Location, если ранее был получен ответ 200 на такой же запрос.
    • Expires, Cache-Control, и/или Vary, если значение поля изменилось с момента отправления последнего такого же запроса

    Если ответ 206 — это результат выполнения условного запроса, который использовал строгий кэш-валидатор (подробнее в секции 13.3.3), в ответ НЕ СЛЕДУЕТ включать какие-либо другие заголовки сущности. Если такой ответ — результат выполнения запроса If-Range, который использовал «слабый» валидатор, то ответ НЕ ДОЛЖЕН содержать другие заголовки сущности; это предотвращает несоответствие между закэшированными телами сущностей и обновлёнными заголовками. В противном случае ответ ДОЛЖЕН содержать все заголовки сущностей, которые вернули статус 200 (OK) на тот же запрос.

    Кэш НЕ ДОЛЖЕН объединять ответ 206 с другими ранее закэшированными данными, если поле ETag или Last-Modified в точности не совпадают (подробнее в секции 16.5.4)

    Кэш, который не поддерживает заголовки Range и Content-Range НЕ ДОЛЖЕН кэшировать ответы 206 (Partial).

    300 — (Multiple Choices — Несколько вариантов)

    По указанному URI существует несколько вариантов предоставления ресурса по типу MIME, по языку или по другим характеристикам. Сервер передаёт с сообщением список альтернатив, давая возможность сделать выбор клиенту автоматически или пользователю.

    Если это не запрос HEAD, ответ ДОЛЖЕН включать объект, содержащий список характеристик и адресов, из которого пользователь или агент пользователя может выбрать один наиболее подходящий. Формат объекта определяется по типу данных приведённых в Content-Type поля заголовка. В зависимости от формата и возможностей агента пользователя, выбор наиболее подходящего варианта может выполняться автоматически. Однако эта спецификация не определяет никакого стандарта для автоматического выбора.

    Если у сервера есть предпочтительный выбор представления, он ДОЛЖЕН включить конкретный URI для этого представления в поле Location; агент пользователя МОЖЕТ использовать заголовок Location для автоматического перенаправления к предложенному ресурсу. Этот запрос может быть закэширован, если явно не было указано иного.

    301 (Moved Permanently — Перемещено навсегда)

    Код перенаправления. Указывает, что модель ресурсов REST API была сильно изменена и теперь имеет новый URL. Rest API должен указать новый URI в заголовке ответа Location, и все будущие запросы должны быть направлены на указанный URI.

    Вы вряд ли будете использовать этот код ответа в своем API, так как вы всегда можете использовать версию API для нового API, сохраняя при этом старый.

    302 (Found — Найдено)

    Является распространенным способом выполнить перенаправление на другой URL. HTTP-ответ с этим кодом должен дополнительно предоставит URL-адрес куда перенаправлять в поле заголовка Location. Агенту пользователя (например, браузеру) предлагается в ответе с этим кодом сделать второй запрос на новый URL.

    Многие браузеры реализовали этот код таким образом, что нарушили стандарт. Они начали изменять Тип исходного запроса, например с POST на GET. Коды состояния 303 и 307 были добавлены для серверов, которые хотят однозначно определить, какая реакция ожидается от клиента.

    303 (See Other — Смотрите другое)

    Ответ 303 указывает, что ресурс контроллера завершил свою работу, но вместо отправки нежелательного тела ответа он отправляет клиенту URI ресурса. Это может быть URI временного сообщения о состоянии ресурса или URI для уже существующего постоянного ресурса.

    Код состояния 303 позволяет REST API указать ссылку на ресурс, не заставляя клиента загружать ответ. Вместо этого клиент может отправить GET запрос на URL указанный в заголовке Location.

    Ответ 303 не должен кэшироваться, но ответ на второй (перенаправленный) запрос может быть кэшируемым.

    304 * (Not Modified — Не изменен)

    Этот код состояния похож на 204 (Нет контента), так как тело ответа должно быть пустым. Ключевое различие состоит в том, что 204 используется, когда нет ничего для отправки в теле, тогда как 304 используется, когда ресурс не был изменен с версии, указанной заголовками запроса If-Modified-Since или If-None-Match.

    В таком случае нет необходимости повторно передавать ресурс, так как у клиента все еще есть ранее загруженная копия.

    Все это экономит ресурсы клиента и сервера, так как только заголовки должны быть отправлены и приняты, и серверу нет необходимости генерировать контент снова, а клиенту его получать.

    305 — (Use Proxy — Используйте прокси)

    Доступ к запрошенному ресурсу ДОЛЖЕН быть осуществлен через прокси-сервер, указанный в поле Location. Поле Location предоставляет URI прокси. Ожидается, что получатель повторит этот запрос с помощью прокси. Ответ 305 может генерироваться ТОЛЬКО серверами-источниками.

    Заметьте: в спецификации RFC 2068 однозначно не сказано, что ответ 305 предназначен для перенаправления единственного запроса, и что он должен генерироваться только сервером-источником. Упущение этих ограничений вызвало ряд значительных последствий для безопасности.

    Многие HTTP клиенты (такие, как Mozilla и Internet Explorer) обрабатывают этот статус некорректно прежде всего из соображений безопасности.

    307 (Temporary Redirect — Временный редирект)

    Ответ 307 указывает, что rest API не будет обрабатывать запрос клиента. Вместо этого клиент должен повторно отправить запрос на URL, указанный в заголовке Location. Однако в будущих запросах клиент по-прежнему должен использоваться исходный URL.

    Rest API может использовать этот код состояния для назначения временного URL запрашиваемому ресурсу.

    Если метод запроса не HEAD, тело ответа должно содержать короткую заметку с гиперссылкой на новый URL. Если код 307 был получен в ответ на запрос, отличный от GET или HEAD, Клиент не должен автоматически перенаправлять запрос, если он не может быть подтвержден Клиентом, так как это может изменить условия, при которых был создан запрос.

    308 — (Permanent Redirect — Постоянное перенаправление) (experimental)

    Нужно повторить запрос на другой адрес без изменения применяемого метода.

    Этот и все последующие запросы нужно повторить на другой URI. 307 и 308 (как предложено) Схож в поведении с 302 и 301, но не требуют замены HTTP метода. Таким образом, например, отправку формы на «постоянно перенаправленный» ресурс можно продолжать без проблем.

    400 * (Bad Request — Плохой запрос)

    Это общий статус ошибки на стороне Клиента. Используется, когда никакой другой код ошибки 4xx не уместен. Ошибки могут быть как неправильный синтаксис запроса, неверные параметры запроса, запросы вводящие в заблуждение или маршрутизатор и т.д.

    Клиент не должен повторять точно такой же запрос.

    401 * (Unauthorized — Неавторизован)

    401 сообщение об ошибке указывает, что клиент пытается работать с закрытым ресурсом без предоставления данных авторизации. Возможно, он предоставил неправильные учетные данные или вообще ничего. Ответ должен включать поле заголовка WWW-Authenticate, содержащего описание проблемы.

    Клиент может повторить запрос указав в заголовке подходящее поле авторизации. Если это уже было сделано, то в ответе 401 будет указано, что авторизация для указанных учетных данных не работает. Если в ответе 401 содержится та же проблема, что и в предыдущем ответе, и Клиент уже предпринял хотя бы одну попытку проверки подлинности, то пользователю Клиента следует представить данные полученные в ответе, владельцу сайта, так как они могут помочь в диагностике проблемы.

    402 — (Payment Required — Требуется оплата)

    Этот код зарезервирован для использования в будущем.

    Предполагается использовать в будущем. В настоящий момент не используется. Этот код предусмотрен для платных пользовательских сервисов, а не для хостинговых компаний. Имеется в виду, что эта ошибка не будет выдана хостинговым провайдером в случае просроченной оплаты его услуг. Зарезервирован, начиная с HTTP/1.1.

    403 * (Forbidden — Запрещено)

    Ошибка 403 указывает, что rest API отказывается выполнять запрос клиента, т.е. Клиент не имеет необходимых разрешений для доступа. Ответ 403 не является случаем, когда нужна авторизация (для ошибки авторизации используется код 401).

    Попытка аутентификация не поможет, и повторные запросы не имеют смысла.

    404 * (Not Found — Не найдено)

    Указывает, что rest API не может сопоставить URL клиента с ресурсом, но этот URL может быть доступен в будущем. Последующие запросы клиента допустимы.

    404 не указывает, является ли состояние временным или постоянным. Для указания постоянного состояния используется код 410 (Gone — Пропал). 410 использоваться, если сервер знает, что старый ресурс постоянно недоступен и более не имеет адреса.

    405 (Method Not Allowed — Метод не разрешен)

    API выдает ошибку 405, когда клиент пытался использовать HTTP метод, который недопустим для ресурса. Например, указан метод PUT, но такого метода у ресурса нет.

    Ответ 405 должен включать Заголовок Allow, в котором перечислены поддерживаемые HTTP методы, например, Allow: GET, POST.

    406 (Not Acceptable — Неприемлемый)

    API не может генерировать предпочитаемые клиентом типы данных, которые указаны в заголовке запроса Accept. Например, запрос клиента на данные в формате application/xml получит ответ 406, если API умеет отдавать данные только в формате application/json.

    В таких случаях Клиент должен решить проблему данных у себя и только потом отправлять запросы повторно.

    407 — (Proxy Authentication Required — Требуется прокси-аутентификация)

    Ответ аналогичен коду 401, за исключением того, что аутентификация производится для прокси-сервера. Механизм аналогичен идентификации на исходном сервере.

    Пользователь должен сначала авторизоваться через прокси. Прокси-сервер должен вернуть Proxy-Authenticate заголовок, содержащий запрос ресурса. Клиент может повторить запрос вместе с Proxy-Authenticate заголовком. Появился в HTTP/1.1.

    408 — (Request Timeout — Таймаут запроса)

    Время ожидания сервером передачи от клиента истекло. Клиент не предоставил запрос за то время, пока сервер был готов его принят. Клиент МОЖЕТ повторить запрос без изменений в любое время.

    Например, такая ситуация может возникнуть при загрузке на сервер объёмного файла методом POST или PUT. В какой-то момент передачи источник данных перестал отвечать, например, из-за повреждения компакт-диска или потери связи с другим компьютером в локальной сети. Пока клиент ничего не передаёт, ожидая от него ответа, соединение с сервером держится. Через некоторое время сервер может закрыть соединение со своей стороны, чтобы дать возможность другим клиентам сделать запрос.

    409 * (Conflict — Конфликт)

    Запрос нельзя обработать из-за конфликта в текущем состоянии ресурса. Этот код разрешается использовать только в тех случаях, когда ожидается, что пользователь может самостоятельно разрешить этот конфликт и повторить запрос. В тело ответа СЛЕДУЕТ включить достаточное количество информации для того, чтобы пользователь смог понять причину конфликта. В идеале ответ должен содержать такую информацию, которая поможет пользователю или его агенту исправить проблему. Однако это не всегда возможно и это не обязательно.

    Как правило, конфликты происходят во время PUT-запроса. Например, во время использования версионирования, если сущность, к которой обращаются методом PUT, содержит изменения, конфликтующие с теми, что были сделаны ранее третьей стороной, серверу следует использовать ответ 409, чтобы дать понять пользователю, что этот запрос нельзя завершить. В этом случае в ответной сущности должен содержаться список изменений между двумя версиями в формате, который указан в поле заголовка Content-Type.

    410 — (Gone — Исчез)

    Такой ответ сервер посылает, если ресурс раньше был по указанному URL, но был удалён и теперь недоступен. Серверу в этом случае неизвестно и местоположение альтернативного документа, например, копии. Если у сервера есть подозрение, что документ в ближайшее время может быть восстановлен, то лучше клиенту передать код 404. Появился в HTTP/1.1.

    411 — (Length Required — Требуется длина)

    Для указанного ресурса клиент должен указать Content-Length в заголовке запроса. Без указания этого поля не стоит делать повторную попытку запроса к серверу по данному URI. Такой ответ естественен для запросов типа POST и PUT. Например, если по указанному URI производится загрузка файлов, а на сервере стоит ограничение на их объём. Тогда разумней будет проверить в самом начале заголовок Content-Length и сразу отказать в загрузке, чем провоцировать бессмысленную нагрузку, разрывая соединение, когда клиент действительно пришлёт слишком объёмное сообщение.

    412 — (Precondition Failed — Предварительное условие не выполнено)

    Возвращается, если ни одно из условных полей заголовка запроса не было выполнено.

    Когда клиент указывает rest API выполнять запрос только при выполнении определенных условий, а API не может выполнить запрос при таких условиях, то возвращается ответ 412.

    Этот код ответа позволяет клиенту записывать предварительные условия в метаинформации текущего ресурса, таким образом, предотвращая применение запрошенного метода к ресурсу, кроме того, что ожидается.

    413 — (Request Entity Too Large — Сущность запроса слишком большая)

    Возвращается в случае, если сервер отказывается обработать запрос по причине слишком большого размера тела запроса. Сервер может закрыть соединение, чтобы прекратить дальнейшую передачу запроса.

    Если проблема временная, то рекомендуется в ответ сервера включить заголовок Retry-After с указанием времени, по истечении которого можно повторить аналогичный запрос.

    414 — (Request-URI Too Long — Запрос-URI Слишком длинный)

    Сервер не может обработать запрос из-за слишком длинного указанного URL. Эту редкую ошибку можно спровоцировать, например, когда клиент пытается передать длинные параметры через метод GET, а не POST, когда клиент попадает в «чёрную дыру» перенаправлений (например, когда префикс URI указывает на своё же окончание), или когда сервер подвергается атаке со стороны клиента, который пытается использовать дыры в безопасности, которые встречаются на серверах с фиксированной длиной буфера для чтения или обработки Request-URI.

    415 (Unsupported Media Type — Неподдерживаемый медиа тип)

    Сообщение об ошибке 415 указывает, что API не может обработать предоставленный клиентом Тип медиа, как указано в заголовке запроса Content-Type.

    Например, запрос клиента содержит данные в формате application/xml, а API готов обработать только application/json. В этом случае клиент получит ответ 415.

    Например, клиент загружает изображение как image/svg+xml, но сервер требует, чтобы изображения использовали другой формат.

    428 — (Precondition Required — Требуется предварительное условие)

    Код состояния 428 указывает, что исходный сервер требует, чтобы запрос был условным.

    Его типичное использование — избежать проблемы «потерянного обновления», когда клиент ПОЛУЧАЕТ состояние ресурса, изменяет его и ОТПРАВЛЯЕТ обратно на сервер, когда тем временем третья сторона изменила состояние на сервере, что привело к конфликту. Требуя, чтобы запросы были условными, сервер может гарантировать, что клиенты работают с правильными копиями.

    Ответы с этим кодом состояния ДОЛЖНЫ объяснять, как повторно отправить запрос.

    429 — (Too Many Requests — Слишком много запросов)

    Пользователь отправил слишком много запросов за заданный промежуток времени.

    Представления ответа ДОЛЖНЫ включать подробности, объясняющие условие, и МОГУТ включать заголовок Retry-After, указывающий, как долго ждать, прежде чем делать новый запрос.

    431 — (Request Header Fields Too Large — Слишком большие поля заголовка запроса)

    Код состояния 431 указывает на то, что сервер не желает обрабатывать запрос, поскольку его поля заголовка слишком велики. Запрос МОЖЕТ быть отправлен повторно после уменьшения размера полей заголовка запроса.

    Его можно использовать как в случае, когда совокупность полей заголовка запроса слишком велика, так и в случае неисправности одного поля заголовка. В последнем случае представление ответа ДОЛЖНО указывать, какое поле заголовка было слишком большим.

    444 — (No Response — Нет ответа) (Nginx)

    Код ответа Nginx. Сервер не вернул информацию и закрыл соединение. (полезно в качестве сдерживающего фактора для вредоносных программ)

    451 — (Unavailable For Legal Reasons — Недоступен по юридическим причинам)

    Доступ к ресурсу закрыт по юридическим причинам. Наиболее близким из существующих является код 403 Forbidden (сервер понял запрос, но отказывается его обработать). Однако в случае цензуры, особенно когда это требование к провайдерам заблокировать доступ к сайту, сервер никак не мог понять запроса — он его даже не получил. Совершенно точно подходит другой код: 305 Use Proxy. Однако такое использование этого кода может не понравиться цензорам. Было предложено несколько вариантов для нового кода, включая «112 Emergency. Censorship in action» и «460 Blocked by Repressive Regime»

    500 * (Internal Server Error — Внутренняя ошибка сервера)

    Общий ответ при ошибке в коде. Универсальное сообщение о внутренней ошибке сервера, когда никакое более определенное сообщение не подходит.

    Большинство веб-платформ автоматически отвечают этим кодом состояния, когда при выполнении кода обработчика запроса возникла ошибка.

    Ошибка 500 никогда не зависит от клиента, поэтому для клиента разумно повторить точно такой же запрос, и надеяться что в этот раз сервер отработает без ошибок.

    501 (Not Implemented — Не реализован)

    Серверу либо неизвестен метод запроса, или ему (серверу) не хватает возможностей выполнить запрос. Обычно это подразумевает будущую доступность (например, новая функция API веб-сервиса).

    Если же метод серверу известен, но он не применим к данному ресурсу, то нужно вернуть ответ 405.

    502 — (Bad Gateway — Плохой шлюз)

    Сервер, выступая в роли шлюза или прокси-сервера, получил некорректный ответ от вышестоящего сервера, к которому он обратился. Появился в HTTP/1.0.

    503 — (Service Unavailable — Служба недоступна)

    Сервер не может обработать запрос из-за временной перегрузки или технических работ. Это временное состояние, из которого сервер выйдет через какое-то время. Если это время известно, то его МОЖНО передать в заголовке Retry-After.

    504 — (Gateway Timeout — Таймаут шлюза)

    Сервер, в роли шлюза или прокси-сервера, не дождался в рамках установленного таймаута ответа от вышестоящего сервера текущего запроса.

    505 — (HTTP Version Not Supported — Версия HTTP не поддерживается)

    Сервер не поддерживает или отказывается поддерживать указанную в запросе версию протокола HTTP.

    510 — (Not Extended — Не расширен)

    В запросе не соблюдена политика доступа к ресурсу. Сервер должен отправить обратно всю информацию, необходимую клиенту для отправки расширенного запроса. Указание того, как расширения информируют клиента, выходит за рамки данной спецификации.

    Источники и более подробная информация:

    • https://restapitutorial.ru/httpstatuscodes.html
    • https://www.restapitutorial.com/httpstatuscodes.html
    • https://restfulapi.net/http-status-codes/
    • https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/428

    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.

    Код состояния HTTP — это трехзначный код ответа на HTTP-запрос. Он предназначен для использования автоматами, поясняющая фраза после него предназначена для пользователей.

    Первая цифра кода состояния определяет класс ответа:

      1xx: Информационные коды — запрос получен, продолжается обработка.

      2xx: Успешные коды — запрос был успешно получен, понят и выполнен.

      3xx: Коды перенаправления — для выполнения запроса должны быть предприняты дальнейшие действия агента пользователя (программы, принимающей ответ на запрос).

      4xx: Коды ошибок клиента — запрос имеет плохой синтаксис или не может быть выполнен. Также указывает, является ли ситуация временной или постоянной.

      5xx: Коды ошибок сервера — сервер не в состоянии выполнить допустимый запрос или выполнил его с ошибкой.

    Просмотр кода ответа протокола HTTP

    Один из самых простых способов увидеть коды ответа — зайти в инструменты разработчика в браузере. Например, для браузеров google chrome и mozilla firefox достаточно:

    1. Зайти на нужный сайт
    2. Нажать на кнопку F12 на клавиатуре, в открывшихся инструментах перейти на вкладку «Network»
    3. Обновить страницу

    Инструменты разработчика google chrome

    На скриншоте показаны инструменты разработчика google chrome, коды ответа есть в колонке Status.

    Наиболее распространённые коды ответов протокола HTTP

    200 OK — запрос был выполнен успешно.

    403 Forbidden (Запрещено) — сервер понял запрос, но отказывается выполнять его. Установление подлинности (Authorization) не поможет, и запрос не должен быть повторен. Ошибка 403 может возникать, когда доступ к ресурсу запрещён с определённого IP-адреса или всех адресов, либо в папке сайта отсутствует индексный файл.

    404 Not Found (Не найден) — сервер не нашел ничего, соответствующего данному запрашиваемому URI (Universal Resource Identifier). Страница может быть не найдена вследствие некорректных настроек файла .htaccess или в случае фактического отсутствия искомой страницы на сайте.

    500 Internal Server Error (Внутренняя ошибка сервера) — сервер столкнулся с непредвиденным условием, которое не позволяет ему выполнить запрос. Ошибка 500 является следствием невозможности запуска скрипта, а также возникает в случае синтаксических или иных ошибок в скрипте или присутствия некорректных записей в файле .htaccess.

    502 Bad Gateway (Ошибка шлюза) — сервер, действуя в качестве шлюза или прокси-сервера, получил недопустимый ответ от следующего сервера в цепочке запросов, к которому обратился при попытке выполнить запрос. В случае, если используется связка apache+nginx, проксирующим сервером является nginx. Данная ошибка может появиться в случае, если работающий процесс пытается потребить больше ресурсов, чем доступно в рамках услуги виртуального хостинга, в этом случае ему посылается сигнал завершения и возвращается результат запроса 502.

    503 Service Unavailable (Сервис недоступен) — сервер в настоящее время не способен обработать запрос из-за временной перегрузки или обслуживания сервера. Причина возникновения 503 Service Unavailable как правило, кроется в превышении лимита на количество одновременно запущенных процессов на аккаунте. На тарифах виртуального хостинга, согласно п. 2.12 Договора оферты, данный лимит составляет 64 процесса.

    504 Gateway Timeout (Истекло время ожидания от шлюза) — сервер, действуя в качестве шлюза или прокси-сервера, не получил своевременного ответа от следующего сервера в цепочке запросов, к которому обратился при попытке выполнить запрос. В связке apache+nginx nginx выполняет роль прокси-сервера, и в случае, если он не дожидается ответа от apache, он отдаёт код 504. Также 504 Bad Gateway возникает, если исполняемый скрипт не может отработать в установленный лимит времени. Это возможно решить увеличением параметра max_execution_time или оптимизировать скрипт, при работе которого возникает ошибка.

    Список прочих кодов ответов протокола HTTP

    100 Continue (Продолжать) — клиент может продолжать запрос, а если запрос отправлен, то игнорировать отклик. Сервер должен послать окончательный отклик по завершении реализации запроса.

    101 Switching Protocols (Переключение протоколов) — сервер принял и понял запрос клиента на переключение на модифицированный протокол. Сервер переходит на протокол, определенный в поле заголовка отклика Upgrade, немедленно после получения пустой строки, завершающей отклик 101.

    201 Created (создан) — запрос был выполнен и в результате был создан новый ресурс.

    202 Accepted (Принято) — запрос был принят для обработки, но обработка не была завершена. В конечном счете запрос может быть, а может и не быть выполнен, поскольку он может быть отвергнут при фактической обработке.

    203 Non-Authoritative Information (Ненадёжная информация) — присылаемая в ответ метаинформация в заголовке объекта не идентифицируется, как полученная от исходного сервера, её следует скорее считать косвенной, полученной опосредованно.

    204 No Content (нет содержимого) — сервер выполнил запрос, но нет никакой новой информации, которую можно послать обратно.

    205 Reset Content (сбросить содержимое) — Сервер исполнил запрос и агент пользователя должен вернуть документ к виду, который он имел в момент посылки запроса. Этот отклик первоначально предназначался для обеспечения ввода при выполнении пользователем операции, за которой следует очистка формы, в которую произведен ввод, так что пользователь может начать другую операцию ввода.

    206 Partial Content (Частичное содержимое) — сервер выполнил частичный GET запрос ресурса.

    300 Multiple Choices (Множественный выбор) — запрошенный ресурс имеет несколько представлений, и можно использовать любое из перечисленных.Агент пользователя выбирает предпочтительное представление и перенаправляет запрос ему.

    301 Moved Permanently (Постоянно перенесен) — запрошенному ресурсу был назначен новый постоянный URI, и любые будущие ссылки на этот ресурс следует выполнять, используя один из возвращенных URI.

    302 Moved Temporarily (Временно перемещен) — запрошенный ресурс временно находится под другим URI.

    303 See Other (Смотреть другой) — ответ на запрос может быть найден под другим URI и его следует запрашивать, используя метод GET для этого ресурса.

    304 Not Modified (Не модифицирован) — если клиент выполнил условный GET запрос, и доступ разрешен, но документ не изменился, то серверу следует ответить, используя этот код состояния.

    305 Use Proxy (Используйте прокси-сервер) — обращение к запрошенному ресурсу должно производиться через прокси-сервер, указанный в поле Location. В поле Location указан URL прокси-сервера.

    400 Bad Request (Испорченный Запрос) — запрос не может быть понят сервером из-за ошибки синтаксиса.

    401 Unauthorized (Несанкционированно) — запрос требует установления подлинности пользователя.

    402 Payment Required (Требуется оплата) — этот код зарезервирован для будущего использования.

    405 Method Not Allowed (Метод не дозволен)- метод, определенный в строке запроса (Request-Line) не дозволено применять для ресурса, идентифицированного запрашиваемым URI (Request-URI).

    406 Not Acceptable (Не приемлем) — ресурс, определенный запросом, может генерировать только ответ, характеристики которого не соответствуют заголовкам, посланным в запросе.

    407 Proxy Authentication Required (Требуется установление подлинности через прокси-сервер) — этот код подобен коду 401, но указывает, что клиент должен сначала установить свою подлинность (authenticate) прокси-серверу.

    408 Request Timeout (Истекло время ожидания запроса) — клиент не произвел запрос в течение времени, которое сервер готов ждать.

    409 Conflict (Конфликт) — запрос не был выполнен из-за конфликта с текущим состоянием ресурса, конфликты, наиболее вероятно, будут возникать в ответ на запрос PUT.

    410 Gone (Удален)- запрошенный ресурс больше не доступен на сервере, и нет никакого адреса для перенаправления запроса.

    411 Length Required (Требуется длина) — cервер отказывается принимать запрос с неопределенным Content-Length.

    412 Precondition Failed (Предусловие неверно) — предусловие, представленное одним или несколькими полями заголовка запроса (request-header), оказалось ложным при проверке сервером.

    413 Request Entity Too Large (Объект запроса слишком большой) — сервер отказывается обрабатывать запрос, потому что объект запроса больше, чем сервер желает или способен обработать.

    414 Request-URI Too Long (URI запроса слишком длинный) — сервер отказывается обслуживать запрос, потому что запрашиваемый URI (Request-URI) длиннее, чем сервер желает интерпретировать.

    415 Unsupported Media Type (Неподдерживаемый медиа тип) — сервер отказывается обслуживать запрос, потому что объект запроса находится в формате, не поддерживаемом запрошенным ресурсом для запрошенного метода. В случае нашего хостинга, такой ответ может давать срабатывание модуля безопасности ModSecurity

    501 Not Implemented (Не реализовано) — сервер не поддерживает функциональные возможности, требуемые для выполнения запроса.

    505 HTTP Version Not Supported (Не поддерживаемая версия HTTP) — сервер не поддерживает, или отказывается поддерживать, версию HTTP протокола, которая используется в сообщении запроса.

    • Классы состояния
    • Коды ответов сервера
    • 1xx
    • 2xx
    • 3xx
    • 4xx
    • 5xx

    HTTP status code — (с англ.) код состояния HTTP; часть первой строки ответа сервера при запросах по протоколу HTTP. Он (код ответа) представляет собой целое число из трёх цифр, первая из которых указывает на класс состояния. За кодом ответа обычно следует, отделённая пробелом, поясняющая фраза на английском языке, которая разъясняет человеку причину именно такого ответа:

    200 OK

    404 Not Found

    500 Internal Server Error

    Классы состояния

    1xx: Informational
    Информационные ответы — запрос от клиента принят, работа продолжается.
    2xx: Success
    Успех — запрос от клиента принят, понятен и может быть выполнен.
    3xx: Redirection
    Перенаправление — для выполнения запроса необходимы дальнейшие действия.
    4xx: Client Error
    Ошибка клиента — запрос составлен неверно или не может быть выполнен.
    5xx: Server Error
    Ошибка сервера — запрос правильный, но сервер не может его выполнить.

    Коды ответов сервера

    Номер Поясняющая фраза Перевод
    1xx Informational Информационные ответы
    100 Continue Продолжить
    101 Switching Protocols Переключение протоколов
    102 Processing Идёт обработка
    103-199 Не назначены
    2xx Success Успех
    200 OK Хорошо
    201 Created Создано
    202 Accepted Принято
    203 Non-Authoritative Information Информация не авторитетна
    204 No Content Нет содержимого
    205 Reset Content Сбросить содержимое
    206 Partial Content Частичное содержимое
    207 Multi-Status Многостатусный
    208 Already Reported Уже сообщили
    209-225 Не назначены
    226 IM Used Использовано IM
    227-299 Не назначены
    3xx Redirection Перенаправление
    300 Multiple Choices Множество выборов
    301 Moved Permanently Перемещено навсегда
    302 Found Найдено
    303 See Other Смотреть другое
    304 Not Modified Не изменялось
    305 Use Proxy Использовать прокси
    306 Не используется
    307 Temporary Redirect Временное перенаправление
    308 Permanent Redirect Постоянное перенаправление
    309-399 Не назначены
    4xx Client Error Ошибка клиента
    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 Payload Too Large Большая нагрузка
    414 URI Too Long URI слишком длинный
    415 Unsupported Media Type Неподдерживаемый тип данных
    416 Range Not Satisfiable Неприемлемый диапазон
    417 Expectation Failed Ожидаемое неприемлемо
    418-420 Не назначены
    421 Misdirected Request Неверно адресованный запрос
    422 Unprocessable Entity Необрабатываемый экземпляр
    423 Locked Заблокировано
    424 Failed Dependency Невыполненная зависимость
    425 Не назначен
    426 Upgrade Required Необходимо обновление
    427 Не назначен
    428 Precondition Required Необходимо предусловие
    429 Too Many Requests Слишком много запросов
    430 Не назначен
    431 Request Header Fields Too Large Поля заголовка запроса слишком большие
    432-450 Не назначены
    451 Unavailable for Legal Reasons Недоступно по юридическим причинам
    432-499 Не назначены
    5xx Server Error Ошибка сервера
    500 Internal Server Error Внутренняя ошибка сервера
    501 Not Implemented Не реализовано
    502 Bad Gateway Плохой, ошибочный шлюз
    503 Service Unavailable Сервис недоступен
    504 Gateway Timeout Шлюз не отвечает
    505 HTTP Version Not Supported Версия HTTP не поддерживается
    506 Variant Also Negotiates Вариант тоже проводит согласование
    507 Insufficient Storage Переполнение хранилища
    508 Loop Detected Обнаружена петля
    509 Не назначен
    510 Not Extended Не расширено
    511 Network Authentication Required Требуется сетевая аутентификация
    512-599 Не назначены
    • HTTP
    • Hypertext Transfer Protocol (HTTP) Status Code Registry
    • Список кодов состояния HTTP

    31.08.2014

    Код состояния — это часть стартовой строки ответного HTTP-сообщения сервера, состоящая из двух элементов: кода ответа и поясняющей фразы. Код ответа представляет собой трехзначное целое число, а поясняющая фраза — короткую строку, объясняющую причину данного ответа.

    Информационные (1xx)

    Коды состояния, которые информируют о процессе. В HTTP-ответе сервер не должен отправлять тело сообщения.

    • 100 Continue — сервер дает разрешение клиенту на продолжение отправки заголовков.
    • 101 Switching Protocols — переключение протоколов на сервере, исходя из указаний клиента, переданных в заголовке Upgrade.
    • 102 Processing — запрос помещен в обработку, которая будет выполняться какое-то время. Не дает клиенту разорвать соединение даже если будет превышено время ожидания.

    Успешные (2xx)

    Коды состояния, информирующие об успешной обработке HTTP-запроса.

    • 200 OK — успех и возврат всех запрошенных данных, если данные были запрошены.
    • 201 Created — если запрос успешен, и создался новый ресурс. Возвращает URI нового ресурса в заголовке Location и в теле сообщения ответа, также может возвращать в теле ответа и другие метаданные ресурса.
    • 202 Accepted — запрос помещен в обработку, клиент может разрывать соединение и не дожидаться окончания отправки сообщения.
    • 203 Non-Authoritative Information — в отличие от 200 OK возвращаемая информация возможна ненадежная (неактуальная), так как получена не из первоисточника (вспомогательного сервера, бекапа и т. д.).
    • 204 No Content — успех и возврат заголовков в ответе без тела.
    • 205 Reset Content — успех и сброс пользовательских данных, тело сообщения не передается.
    • 206 Partial Content — успех частичного запроса, выполненного методом GET, и возврат только части сообщения. Диапазоны частей контента указываются в заголовке Content-Range.
    • 207 Multi-Status — успех и возврат результатов более чем одной независимой операции в теле сообщения в XML-формате.
    • 208 Already Reported — возвращается, если уже были запрошены и отправлены ранее результаты с ответом 206 Multi-Status.
    • 226 IM Used — успех и возврат данных, исходя из параметров, переданных в заголовке A-IM.

    Перенаправления (3xx)

    Коды состояния, сообщающие клиенту что нужно совершить запрос на другой URI, который указывается в заголовке Location ответного сообщения. Во всех случаях перенаправленный запрос должен осуществляться тем же методом, что и исходный, кроме случая, если по исходному запросу вернулся ответ 303 See Other.

    • 300 Multiple Choices — в ответе возвращается перечисление альтернативных вариантов для перенаправления, выбор может производиться пользователем или клиентом автоматически.
    • 301 Moved Permanently — информирует об окончательном переносе запрашиваемого ресурса на другой URI.
    • 302 Found или 302 Moved Temporarily — информирует о временном переносе запрашиваемого ресурса на другой URI.
    • 303 See Other — информирует о том, что нужно совершать перенаправление только методом GET.
    • 304 Not Modified — информирует о том, что ресурс не был изменен с конкретного момента, будет возвращен только если исходный запрос был произведен методом GET с содержанием заголовка If-Modified-Since или If-None-Match.
    • 305 Use Proxy — информирует о том, что запрос должен производиться через прокси-сервер, возвращается только исходным сервером.
    • 307 Temporary Redirect — аналогичен 302 коду, но в отличие от 302 гарантирует, что метод и тело не будут изменены при перенаправлении.
    • 308 Permanent Redirect — аналогичен 301 коду, но в отличие от 301 гарантирует, что метод и тело не будут изменены при перенаправлении.

    Ошибки клиента (4xx)

    Коды состояния, указывающие на ошибку со стороны клиента. Если запрос не произведен методом HEAD, то в теле ответа сервера должно присутствовать описание произошедшей ошибки.

    • 400 Bad Request — ошибка синтаксиса в запросе.
    • 401 Unauthorized — для обработки запроса требуется аутентификация.
    • 402 Payment Required — для обработки запроса требуется оплата.
    • 403 Forbidden — доступ запрещен, запрос не может быть обработан.
    • 404 Not Found — запрашиваемый ресурс по-указанному URI не найден.
    • 405 Method Not Allowed — метод запроса недопустим для запрашиваемого ресурса, к ответу сервера необходимо добавить заголовок Allow с допустимыми методами.
    • 406 Not Acceptable — указанный URI не соответствует передаваемым параметрам заголовка запроса, если это не HEAD-запрос, то в ответе нужно перечислить необходимые параметры.
    • 407 Proxy Authentication Required — похож на 403 Forbidden, только авторизоваться нужно на прокси-сервере, а не на исходном сервере.
    • 408 Request Timeout — истекло время ожидания окончания процедуры передачи данных клиента серверу.
    • 409 Conflict — конфликт происходит когда одномоментно пришли запросы на изменение ресурса от нескольких клиентов.
    • 410 Gone — запрашиваемый ресурс существовал ранее, но был удален.
    • 411 Length Required — для обработки запроса, сервер ожидает, что будет передан заголовок Content-Length, а в текущем запросе он отсутствует.
    • 412 Precondition Failed — если в запросе был передан заголовок If-Match, и все указанные в нем условия не выполнились.
    • 413 Payload Too Large — размер содержимого тела запроса чересчур большой для запрашиваемого ресурса.
    • 414 URI Too Long — длина указанного URI в запросе чересчур большая для запрашиваемого ресурса.
    • 415 Unsupported Media Type — запрашиваемый ресурс не может обработать указанный в запросе тип данных.
    • 416 Range Not Satisfiable — переданный диапазон в заголовке запроса Range некорректен и не был передан заголовок If-Range.
    • 417 Expectation Failed — переданное значение в заголовке запроса Expect некорректно для ресурса.
    • 418 I’m a teapot — первоапрельская шутка).
    • 421 Misdirected Request — произошло перенаправление на сервер, который не в состоянии вернуть ответ.
    • 422 Unprocessable Entity — логическая ошибка содержимого тела запроса.
    • 423 Locked — невозможно обработать запрос, запрашиваемый ресурс заблокирован.
    • 424 Failed Dependency — невозможно обработать запрос, так как одна из зависимостей запрашиваемого ресурса заблокирована.
    • 426 Upgrade Requiredy — сервер запрашивает обновление соединения до SSL, а клиент не поддерживается SSL.
    • 428 Precondition Required — клиент обязательно должен передать заголовок If-Match в запросе для запрашиваемого ресурса.
    • 429 Too Many Requests — клиент запрашивает ресурс слишком часто за короткий промежуток времени, сервер в ответе может вернуть заголовок Retry-After с информацией когда можно будет повторно запросить ресурс.
    • 431 Request Header Fields Too Large — длина заголовков в запросе чересчур большая для запрашиваемого ресурса.
    • 451 Unavailable For Legal Reasons — запрашиваемый ресурс недоступен по юридическим причинам.

    Ошибки сервера (5xx)

    Коды состояния, указывающие на ошибку со стороны сервера. Если запрос не произведен методом HEAD, то в теле ответа сервера должно присутствовать описание произошедшей ошибки.

    • 500 Internal Server Error — внутренняя фатальная ошибка сервера, которая не дает обработать запрос клиента.
    • 501 Not Implemented — серверу не известен метод, по которому производится запрос.
    • 502 Bad Gateway — ошибка посредника (прокси-сервера), который получил некорректное ответное сообщение от следующего сервера из цепочки.
    • 503 Service Unavailable — сервер временно недоступен (техобслуживание, перегрузка и т.д.), в ответе может вернуть заголовок Retry-After с информацией когда можно будет повторно запросить ресурс.
    • 504 Gateway Timeout — ошибка посредника (прокси-сервера), истекло время ожидания окончания ответного сообщения от следующего сервера из цепочки.
    • 505 HTTP Version Not Supported — неподдерживаемая версия протокола, по которой запрошен сервер.
    • 507 Insufficient Storage — на сервере недостаточно места, чтобы обработать текущий запрос.
    • 508 Loop Detected — невозможно закончить обработку запроса, так как сервер столкнулся с бесконечным циклом.
    • 510 Not Extended — сервером не поддерживается расширение, необходимое для обработки запроса.
    • 511 Network Authentication Required — ответ возвращает прокси-сервер, который сообщает, что необходимо вначале пройти авторизацию в сети. Тело ответного сообщения может содержать форму авторизации или редирект на нее.
    •  
      Шпаргалка по регулярным выражениям
    •  
      HTTP-заголовки для описания контента
    •  
      Методы HTTP-запроса
    •  
      HTTP простыми словами

    Коды ответов и ошибок сервера 100 … 403, 404 … 511

    HTTP

    Удобный справочник кодов состояния соединения…

    Код состояния 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

    • 19871

    Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.

    Эти коды определены www.w3.org/Protocols/rfc2616/rfc2616-sec10.html:

    Информационный (Informational 1xx)

    Ответы в диапазоне 100-199 — информационные. Они показывают, что запрос клиента принят и обрабатывается.

    100=»Continue»
    Начальная часть запроса принята, и клиент может продолжать передачу запроса.
    101=»Switching Protocols»
    Сервер выполняет требование клиента и переключает протоколы в соответствии с указанием, данным в поле заголовка Upgrade.

    Запрос клиента успешен (Successful 2xx)

    Ответы в диапазоне 200-299 означают, что запрос клиента обработан успешно.

    200=»OK»
    Запрос клиента обработан успешно, и ответ сервера содержит затребованные данные.
    201=»Created»
    Этот код состояния используется в случае создания нового URI. Вместе с этим кодом результата сервер выдает заголовок Location (см. главу 19),
    который содержит информацию о том, куда были помещены новые данные.
    202=»Accepted»
    Запрос принят, но обрабатывается не сразу. В теле содержимого ответа сервера может быть дана дополнительная информация о данной транзакции.
    Гарантии того, что сервер в конечном итоге удовлетворит запрос, нет, даже несмотря на то, что на момент приема запрос выглядел допустимым.
    203=»Non-Authoritative Information»
    Информация в заголовке содержимого взята из локальной копии или у третьей стороны, а не с исходного сервера.
    204=»No Content»
    Ответ содержит код состояния и заголовок, но тело содержимого отсутствует. При получении этого ответа броузер не должен обновлять свой документ.
    Обработчик чувствительных областей изображений может возвращать этот код, когда пользователь щелкает на бесполезных или пустых участках изображения.
    205=»Reset Content»

    Броузер должен очистить форму, используемую в данной транзакции, для дополнительных входных данных. Полезен для CGI-приложений, требующих ввода данных.

    206=»Partial Content»

    Сервер возвращает лишь часть данных затребованного объема. Используется в ответе на запрос с указанием заголовка Range. Сервер должен указать диапазон, включенный в ответ, в заголовке Content-Range.

    233 — because not everyone lives in «your country»

    Запрос клиента переадресован (Redirection 3xx)

    Код ответа в диапазоне 300-399 означает, что запрос не выполнен и клиенту нужно предпринять некоторые действия для удовлетворения запроса.

    300=»Multiple Choices»
    Затребованный URI обозначает более одного ресурса. Например, URI может обозначать документ, переведенный на несколько языков.
    В теле содержимого, возвращенном сервером, может находиться перечень более конкретных данных о том, как выбрать ресурс правильно.
    301=»Moved Permanently» — перемещен навсегда
    Затребованный URI уже не используется сервером, и указанная в запросе операция не выполнена.
    Новое местонахождение затребованного документа указывается в заголовке Location. Во всех последующих запросах данного документа следует указывать новый URI.
    При запросах не методом HEAD сервер должен передать в теле сообщения гипертекстовое пояснение.
    При использовании всех методов, кроме GET и POST, предварительно следует уведомить пользователя об изменении ссылки.
    Не стоить забывать, что некоторые агенты ошибочно меняют метод POST на GET после перехода на другой адрес.
    302=»Moved Temporarily» — временно перемещен
    Затребованный URI перемешен, но лишь временно. Заголовок Location указывает на новое местонахождение.
    Сразу же после получения этого кода состояния клиент должен разрешить запрос при помощи нового URI, но во всех последующих запросах необходимо пользоваться старым URI.
    При всех методах кроме HEAD сервер должен передать в теле гипертекстовое пояснение.
    При использовании всех отличных от GET и POST методов предварительно следует уведомить пользователя об изменении URI.
    При обращении к следующему ресурсу метод POST на GET менять следует как это делают некоторые агенты.
    303=»See Other»
    Затребованный URI можно найти по другому URI (указанному в заголовке Location). Его следует выбрать методом GET по данному ресурсу.
    304=»Not Modified»

    Это код ответа на заголовок lf-Modified-Since, если URI не изменялся с указанной даты. Тело содержимого не посылается, и клиент должен использовать свою локальную копию.

    305=»Use Proxy»

    Доступ к затребованному URI должен осуществляться через proxy-сервер, указанный в заголовке Location.

    306=»(Unused)»

    307=»Temporary Redirect»

    Запрос клиента является неполным (Client Error 4xx)

    Коды ответов в диапазоне 400-499 означают, что запрос клиента неполный. Эти коды могут также означать, что от клиента требуется дополнительная информация.

    400=»Bad Request»
    Означает, что сервер обнаружил в запросе клиента синтаксическую ошибку.
    401=»Unauthorized» — требуется авторизация
    Этот код результата, передаваемый с заголовком WWW-Authenticate, показывает, что пославший запрос пользователь не имеет необходимых
    полномочий и что при повторении запроса с указанием данного URI пользователь должен такие полномочия предоставить.
    402=»Payment Required»
    Этот код в HTTP еще не реализован.
    403=»Forbidden»
    Запрос отклонен по той причине, что сервер не хочет (или не имеет возможности) ответить клиенту.
    404=»Not Found» — не найдено
    Документ по указанному URI не существует.
    405=»Method Not Allowed» — метод не поддерживается
    Этот код выдается с заголовком Allow и показывает, что метод, используемый клиентом, для данного URI не поддерживается.
    406=»Not Acceptable»
    Ресурс, указанный клиентом по данному URI, существует, но не в том формате, который нужен клиенту. Вместе с этим кодом сервер выдает заголовки Content-Language, Content-Encoding и Content-Type.
    407=»Proxy Authentication Required» Прокси-сервер затребовал авторизацию.
    Proxy-сервер должен санкционировать запрос перед тем, как пересылать его. Используется с заголовком Proxy-Authenticate.
    408=»Request Time-out»
    Этот код ответа означает, что клиент не передал полный запрос в течение некоторого установленного промежутка времени (который обычно задается в конфигурации сервера) и сервер разрывает сетевое соединение.
    409=»Conflict»
    Данный запрос конфликтует с другим запросом или с конфигурацией сервера. Информацию о конфликте следует возвратить в информационной части ответа.
    410=»Gone»
    Данный код показывает, что затребованный URI больше не существует и навсегда удален с сервера.
    411=»Length Required»
    Сервер не примет запрос без указанного в нем заголовка Content-Length.
    412=»Precondition Failed»
    Результат вычисления условия, заданного в запросе одним или несколькими заголовками if. . ., представляет собой «ложь».
    413=»Request Entity Too Large»
    Сервер не будет обрабатывать запрос, потому что его тело слишком велико.
    414=»Request-URI Too Long» — запрос слишком длинный
    Сервер не будет обрабатывать запрос, потому что его URI слишком длинный.
    415=»Unsupported Media Type»

    Сервер не будет обрабатывать запрос, потому что его тело имеет неподдерживаемый формат.

    416=»Requested Range Not Satisfiable»

    Запрашиваемый диапазон не допустим

    417=»Expectation Failed»

    Ожидание не удалось

    422=»Unprocessable Entity» — сервер успешно принял запрос, может работать с указанным видом данных (например, в теле запроса находится XML-документ, имеющий верный синтаксис),
    однако имеется какая-то логическая ошибка, из-за которой невозможно произвести операцию над ресурсом.
    В некоторых системах используется для передачи требования дополнительных данных: NOT ENOUGH DATA (не хвататет данных)

    429=»You exceeded the rate limit»

    Превышен лимит запросов

    449 — Retry with a proxy in another country.

    450=Rating Service Unavailable

    451=Unavailable For Legal Reasons

    доступ к ресурсу ограничен из-за проблем с законом. 451 — Site is not permitted in your country

    452 could be site not permitted by employer,

    453 could be site not permitted by ISP

    460 Blocked by Repressive Regime

    Ошибки сервера (Server Error 5xx)

    Коды ответов в диапазоне 500-599 показывают, что сервер столкнулся с ошибкой и, вероятно, не сможет выполнить запрос клиента.

    500=»Internal Server Error»
    При обработке запроса на сервере один из его компонентов выдал аварийный отказ или столкнулся с ошибкой конфигурации. Часто бывает связанно с ошибками в файле .htaccess
    501=»Not Implemented»
    Клиент запросил выполнение действия, которое сервер выполнить не может.
    502=»Bad Gateway»
    Сервер (или proxy-сервер) получил недопустимые ответы другого сервера (или proxy-сервера).
    503=»Service Unavailable»
    Данный код означает, что данная служба временно недоступна, но в будущем доступ к ней будет восстановлен.
    Если сервер знает, когда это произойдет, может быть также выдан заголовок Retry-After.
    504=»Gateway Time-out»
    Этот ответ похож на 408 (Request Time-out), за исключением того, что шлюз или уполномоченный сервер превысил лимит времени.
    505=»HTTP Version not supported»

    Сервер не поддерживает версию протокола HTTP, использованную в запросе.

    560 — Server is being censored

    Ошибки ( Error 7xx)

    701 — Your ISP is being a twat.

    702 — Your organization is being a twat.

    703 — Your government is being a twat

    704 — Your ISP is being a twat, and has messed with your DNS request, sending you to a spamvertizement for the domain requested.

    705 — Your ISP is throttling / packet shaping the living hell out of your connection.

    706 — Variant HTML requested (mobile, Flash-free….lots of flags in here).

    707 — The current server time (in ticks since the epoch) & the server’s time zone.

    Ошибки ( Error 9xx)

    911 — Internet Emergency. The provider of this connection is being forced to censor this request

    Для отправки кода статуса из PHP используется директива «header Status».

    Описание HTTP-кодов на wikipedia.

    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии

    А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Usbutil ошибка при записи на флешку
  • Usbutil ps2 ошибка записи