Меню
Бесплатно
Главная  /  Навигаторы  /  Расшифровка кодов. Коды ошибки http веб-сервера

Расшифровка кодов. Коды ошибки http веб-сервера

Ответы в диапазоне 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 ".


.

Код 200

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

403 Access allowed only for registered users

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

В настоящее время выделено пять классов кодов состояния:

Ниже представлены коды ответа из реестра кодов состояния

1xx: Informational

В этот класс выделены коды, информирующие о процессе передачи. В HTTP/1.0 сообщения с такими кодами должны игнорироваться. В HTTP/1.1 клиент должен быть готов принять этот класс сообщений как обычный ответ, но ничего серверу отправлять не нужно. Сами сообщения от сервера содержат только стартовую строку ответа и, если требуется, несколько специфичных для ответа полей заголовка. Прокси-сервера подобные сообщения должны отправлять дальше от сервера к клиенту.

100

202

Заголовок A-IM от клиента был успешно принят и сервер возвращает содержимое с учётом указанных параметров.

3xx: Redirection

Коды статуса класса 3xx сообщают клиенту что для успешного выполнения операции нужно произвести следующий запрос к другому URI. В большинстве случаев новый адрес указывается в поле Location заголовка. Клиент в этом случае должен, как правило, произвести автоматический переход (жарг. редирект ).

Обратите внимание, что при обращении к следующему ресурсу можно получить ответ из этого же класса кодов. Может получиться даже длинная цепочка из перенаправлений, которые, если будут производится автоматически, создадут чрезмерную нагрузку на оборудование. Поэтому разработчики протокола HTTP настоятельно рекомендуют после второго подряд подобного ответа обязательно запрашивать подтверждение на перенаправление у пользователя (раньше рекомендовалось после 5-го). За этим следить обязан клиент, так как текущий сервер может перенаправить клиента на ресурс другого сервера. Клиент также должен предотвратить попадание в круговые перенаправления.

300

400

Ссылки

405

426

Смотреть что такое "Код 200" в других словарях:

    200 двести 197 · 198 · 199 · 200 · 201 · 202 · 203 170 · 180 · 190 · 200 · 210 · 220 · 230 100 · 0 · 100 · 200 · 300 · 400 · 500 … Википедия

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

403 Access allowed only for registered users

Клиент узнаёт по коду ответа о результатах его запроса и определяет, какие действия ему предпринимать дальше. Набор кодов состояния является стандартом, и все они описаны в соответствующих документах RFC. Введение новых кодов должно производится только после согласования с IETF. Клиент может не знать все коды состояния, но он обязан отреагировать в соответствии с классом кода.

В настоящее время выделено пять классов кодов состояния:

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

Ниже, представлены коды ответа из реестра кодов состояния IANA.

1xx: Informational

В этот класс выделены коды, информирующие о процессе передачи. В HTTP/1.0 сообщения с такими кодами должны игнорироваться. В HTTP/1.1 клиент должен быть готов принять этот класс сообщений как обычный ответ, но ничего серверу отправлять не нужно. Сами сообщения от сервера содержат только стартовую строку ответа и, если требуется, несколько специфичных для ответа полей заголовка. Прокси-сервера подобные сообщения должны отправлять дальше от сервера к клиенту.

100 Continue
(русск. Продолжать )
Сервер удовлетворён начальными сведениями о запросе. Клиент может продолжать пересылать заголовки.

101 Switching Protocols
(русск. Переключение протоколов )
Сервер предлагает перейти на более подходящий для указанного ресурса протокол. Список предлагаемых протоколов сервер обязательно указывает в поле заголовка Update. Если клиента это заинтересует, то он посылает новый запрос с указанием другого протокола.

102 Processing
(русск. Идёт обработка )
Запрос принят, но на его обработку понадобится длительное время. Используется сервером, чтобы клиент не разорвал соединение из-за превышения времени ожидания. Клиент при получении такого ответа должен сбросить таймер и дожидаться следующей команды в обычном режиме.

2xx: Success

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

200 OK
(русск. Хорошо )
Успешный запрос. Если клиентом были запрошены какие-либо данные, то они находятся в заголовке и/или теле сообщения.

201 Created
(русск. Создано )
В результате успешного выполнения запроса был создан новый ресурс. Сервер должен указать его местоположение в заголовке Location. Серверу рекомендуется ещё указывать в заголовке характеристики созданного ресурса (например, в поле Content-Type). Если сервер не уверен, что ресурс действительно будет существовать к моменту получения данного сообщения клиентом, то лучше использовать ответ 202.

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

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

204 No Content
(русск. Нет содержимого )
Сервер успешно обработал запрос, но в ответе были переданы только заголовки без тела сообщения. Клиент не должен обновлять содержимое документа, но может применить к нему полученные метаданные.

205 Reset Content
(русск. Сбросить содержимое )
Сервер обязывает клиента спросить введённые пользователем данные. Тела сообщения сервер при этом не передаёт и документ обновлять не обязательно.

206 Partial Content
(русск. Частичное содержимое )
Сервер удачно выполнил запрос клиента, но передал только часть документа. Такой ответ сервер может отправить если в заголовке запроса клиента есть поле Content-Range. Особое внимание при работе с подобными ответами следует уделить кэшированию.

207 Multi-Status
(русск. Многостатусный )
Сервер передаёт результаты выполнения сразу нескольких независимых операций. Они помещаются в само тело сообщения в виде XML-документа с единственным объектом multistatus. Не рекомендуется размещать в этом объекте статусы из серии 1xx из-за бессмысленности и избыточности.

226 IM Used
(русск. IM использовано )
Заголовок A-IM от клиента был успешно принят и сервер возвращает содержимое с учётом указанных параметров.

3xx: Redirection

Коды статуса класса 3xx сообщают клиенту что для успешного выполнения операции нужно произвести следующий запрос к другому URI. В большинстве случаев новый адрес указывается в поле Location заголовка. Клиент в этом случае должен, как правило, произвести автоматический переход (жарг. редирект).

Обратите внимание, что при обращении к следующему ресурсу можно получить ответ из этого же класса кодов. Может получиться даже длинная цепочка из перенаправлений, которые, если будут производится автоматически, создадут чрезмерную нагрузку на оборудование. Поэтому разработчики протокола HTTP настоятельно рекомендуют после второго подряд подобного ответа обязательно запрашивать подтверждение на перенаправление у пользователя (раньше рекомендовалось после 5-го). За этим следить обязан клиент, так как текущий сервер может перенаправить клиента на ресурс другого сервера. Клиент также должен предотвратить попадание в круговые перенаправления.

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

301 Moved Permanently
(русск. Перемещёно окончательно )
Запрошенный документ был окончательно перенесен на новый URI, указанный в поле Location заголовка. При запросах не методом HEAD сервер должен передать в теле сообщения гипертекстовое пояснение. При использовании всех методов, кроме GET и POST, предварительно следует уведомить пользователя об изменении ссылки. Не стоить забывать, что некоторые агенты ошибочно меняют метод POST на GET после перехода на другой адрес.

302 Found
(русск. Найдено )
Запрошенный документ был временно перенесен на другой URI, указанный в заголовке в поле Location. При всех методах кроме HEAD сервер должен передать в теле гипертекстовое пояснение. При использовании всех отличных от GET и POST методов предварительно следует уведомить пользователя об изменении URI. При обращении к следующему ресурсу метод POST на GET менять следует как это делают некоторые агенты.

303 See Other
(русск. Смотреть другое )
Документ по запрошенному URI нужно запросить по адресу в поле Location заголовка с использованием метода GET не смотря даже на то, что первый запрашивался методом POST. Если используется не метод HEAD, то серверу следует включить в тело сообщения короткое гипертекстовое описание.

304 Not Modified
(русск. Не изменено )
Сервер возвращает такой код, если клиент запросил документ методом GET, в заголовке использовал поле Date и документ не изменился с указанного момента. При этом сообщение сервера не должно содержать тела.

305 Use Proxy
(русск. Использовать прокси )
Запрос к запрашиваемому ресурсе должен осуществляться через прокси-сервер, URI которого указан в поле Location заголовка. Данный код ответа могут использовать только родные HTTP-сервера (не прокси).

306 (Reserved)
(русск. Зарезервировано )
Использовалось раньше. В настоящий момент зарезервировано.

307 Temporary Redirect
(русск. Временное перенаправление )
Запрашиваемый ресурс короткое время доступен только по другому URI (указывается в поле Location заголовка). Если был послан не метод HEAD, то серверу следует включить в тело сообщения короткое гипертекстовое описание. При использовании всех методов кроме GET и POST предварительно следует уведомить пользователя о временном изменении ссылки.

4xx: Client Error

Класс кодов 4xx предназначен для указания ошибок со стороны клиента. При использовании всех методов, кроме HEAD, сервер должен вернуть в теле сообщения гипертекстовое пояснение для пользователя.

400 Bad Request
(русск. Плохой запрос )
Запрос не понят сервером из-за наличия синтаксической ошибки. Клиенту следует повторно обратиться к ресурсу с изменённым запросом.

401 Unauthorized
(русск. Неавторизован )
Запрос требует идентификации пользователя. Клиент должен запросить имя и пароль у пользователя и передать их в записи WWW-Authenticate заголовка в следующем запросе. В случае ввода ошибочных данных сервер снова вернёт этот же статус.

402 Payment Required
(русск. Необходима оплата (зарезервировано) )
Предполагается использовать в будущем. В настоящий момент не используется.

403 Forbidden
(русск. Запрещено )
Сервер понял запрос, но он отказывается его выполнять из-за каких-то ограничений в доступе. Идентификация через протокол HTTP здесь не поможет. Скорее всего, на сервере нужно провести аутентификацию другим способом, сделать запрос с определёнными параметрами или удовлетворить каким-либо условиям.

404 Not Found
(русск. Не найдено )
Сервер понял запрос, но не нашёл соответствующего ресурса по указанному URI. Если серверу известно, что по этому адресу был документ, то ему желательно использовать код 410 вместо этого. Этот код может использоваться вместо 403, если требуется тщательно скрыть от посторонних глаз определённые ресурсы.

405 Method Not Allowed
(русск. Метод не поддерживается )
Указанный клиентом метод нельзя применить к ресурсу. Сервер также должен передать в заголовке ответа поле Allow со списком доступных методов.

406 Not Acceptable
(русск. Не приемлемо )
Запрошенный URI не может удовлетворить переданным в заголовке характеристикам. Если метод был не HEAD, то сервер должен вернуть список допустимых характеристик для данного ресурса.

407 Proxy Authentication Required
(русск. Необходима авторизация прокси )
Ответ аналогичен коду 401 за исключением того, что аутентификация производится для прокси-сервера. Механизм аналогичен идентификации на обычном сервере.

408 Request Timeout
(русск. Время ожидания истекло )
Время ожидания сервером передачи от клиента истекло. Клиент может повторить аналогичный предыдущему запрос в любое время.

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

410 Gone
(русск. Удалён )
Такой ответ сервер посылает, когда ресурс раньше был по указанному URI, но был удалён и теперь недоступен. Серверу в этом случае не известно и местоположение альтернативного документа (например, копии). Если у сервера есть подозрение, что документ в ближайшее время может быть восстановлен, то лучше клиенту передать код 404.

411 Length Required
(русск. Необходима длина )
Для указанного ресурса клиент должен указать Content-Length в заголовке запроса. Без указания этого поля не стоит делать повторную попытку запроса к серверу по данному URI.

412 Precondition Failed
(русск. Условие «ложно» )
Возвращается, если ни одно из условных полей заголовка запроса не было выполнено.

413 Request Entity Too Large
(русск. Запрашиваемые данные слишком большие )
Возвращается если сервер по каким-то причинам не может передать запрашиваемый объём информации. Если проблема временная, то сервер может в ответе указать в поле Retry-After время, по истечении которого можно повторить аналогичный запрос.

414 Request-URI Too Long
(русск. Запрашиваемый URI слишком длинный )
Сервер не может обработать запрос из-за слишком длинного указанного URI. Такую ошибку можно спровоцировать, например, когда клиент пытается передать длинные параметры через метод GET, а не POST.

415 Unsupported Media Type
(русск. Неподдерживаемый тип данных )
По каким-то причинам сервер отказывается работать с указанным типом данных при данном методе.

416 Requested Range Not Satisfiable
(русск. Запрашиваемый диапазон не достижим )
В поле Range заголовка запроса был указан диапазон за пределами ресурса и отсутствует поле If-Range. Если клиент передал байтовый диапазон, то сервер может вернуть реальный размер в поле Content-Range заголовка. Данный ответ не следует использовать при передаче типа multipart/byteranges.

417 Expectation Failed
(русск. Ожидаемое ошибочно )
По каким-то причинам сервер не может удовлетворить значению поля Expect заголовка запроса.

422 Unprocessable Entity
(русск. Необрабатываемый экзмепляр )
Сервер успешно принял запрос, может работать с указанным видом данных, в теле запроса XML-документ имеет верный синтаксис, но имеется какая-то логическая ошибка из-за которой невозможно произвести операцию над ресурсом.

423 Locked
(русск. Заблокировано )
Целевой ресурс из запроса заблокирован от применения к нему указанного метода.

424 Failed Dependency
(русск. Невыполненная зависимость )
Реализация текущего запроса может зависеть от успешности выполнения другой операции. Если она не выполнена и из-за этого нельзя выполнить текущий запрос, то сервер вернёт код 424.

426 Upgrade Required
(русск. Необходимо обновление )
Сервер указывает клиенту на необходимость обновить протокол. Заголовок ответа должен содержать правильно сформированные поля Upgrade и Connection.

5xx: Server Error

Коды 5xx выделены под случаи неудачного выполнения операции по вине сервера. Для всех ситуаций, кроме использования метода HEAD, сервер должен включать в тело сообщения объяснение, которое клиент отобразит пользователю.

500 Internal Server Error
(русск. Внутренняя ошибка сервера )
Любая внутренняя ошибка сервера, которая не входит в рамки остальных ошибок класса 5xx.

501 Not Implemented
(русск. Не выполнимо )
Сервер не поддерживает возможностей, необходимых для обработки запроса. Типичный ответ для случаев, когда сервер не понимает указанный в запросе метод.

502 Bad Gateway
(русск. Плохой шлюз )
Сервер в роли шлюза или прокси получил сообщение о неудачном выполнении промежуточной операции.

503 Service Unavailable
(русск. Сервис недоступен )
Сервер временно не имеет возможности обрабатывать запросы по техническим причинам (обслуживание, перегрузка и прочее). В поле Retry-After заголовка сервер может указать время, через которое клиенту рекомендуется повторить запрос. Хотя во время перегрузки очевидным является сразу разрывать соединение, эффективней может оказаться установка большого значения поля Retry-After для уменьшения частоты избыточных запросов.

504 Gateway Timeout
(русск. Шлюз не отвечает )
Сервер в роли шлюза или прокси не дождался ответа от вышестоящего сервера для завершения текущего запроса.

505 HTTP Version Not Supported
(русск. Версия HTTP не поддерживается )
Сервер не поддерживает или отказывается поддерживать указанную в запросе версию протокола HTTP.

506 Variant Also Negotiates (Experimental)
(русск. Вариант тоже согласован (экспериметальное) )
В результате ошибочной конфигурации выбранный вариант указывает сам на себя из-за чего процесс связывания прерывается.

507 Insufficient Storage
(русск. Закончилось место )
Не хватает места для выполнения текущего запроса. Проблема может быть временной.

510 Not Extended
(русск. Не расширено )
На сервере отсутствует расширение, которое планирует использовать клиент. Сервер может дополнительно передать информацию о доступных ему расширениях.

Код состояния HTTP - это часть строки заголовка, ответа веб сервера на запрос клиента, информирующая о результате запроса и о том, что клиент должен предпринять далее. Думаю не все знают как выглядит заголовок ответа сервера, зато уверен, каждый, пользующийся интернетом, не раз сталкивались, со страницей 404 Not Found или 403 Forbadden . Это и есть, видимый пользователю результат, выдачи сервером, того или иного кода статуса в строке заголовке.

Коды состояния HTTP , разделены на 5 категорий. Клиент может быть не знаком с тем или иным кодом ответа HTTP , однако он должен отреагировать согласно категории кода. Итак протокол HTTP поддерживает следующие коды статуса, разделенные по категориям:

1xx: Information - информационные

100 Continue - Продолжать. Сервер доволен данными в запросе клиента, можно продолжать передачу заголовков HTTP/1.1 . 101 Switching Protocols - Переключение протоколов. Сервер предлагает выбрать другой протокол, более соответствующий данному ресурсу. Протоколы предлагаемый сервером, указываются в строке заголовка Update, если предложенный сервером протокол, устраивает клиента, он высылает новый запрос с указанием нового протокола. Появился в протоколе версии HTTP/1.1. 102 Processing - Обрабатывается. Используется в протоколе WebDAV , работающем поверх HTTP протокола. Данный код статуса информирует клиента о том, что запрос принят, но на его обработку может понадобится определенное время, что-бы он (клиент), не сбрасывал соединение. Клиент в этом случае должен обнулить таймер и ожидать следующей команды.

2xx: Success - Успешное завершение

200 OK - Хорошо. Запрос к ресурсу выполнен успешно. Данные, запрошенные клиентом, находятся в заголовке и/или в теле ответа. Появился в протоколе версии HTTP/1.0. 201 Created - Создано. Запрос выполнен успешно, новый ресурс создан. В ответе сервера, в заголовке Location , указывается местоположение созданного ресурса. Кроме того, серверу рекомендуется указывать характеристики созданного ресурса, в заголовке ответа. Появился в протоколе версии HTTP/1.0 . 202 Accepted - Принято. Запрос принят, но еще в обработке. Появился в протоколе версии HTTP/1.0 . 203 Non-Authoritative Information - Информация из неавторитетного источника. Аналогично коду 200, но в данном случае информация может быть неактуальной, так как взята не из первоисточника. Появился в протоколе версии HTTP/1.1 . 204 No Content - Отсутствует содержимое. Сервер успешно обработал запрос, но не вернул содержимого. Появился в протоколе версии HTTP/1.0 . 205 Reset Content - Сбросить содержимое. Сервер успешно обработал запрос, но не вернул содержимого. В отличии от кода 204, данный код, требует от клиента, сбросить представление документа. Появился в протоколе версии HTTP/1.1 . 206 Partial Content - Часть содержимого. Сервер вернул результат запроса клиентом, части содержимого, с помощью заголовка range. Используется для докачки файлов или для многопоточной закачки. Появился в протоколе версии HTTP/1.1 . 207 Multi-Status - Многостатусный. Возвращаемое сервером тело сообщения, представляет из себя XML документ со статусами выполнения нескольких подзапросов. Используется в протоколе WebDAV . 226 IM Used - Использовано IM Расширение HTTP для поддержки "дельта кодирования" (delta encoding ). Заголовок A-IM принят, данные возвращаются согласно установленным параметрам.

3xx: Redirection - Редирект (перенаправление)

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

Некоторые клиенты некорректно работают с редиректами 301 и 302 , применяя в запросе ко второму ресурсу метод GET , несмотря на то, что первый запрос был сделан с использованием другого метода. В протоколе HTTP версии 1.1 , вместо ответа статуса 302 , были введены дополнительные коды ответов, 303 и 307 . Изменять метод, необходимо только в случает ответа сервера со статусом 303 , в остальных случаях использовать исходный метод.

300 Multiple Choices - Несколько вариантов выбора. По запрошенному URI , существует несколько вариантов ресурса, различных по MIME типу. языку или другим признакам. В ответе сервера, передается список альтернатив, выбираемый клиентским приложением автоматически или самим пользователем. Появился в протоколе версии HTTP/1.0 . 301 Moved Permanently - Перемещёно окончательно. Запрошенный ресурс был окончательно перемещен на URI , указанный в строке заголовка Location , ответа сервера. Некоторые клиенты, при обработке данного кода, ведут себя некорректно, см. выше. Появился в протоколе версии HTTP/1.0 . 302 Found - Найдено (Moved Temporarily) Данный код статуса сообщает клиенту, что ресурс временно доступен по другому URI Location , заголовка ответа сервера. Данный код используется например, при согласовании содержимого (Content Negotiation ), выполняемого сервером. Появился в протоколе версии HTTP/1.0. 303 See Other - Смотреть другое. Документ из запрошенного URI , нужно запросить по адресу, указанному в строке заголовка Location , заголовка ответа сервера, используя метод GET , невзирая на то, каким методом был сделан первый запрос. Появился в протоколе версии HTTP/1.1. 304 Not Modified - Не изменялось. Данный код выдается в случае запроса документа, методом GET , с использованием заголовков If-Modified-Since или If-None-Match , и документ не был изменен с указанного момента времени. Появился в протоколе версии HTTP/1.0 . 305 Use Proxy - Использовать прокси сервер. Запрос к ресурсу, должен выполняться через прокси-сервер., адрес которого, указан в строке заголовка Location , заголовка ответа сервера. Появился в протоколе версии HTTP/1.1. 307 Temporary Redirect - Временное перенаправление Запрошенный ресурс временно доступен по URI , указанному в строке заголовка Location , заголовка ответа сервера. Появился в протоколе версии HTTP/1.1 .

4xx: Client Error - Ошибка клиента

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

400 Bad Request - Плохой запрос. Из-за синтаксической ошибки, запрос не был понят сервером. Появился в протоколе версии HTTP/1.0 . 401 Unauthorized - Не авторизован. Ресурс требует идентификации пользователя. Клиентское приложение запрашивает у пользователя данные для аутентификации (имя, пароль) и передает их на сервер в заголовке WWW-Authenticate . Если данные указаны не правильно, будет снова выдан этот-же код статуса. Появился в протоколе версии HTTP/1.0. 402 Payment Required - Необходима оплата. Пока не используется. Появился в протоколе версии HTTP/1.1. 403 Forbidden - Запрещено. Сервер отказал в доступе к запрошенному ресурсу ввиду ограничений. Ограничения могут быть любыми, установленными администратором сервера, или определенным веб приложением. Например, в целях безопасности, закрыт доступ к файлу, .htacces или .htpasswd или к закрытой директории сайта, или в случае, когда аутентификация должна производится через веб приложение (например сайтовый движок), ну или блокировка по IP адресу, в случае слишком частых обращений. Появился в протоколе версии HTTP/1.0 . 404 Not Found - Не найдено. Сервер не нашел запрошенный ресурс по указанному адресу. Кроме того данный код ответа можно использовать вместо 403, с целью, скрыть расположение документа, доступ к которому запрещен. Появился в протоколе версии HTTP/1.0 . 405 Method Not Allowed - Метод не поддерживается. Клиент попытался использовать метод, недопустимый для данного ресурса. Сервер передает в заголовке, строку Allow , содержащую список допустимых методов. Появился в протоколе версии HTTP/1.1 . 406 Not Acceptable - Не приемлемо. Запрошенный ресурс, не удовлетворяет, запрошенные характеристики. В случае, если запрос был сделан не методом HEAD , сервер вернет список допустимых характеристик запрошенного ресурса. Появился в протоколе версии HTTP/1.1. 407 Proxy Authentication Required - Необходима прокси авторизация. Данный код статуса, аналогичен коду 401 за исключением того, что аутентификация производится для прокси-сервера. Появился в протоколе версии HTTP/1.1 . 408 Request Timeout - Время ожидания истекло. Истек таймаут ожидания передачи данных, между сервером и клиентом. Появился в протоколе версии HTTP/1.1 . 409 Conflict - Конфликт. Конфликтная ситуация при обращении к ресурсу. Такое может произойти, например, при попытке одновременного изменения файла, методом PUT , несколькими клиентами. Появился в протоколе версииHTTP/1.1 . 410 Gone - Удалён. Данный ответ выдается в случае, если документ был по указанному URI , но в данный момент удален. Появился в протоколе версии HTTP/1.1 . 411 Length Required - Необходима длина. Этот код статуса говорит о том, что для данного URI , в заголовке запроса, должно быть указано значение в поле 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 слишком длинный. Слишком длинная строка запроса. Такая ситуация может произойти, например в случае попытки, передать данные методом GET , вместо использования POST . Появился в протоколе версии HTTP/1.1. 415 Unsupported Media Type - Неподдерживаемый тип данных. Сервер, по какой-то причине, отказался обрабатывать запрошенные данные, используемым методом. Появился в протоколе версии HTTP/1.1. 416 Requested Range Not Satisfiable - Запрашиваемый диапазон не достижим. В строке заголовка запроса Range, установлен диапазон, выходящий за рамки запрошенного ресурса и отсутствует строка If-Range . Появился в протоколе версии HTTP/1.1. 417 Expectation Failed - Ожидаемое не приемлемо. Сервер не может обработать строку заголовка запроса Expect . Появился в протоколе версии HTTP/1.1. 422 Unprocessable Entity - Необрабатываемый экземпляр. Запрос принят, тип данных может быть обработан, синтаксис XML данных в теле запроса верен, но имеет место логическая ошибка, не позволяющая обработать запрос к ресурсу. Используется в протоколеWebDAV . 423 Locked - Заблокировано. Запрошенный ресурс заблокирован от данного метода. Используется в протоколе WebDAV . 424 Failed Dependency - Невыполненная зависимость. Выполнение запроса, может зависеть от результата выполнения, какой-либо другой операции, при невыполнении данного условия, будет выдан этот код статуса. Используется в протоколе WebDAV . 425 Unordered Collection - Беспорядочный набор. Этот код статуса будет выдан в случае, если клиент отправил запрос обозначив положение в неотсортированной коллекции или используя порядок следования элементов отличный от серверного. Введено в черновике по WebDAV Advanced Collections Protocol . 426 Upgrade Required - Требуется обновление. Указание сервера, клиенту, обновить протокол. Заголовок ответа, должен содержать правильно составленные поля Upgrade и Connection . Введено в RFC 2817 для возможности перехода к TLS посредством HTTP . 449 Retry With - Повторить с... Выдается в случае поступления не достаточного количества информации для обработки запроса. В заголовок ответа сервера, помещается строка Ms-Echo-Request . Введено корпорацией Microsoft дляWebDAV .

5xx: Server Error - Ошибка на стороне сервера

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

500 Internal Server Error - Внутренняя ошибка сервера. Любая внутренняя ошибка на стороне сервера не подпадающая под остальные ошибки из категории 5хх. Появился в протоколе версии HTTP/1.0. 501 Not Implemented - Не реализовано. Сервер не поддерживает, необходимых для обработки запроса, возможностей. (например не поддерживается необходимый метод обработки). Появился в протоколе версии HTTP/1.0 . 502 Bad Gateway - Плохой шлюз. Сервер, работающий в качестве прокси или шлюза, получил сообщение о неудачное в промежуточной операции. Появился в протоколе версии HTTP/1.0 . 503 Service Unavailable - Сервис недоступен. Сервер не в состоянии обрабатывать запросы клиентов по техническим причинам. Появился в протоколе версии HTTP/1.0 . 504 Gateway Timeout - Истек таймаут ожидания ответа шлюза. Проксирующий сервер или шлюз, не дождался ответа от вышестоящего сервера для завершения обработки запроса. Появился в протоколе версии HTTP/1.0 . 505 HTTP Version Not Supported - Версия HTTP протокола не поддерживается. Сервер не поддерживает, или не может обработать, указанную в заголовке версию HTTP протокола. Появился в протоколе версии HTTP/1.0. 506 Variant Also Negotiates - Вариант тоже согласован. Из-за не верной конфигурации, выбранный вариант указывает сам на себя, в следствии чего, связывание прерывается. Добавлено в RFC 2295 для дополнения протокола HTTP технологией Transparent Content Negotiation . 507 Insufficient Storage - Переполнение хранилища. Недостаточно места для обработки текущего запроса. Возможно временная проблема. Используется в протоколе WebDAV . 509 Bandwidth Limit Exceeded - Пропускная возможность канала исчерпана. Данный код статуса, используется в случае превышения веб площадкой, отведенного ей лимита, на потребляемый трафик. Данный код не описан ни одним RFC и используется только модулемbw/limited , панели веб-хостинга cPanel . 510 Not Extended - Нет расширения. У сервера отсутствует расширение, которое пытается использовать клиентом. Сервер может передавать информацию, об имеющихся у него расширениях. Введено в RFC 2774 для дополнения протоколаHTTP поддержкой расширений.

Шпаргалка по ответам сервера. Заглянув в данный список можно безошибочно определить, что означает то или иное число, отдаваемое серваком. Скопировал из Википедии. Для наиболее частых ответов (301, 404, 500), сделал более подробное описание.

Всю эту информацию можно посмотреть в графическом исполнении вот . Изучая рисунок можно более наглядно представить процессы общения по схеме клиент — сервер.

1xx: Информационные.

  • 100 Continue (Продолжать).
  • 101 Switching Protocols (Переключение протоколов).
  • 102 Processing (Идёт обработка).

2xx: Success (Успешно).

  • 200 OK (Хорошо).
  • 201 Created (Создано).
  • 202 Accepted (Принято).
  • 203 Non-Authoritative Information (Информация не авторитетна).
  • 204 No Content (Нет содержимого).
  • 205 Reset Content (Сбросить содержимое).
  • 206 Partial Content (Частичное содержимое).
  • 207 Multi-Status (Многостатусный).
  • 226 IM Used (IM использовано).

3xx: Redirection Перенаправление.

  • 300 Multiple Choices (Множество выборов).
  • 301 Moved Permanently (Перемещено окончательно, ).
  • 302 Found (Найдено).
  • 303 See Other (Смотреть другое).
  • 304 Not Modified (Не изменялось).
  • 305 Use Proxy (Использовать прокси).
  • 306 (зарезервировано).
  • 307 Temporary Redirect (Временное перенаправление, часто используется при работе над сайтом, когда посетителя отправляют на другой url. Например, страницу описывающую, что на сайте ведутся работы).

4xx: Client Error (Ошибка клиента).

  • 400 Bad Request (Плохой запрос).
  • 401 Unauthorized (Неавторизован).
  • 402 Payment Required (Необходима оплата).
  • 403 Forbidden (Запрещено. Данный код можно увидеть, если у вас не хватает прав для просмотра той или иной страницы).
  • 404 Not Found (Не найдено. Одна из самых распространенных ошибок — 404. Страница не найдена по указанному адресу, «битая ссылка»).
  • 405 Method Not Allowed (Метод не поддерживается).
  • 406 Not Acceptable (Не приемлемо).
  • 407 Proxy Authentication Required (Необходима аутентификация прокси).
  • 408 Request Timeout (Время ожидания истекло).
  • 409 Conflict (Конфликт).
  • 410 Gone (Удалён).
  • 411 Length Required (Необходима длина).
  • 412 Precondition Failed (Условие «ложно»).
  • 413 Request Entity Too Large (Размер запроса слишком велик).
  • 414 Request-URI Too Long (Запрашиваемый URI слишком длинный).
  • 415 Unsupported Media Type (Неподдерживаемый тип данных).
  • 416 Requested Range Not Satisfiable (Запрашиваемый диапазон не достижим).
  • 417 Expectation Failed (Ожидаемое не приемлемо).
  • 418 I’m a teapot (Я — чайник).
  • 422 Unprocessable Entity (Необрабатываемый экземпляр).
  • 423 Locked (Заблокировано).
  • 424 Failed Dependency (Невыполненная зависимость).
  • 425 Unordered Collection (Неупорядоченный набор).
  • 426 Upgrade Required (Необходимо обновление).
  • 449 Retry With (Повторить с…).
  • 456 Unrecoverable Error (Некорректируемая ошибка…).

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 (Переполнение хранилища).
  • 509 Bandwidth Limit Exceeded (Исчерпана пропускная ширина канала).
  • 510 Not Extended (Не расширено).