Академический Документы
Профессиональный Документы
Культура Документы
Данная страница основана на информации о кодах состяний HTTP. Оригинальными источниками являются ietf.org и Wikipedia. Кликните по заголовку категории или
коду состояния для получения подробной информации.
1xx: Information
В этот класс выделены коды, информирующ ие о процессе передачи. Это обычно предварительный ответ, состоящ ий только из Status-Line и опциональных заголовков, и
завершается пустой строкой. Нет обязательных заголовков для этого класса кодов состояния. Из-за того, что стандарт протокола HTTP/1.0 не определял никаких 1xx
кодов состояния, серверы НЕ ДОЛЖНЫ посылать 1xx ответы HTTP/1.0 клиентам, за исключением экспериментальных условий.
Клиент должен быть готов принять один или несколько 1xx ответов статуса до завершения передачи, даже если клиент не ожидает статуса 100 (Продолжить).
Неожиданные 1xx ответы могут быть проигнорированы агентом пользователя.
Прокси должен направить 1xx ответы, если соединение между прокси сервером и клиентом было закрыто, или если прокси сам просил 1xx ответ. (Например, если прокси
добавляет "Expect: 100-continue" поле, когда он перенаправляет запрос, то нужно отправить соответствующ ий 100 (Continue) код ответа).
Wikipedia
В этот класс выделены коды, информирующ ие о процессе передачи. При работе через протокол HTTP версии 1.0 сообщения с такими кодами должны игнорироваться. В
версии 1.1 клиент должен быть готов принять этот класс сообщений как обычный ответ, но серверу отправлять что-либо не нужно. Сами сообщения от сервера содержат
только стартовую строку ответа и, если требуется, несколько специфичных для ответа полей заголовка. Прокси-сервера подобные сообщения должны отправлять дальше
от сервера к клиенту.
100: Continue
Клиент должен продолжать свой Запрос. Этот промежуточный ответ используется для сообщения клиенту о том, что начальная часть запроса была получена и еще не
был отвергнут сервером. Клиенту СЛЕДУЕТ продолжить посылку оставшихся данных запроса или, если запрос уже был выполнен, игнорировать этот ответ. Сервер
ДОЛЖЕН послать заключительный ответ после того, как запрос был завершен. См. раздел 8.2.3 для детального обсуждения использования и обработки этого кода
состояния.
Wikipedia
Сервер удовлетворён начальными сведениями о запросе, клиент может продолжать пересылать заголовки. Появился в HTTP/1.1.
Протокол должен быть включен только тогда, когда это выгодно делать. Например, переход на новую версию HTTP выгодно по сравнению со старыми версиями, и
переход на реальном времени, синхронно протокол может быть выгодно при предоставлении ресурсов, которые используют такие возможности.
Wikipedia
Сервер предлагает перейти на более подходящ ий для указанного ресурса протокол; список предлагаемых протоколов сервер обязательно указывает в поле заголовка
Update. Если клиента это заинтересует, то он посылает новый запрос с указанием другого протокола. Появился в HTTP/1.1.
Методы потенциально могут занять длительный период времени для процесса, особенно если они поддерживают заголовок Depth. В таких случаях клиент может прервать
соединение по тайм-ауту во время ожидания ответа. Чтобы предотвратить это, сервер может вернуть 102 (Processing) код состояния, указывая клиенту, что сервер все
еще обрабатывается методом.
Wikipedia
Запрос принят, но на его обработку понадобится длительное время. Используется сервером, чтобы клиент не разорвал соединение из-за превышения времени ожидания.
Клиент при получении такого ответа должен сбросить таймер и дожидаться следующей команды в обычном режиме. Появился в WebDAV.
2xx: Success
Этот класс кодов состояния указывает, что запрос клиента был успешно получен, понят, и принят.
Wikipedia
Этот класс кодов состояния указывает на действия, запрошенные клиентом был получен, понят, принят и обработан успешно.
200: OK
Запрос выполнен успешно. Информация, возвращ аемая с ответом зависит от метода, используемого в запросе, например:
Wikipedia
Стандартный ответ для запросов по HTTP.
Основной код ответа. Обычно используется для того, чтобы показать успешность выполненой операции.
201: Created
Запрос был выполнен, и, в результате, создан новый ресурс. Вновь созданный ресурс может быть, на который ссылается URI (ы) возвращ ается в объекте ответа, с самым
конкретным URI для ресурса отдается в поле заголовка Location. Ответ СЛЕДУЕТ включить объект, содержащ ий список характеристик и местоположения (ы), из которых
пользователь или агент пользователя может выбрать наиболее подходящ ий. Формат объекта определяется тип носителя приведены в Content-Type заголовка поля.
Первоначальный сервер ДОЛЖЕН создать ресурс перед возвратом кода состояния 201. Если действие не может быть выполнено немедленно, сервер должен ответить
202 (Принято) вместо ответа.
A 201 ответа может содержать поля заголовка ETag ответ с указанием текущего значения метки объекта на указанный вариант только что создали, см. раздел 14.19.
Wikipedia
Запрос был выполнен и в результате был создан новый ресурс.
Подтверждение успешного создания (например посредством POST или PUT запроса). Заголовок Location содержит ссылку на только что созданный ресурс (при POST
запросе). Тело ответа может быть пустым. Обычно так и бывает.
202: Accepted
http://www.restapitutorial.ru/httpstatuscodes.html# 1/9
30.01.2018 Коды состояний HTTP
Запрос принят в обработку, но еще не завершен. Нет никаких гарантий, что запрос успешно выполнится в процессе обработки данных. Из-за асинхронного типа
выполняемой операции отсутствует возможность повторной отправки статуса.
Данный ответ ничему не обязыаает. Основной целью этого запроса является уведомить клиента о том, что запрос принят в обработку и, ввиду того, что наличие
соединения между клиентом и сервером после этого не обязательно, позволить серверу принять запрос от дургого клиента/для другого процесса. В ответе должно также
возвращ аться состояние выполнение запроса или ссылка на источник, где пользователь может проверить статус выполнения задачи или убедиться в ее завершении.
Wikipedia
Запрос был принят на обработку, но она не завершена. Клиенту не обязательно дожидаться окончательной передачи сообщения, так как может быть начат очень долгий
процесс. Появился в HTTP/1.0.
Wikipedia
Аналогично ответу 200, но в этом случае передаваемая информация была взята не из первичного источника (резервной копии, другого сервера и т. д.) и поэтому может
быть неактуальной.
Появился в HTTP/1.1.
204: No Content
Запрос был успешно обработан, но нет необходимости возвращ ать какие-либо данные. Так же в ответе может возвращ аться новая, или обновленная информация, однако
в итоге она не будет отличаться о того, что было изначально послано на сервер и, таким образом, считается что клиент и так обладает актуальной информацией.
Если клиентом является браузер - то он не должен изменять отображение документа, и его состояние до моента отправки запроса и после этого - не должно изменятья.
Этот статус ответа в основном применяется для индикации успешности выполнения запроса с учетом того, что данные и представление данных не должны изменится, не
смотря (или с учетом того), что новая (обновленная информация) уже отображена в представлении документа.
204 - должен не содержать тела ответа. Если таковая имеется - она обчно игнорируется и считается что после заголовков присутствет одна пустая линия.
Wikipedia
Сервер успешно обработал запрос, но в ответе были переданы только заголовки без тела сообщения. Клиент не должен обновлять содержимое документа, но может
применить к нему полученные метаданные. Появился в HTTP/1.0.
Статус используется, когда ответ не используется или когда нет контента (например при выполнении команды DELETE)
Wikipedia
Сервер обязывает клиента сбросить введённые пользователем данные. Тела сообщения сервер при этом не передаёт и документ обновлять не обязательно. Появился в
HTTP/1.1.
Либо поле 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).
Wikipedia
Сервер передает только ту часть ресурса, которая была указана клиентом в заголовке диапазона. Заголовок диапазона используется такими инструментами, как wget,
для возобновления прерванных загрузок или для разделения загрузки на несколько параллельных потоков.
Wikipedia
Сервер передаёт результаты выполнения сразу нескольких независимых операций. Они помещ аются в само тело сообщения в виде XML-документа с объектом
multistatus. Не рекомендуется размещ ать в этом объекте статусы из серии 1xx из-за бессмысленности и избыточности. Появился в WebDAV.
Wikipedia
На сайте отписание отсуствует
226: IM Used
Сервер успешно принял запрос для ресурса и ответ является представлением результата применения одной или нескольких манипуляций с инстансом ресурса. На самом
деле актуальне представление ресурса может быть в текущ ий момент не доступно ввиду того, что действие может быть глобальное и затрагивать несколько инстансов
ресурса, а соответственно может комбинироваться с предудущ им или возможным в будущем ответом, связанным с специфичными действиями над конкретным
инстансом ресурса (или ресусров). Если это так, то при формировании заголовков для конкретного инстанса (или в результирующ их заголовках, отталкивающ ихся от 226
ответа и других инстансов) нужно руководствоваться частью 13.5.3 спецификации HTTP/1.1.
Запрос обязан содержать в A-IM заголовке перечень как минимм одной манипуляции с инстансом. Ответ обязан содержать ETag заголовк с тегом для конкретного
инстанса.
http://www.restapitutorial.ru/httpstatuscodes.html# 2/9
30.01.2018 Коды состояний HTTP
Ответ переданный с 226 кодом может быть закеширован и использован в ответах, актуальность которых регулируется Cache-Control заголовком, а также требованиями,
которые описаны в секции 10.6.
Ответ, переданный с кодом 226 может быть использован в совокупности с имеющ имися закешированными сущ ностями для базового инстанса для создания
кешированной сущ ности для конкретного инстанса.
Wikipedia
Заголовок A-IM от клиента был успешно принят и сервер возвращ ает содержимое с учётом указанных параметров. Введено в RFC 3229 для дополнения протокола HTTP
поддержкой дельта-кодирования.
3xx: Redirect
Данный класс кодов состояния показывает, что дальнейшие действия должны быть выполнены клиентом для тоо, чтобы запрос завершился успешно. Требуемое
действие может быть выполнено клиентом без участия пользователя тогда и только тогда, когда слудующ ий запрос будет GET или HEAD. Клиент обязан обнаруживать
бесконечные циклы переадресаций, потому что подобные переадресации генерируют бессмысленный траффик.
Замечание: предыдущ ая версия спецификации допускала максимум 5 редиректов. Разработчики должны иметь это ввиду.
Wikipedia
Коды этого класса сообщ ают клиенту, что для успешного выполнения операции необходимо сделать другой запрос, как правило, по другому URI. Из данного класса пять
кодов 301, 302, 303, 305 и 307 относятся непосредственно к перенаправлениям. Адрес, по которому клиенту следует произвести запрос, сервер указывает в заголовке
Location. При этом допускается использование фрагментов в целевом URI.
По последним стандартам клиент может производить перенаправление без запроса пользователя только если второй ресурс будет запрашиваться методом GET или
HEAD. В предыдущ их спецификациях говорилось, что для избежания круговых переходов пользователя следует спрашивать после 5-го подряд перенаправления. При
всех перенаправлениях, если метод запроса был не HEAD, то в тело ответа следует включить короткое гипертекстовое сообщение с целевым адресом, чтобы в случае
ошибки пользователь смог сам произвести переход.
Разработчики HTTP отмечают, что многие клиенты при перенаправлениях с кодами 301 и 302 ошибочно применяют метод GET ко второму ресурсу, несмотря на то, что к
первому запрос был с иным методом (чаще всего PUT). Чтобы избежать недоразумений, в версии HTTP/1.1 были введены коды 303 и 307 и их рекомендовано
использовать вместо 302. Изменять метод нужно только если сервер ответил 303. В остальных случаях следующ ий запрос производить с исходным методом.
Если это не был HEAD запрос, ответ СЛЕДУЕТ включить объект, содержащ ий список характеристик и адресов, из которого пользователь или агент пользователя может
выбрать один наиболее подходящ ий. Формат объекта определяется по типу данных приведеных в Content-Type поля заголовка. В зависимости от формата и
возможностей агента пользователя, выбор наиболее подходящего варианта может выполняться автоматически. Однако, эта спецификация не определяет никакого
стандарта для автоматического выбора.
Если сервер имеет предпочтительный выбор представления, в Location должен быть включен соответствующ ий URI; агент пользователя может использовать заголовок
Location для автоматического редиректа к предложенному ресурсу. Этот запрос может быть закеширован, если явно не было указано иного.
Wikipedia
По указанному URI существует несколько вариантов предоставления ресурса по типу MIME, по языку или по другим характеристикам. Сервер передаёт с сообщением
список альтернатив, давая возможность сделать выбор клиенту автоматически или пользователю. Появился в HTTP/1.0.
Новый постоянный URI должен быть передан в Location заголовке в ответе. Если запрос был не HEAD - в ответе должно содержаться краткое описание того, что адрес
изменился с ссылкой на новый адрес. Данная информация должна быть предоставлена в виде HTML.
Если 301 статус передан в отвтете на отличного от GET или HEAD запроса, агент пользователя не обязан автоматически переадресовывать в случае, если пользователь
не может подтвердить это действие.
Замечание: Некоторые HTTP/1.0 клиенты, после автоматического редиректа POST запроса, после принятия 301 статуса, ошибочно преобразуют его в GET запрос.
Wikipedia
Запрошенный документ был окончательно перенесен на новый URI, указанный в поле Location заголовка. Некоторые клиенты некорректно ведут себя при обработке
данного кода. Появился в HTTP/1.0.
302: Found
Запрошенный ресурс временно находится под другим URI. Так как переадресация может быть изменена в любой момент, клиенту СЛЕДУЕТ продолжать использовать тот
же самый URI для будущ их запросов. Этот ответ является кэшируемы если не было назначено Cache-Control или Expires поля заголовка.
Временныей URI должен быть передан в Location заголовке в ответ на запрос. В случае, если запрос был не HEAD - в ответе должно содержаться упоминание о новом
URI в гипертекстовом представлении.
Если 302 статус передан на в ответе на отличныый от GET или HEAD запрос, клиент не должен автоматически выполнять переадресацию, если это действие не может
быть подтверждено пользователем, так как это может изменить условия, которые подразумевал исходный запрос.
Замечание: RFC 1945 и RFC 2068 описывают, что клиенту не допустимо изменять метод исходного запроса при редиректе. Тем не менее, большинство
существующ их реализаций User Agent обрабатывает 302 как будто был передан ответ 303, выполняя GET для адреса, переданного в Location, независимо от
исходного метода запроса. Статусы 303 и 307 были добавлены для серверов, которым необходимо однозначно понимать, какой вид реакции ожидать от клиента.
Wikipedia
Запрошенный документ временно доступен по другому URI, указанному в заголовке в поле Location. Этот код может быть использован, например, при управляемом
сервером согласовании содержимого. Некоторые клиенты некорректно ведут себя при обработке данного кода. Введено в HTTP/1.0.
Новый URI должен быть передан посредством Location в ответе. В случае, если исходный запрос был отличен от HEAD - в ответе должна содержаться ссылка на новый
URI в гипертекстовом формате.
Замечание: Многие агенты, до HTTP/1.1 не понимают статуса 303. Когда взаимодействие с такими клиентами является проблемой, код состояния 302 может быть
использован вместо 303, так как большинство агентов реагируют на ответ 302, также как на 303.
http://www.restapitutorial.ru/httpstatuscodes.html# 3/9
30.01.2018 Коды состояний HTTP
Wikipedia
Документ по запрошенному URI нужно запросить по адресу в поле Location заголовка с использованием метода GET несмотря даже на то, что первый запрашивался
иным методом. Этот код был введён вместе с 307-ым для избежания неоднозначности, чтобы сервер был уверен, что следующ ий ресурс будет запрошен методом GET.
Например, на веб-странице есть поле ввода текста для быстрого перехода и поиска. После ввода данных браузер делает запрос методом POST, включая в тело
сообщения введённый текст. Если обнаружен документ с введённым названием, то сервер отвечает кодом 303, указав в заголовке Location его постоянный адрес. Тогда
браузер гарантировано его запросит методом GET для получения содержимого. В противном случае сервер просто вернёт клиенту страницу с результатами поиска.
Введено в HTTP/1.1
Если сервер подчиняется этим правилам, и прокси-серверы и клиенты добавят свои собственные Даты к любому ответу, полученным без Даты (как уже указано [RFC
2068], раздел 14.19), кэши будут работать неправильно.
Если условный GET запрос использует строгую валидацию на присутствие в кеше ( см 13.3.3) ответ НЕ должен (желательно) включать другие заголовки. В противном
случае ответ НЕ должен (обязательно) включать другие заголовки. Это предотовращ ает нарушение консистентности данных в кеше и модификации заголовков.
Если при 304 ответе наблюдается отсутствие сущ ности в актуальном кеше, запрос должен быть продолжен без проверки присутствия кеша.
Если кэш использует полученный 304 ответ для обновления кэша, кэш ДОЛЖЕН обновить запись, чтобы отразить любые новые значения полей, переданных в ответ.
Wikipedia
Сервер возвращ ает такой код, если клиент запросил документ методом GET, использовал заголовок If-Modified-Since или If-None-Match и документ не изменился с
указанного момента. При этом сообщение сервера не должно содержать тела. Появился в HTTP/1.0.
Используется ля условных GET запросов для снижения нагрузки на сеть. Если используется, то обязательны для передачи Data, Content-Location, ETag заголовки.
Тело ответа при этом статусе не передается.
Заметьте: в спецификации RFC 2068 однозначно не сказано, что ответ 305 предназначен для перенаправления единственного запроса, и что он должен
генерироваться только сервером-источником. Упущение этих ограничений вызвало ряд значительных последствий для безопасности.
Wikipedia
Многие HTTP клиенты (такие, как Mozilla и Internet Explorer) обрабатывают этот статус некорректно прежде всего из соображений безопасности.
Wikipedia
Больше не используется. Раньше обозначал "последующ ие запросы должны использовать указанный прокси-сервер"
Временный URI СЛЕДУЕТ передать в ответе в поле Location. Если метод запроса не HEAD, в сущ ность запроса СЛЕДУЕТ включить короткую гипертекстовую заметку со
ссылкой на новый (новые) URI, поскольку многие агенты, использующ ие более ранние протоколы, чем HTTP/1.1, не понимают статус 307. Поэтому пометке СЛЕДУЕТ
содержать информацию, необходиную для пользователя, чтобы повторить запрос на новый URI.
Если статус 307 получен в ответ на запрос, метод которого отличается от GET или HEAD, агент НЕ ДОЛЖЕН автоматически перенаправлять запрос до тех пор, пока он не
будет подтвержден пользователем, поскольку это может изменить условия, из-за которых и был сгенерирован этот запрос.
Wikipedia
В этом случае запрос следует повторить на другой URI; как бы то ни было, последующ ие запросы могут использовать первоначальный URI. В противоположность статусу
302, метод запроса не должен изменяться, когда первоначальный запрос пересоздается. Например, POST-запрос нужно продублировать другим POST-запросом.
Wikipedia
Этот и все последующ ие запросы нужно повторить на другой URI. 307 и 308, как было предложено, схожи в поведении с 302 и 301, но не требуют замены HTTP метода.
Таким образом, например, отправку формы на "постоянно перенаправленный" ресурс можно продолжать без проблем.
Если клиент передает данные, то серверу, использующему TCP СЛЕДУЕТ убедиться, что клиент подтверждает отправку пакетов, содержащ их ответ, до того, как сервер
закроет соединение. Если клиент продолжит отправку данных после того, как сервер закрыл соединение, TCP стек сервера отправит пакет с флагом сброса (TCP reset
packet), который может уничтожить клиентские данные, находящ иеся в неподтвержденных входных буферах, до того, как они будут прочитаны и обработаны HTTP
приложением.
Wikipedia
Класс кодов 4xx предназначен для указания ошибок со стороны клиента. При использовании всех методов, кроме HEAD, сервер должен вернуть в теле сообщения
гипертекстовое пояснение для пользователя.
Wikipedia
Сервер обнаружил в запросе клиента синтаксическую ошибку. Появился в HTTP/1.0.
http://www.restapitutorial.ru/httpstatuscodes.html# 4/9
30.01.2018 Коды состояний HTTP
Общ ая ошибка во время выполнения запроса может вызвать неверное состояние. Примером, вызывающ им этот статус, может быть ошибка в валидации домена или
нехватка данных.
401: Unauthorized
Запрос требует аунтефикации пользователя. Ответ должен содердать WWW-Authenticate заголовок (раздел 14.47). Клиент может повторить запрос с корректным
Authorization заголовком (раздел 14.8). Если запрос уже содержит информацию для авторизации, в таком случае 401 код ответа показывает, что авторизация была
отклонена. Если 401, содержит тот же самый вызов, как и предшествующ ий ответ, а агент пользователя уже делал попытку аутентификации по крайней мере один раз, то
СЛЕДУЕТ показать пользователю объект, который был дан в ответе, так как этот объект может включать соответствующ ую диагностическую информацию. Аутентификации
доступа HTTP объясняется в "HTTP-аутентификации: Basic и Digest Authentication Access".
Wikipedia
Для доступа к запрашиваемому ресурсу требуется аутентификация. В заголовке ответ должен содержать поле WWW-Authenticate с перечнем условий аутентификации.
Клиент может повторить запрос, включив в заголовок сообщения поле Authorization с требуемыми для аутентификации данными.
Wikipedia
Предполагается использовать в будущем. В настоящ ий момент не используется. Этот код предусмотрен для платных пользовательских сервисов, а не для хостинговых
компаний. Имеется в виду, что эта ошибка не будет выдана хостинговым провайдером в случае просроченной оплаты его услуг. Зарезервирован, начиная с HTTP/1.1.
403: Forbidden
Сервер понял запрос, но отказывается его обрабатывать. Авторизация не поможет и этот запрос НЕ СЛЕДУЕТ повторять. Если метод запросы был HEAD и сервер хочет
указать причину, почему запрос не был обработан, то ему СЛЕДУЕТ включить в ответ сообщение с объяснением. Если сервер не хочет, чтобы эта информация была
доступна клиенту, вместо кода 403 можно использовать 404.
Wikipedia
Сервер понял запрос, но он отказывается его выполнять из-за ограничений в доступе для клиента к указанному ресурсу. Если для доступа к ресурсу требуется
аутентификация средствами HTTP, то сервер вернёт ответ 401 или 407 при использовании прокси. В противном случае ограничения были заданы администратором
сервера или разработчиком веб-приложения и могут быть любыми в зависимости от возможностей используемого программного обеспечения. В любом случае клиенту
следует сообщ ить причины отказа в обработке запроса. Наиболее вероятными причинами ограничения может послужить попытка доступа к системным ресурсам веб-
сервера (например, файлам .htaccess или .htpasswd) или к файлам, доступ к которым был закрыт с помощ ью конфигурационных файлов, требование аутентификации не
средствами HTTP, например, для доступа к системе управления содержимым или разделу для зарегистрированных пользователей либо сервер не удовлетворён IP-
адресом клиента, например, при блокировках. Появился в HTTP/1.0.
Код ошибки используется для ответа пользователю, у которого нет прав для совершения этой операции или если ресурс не доступен по какой-то причине (например,
из-за временного ограничения).
Wikipedia
Самая распространенная ошибка при пользовании Интернетом, основная причина — ошибка в написании адреса Web-страницы. Сервер понял запрос, но не нашёл
соответствующего ресурса по указанному URI. Если серверу известно, что по этому адресу был документ, то ему желательно использовать код 410. Ответ 404 может
использоваться вместо 403, если требуется тщ ательно скрыть от посторонних глаз определённые ресурсы. Появился в HTTP/1.0.
Используется тогда, когда ресурс не был найден, не существует или был 401 или 403, но из соображений безопасности сервер не ответил этими кодами.
Wikipedia
Указанный клиентом метод нельзя применить к текущему ресурсу. В ответе сервер должен указать доступные методы в заголовке Allow, разделив их запятой. Эту ошибку
сервер должен возвращ ать, если метод ему известен, но он не применим именно к указанному в запросе ресурсу, если же указанный метод не применим на всём
сервере, то клиенту нужно вернуть код 501 (Not Implemented). Появился в HTTP/1.1.
Если глагол запроса был не HEAD, в ответ СЛЕДУЕТ включить список доступных характеристик сущ ности и их места расположения, из которых пользователь или агент
пользователя может выбрать наиболее приемлемый вариант. Формат сущ ности указан в заголовке Content-Type. В зависимости от формата и возможнотей агента
пользователя, выбор наиболее приемлемого варианта МОЖЕТ происходть автоматически. Как бы то ни было, эта спецификация не определяет каких-либо стандартов для
автоматической выборки.
Заметьте: Сервера HTTP/1.1 могут возвращ ать ответы, неприемлемые для запроса с указанным заголовками. В некоторых случаях предпочтительнее возвращ ать
статус 406. Такое поведение поощ ряет пользователя проверять заголовки запроса и определять, является ли запрос приемлемым.
Если ответ был не приемлемым, агенту пользователя СЛЕДУЕТ временно прекратить получение других данных и запросить у пользователя решение для дальнейших
действий.
Wikipedia
Запрошенный URI не может удовлетворить переданным в заголовке характеристикам. Если метод был не HEAD, то сервер должен вернуть список допустимых
характеристик для данного ресурса. Появился в HTTP/1.1.
Wikipedia
Ответ аналогичен коду 401 за исключением того, что аутентификация производится для прокси-сервера. Механизм аналогичен идентификации на исходном сервере.
Появился в HTTP/1.1.
Wikipedia
http://www.restapitutorial.ru/httpstatuscodes.html# 5/9
30.01.2018 Коды состояний HTTP
Время ожидания сервером передачи от клиента истекло. Клиент может повторить аналогичный предыдущему запрос в любое время. Например, такая ситуация может
возникнуть при загрузке на сервер объёмного файла методом POST или PUT. В какой-то момент передачи источник данных перестал отвечать, например, из-за
повреждения компакт-диска или потери связи с другим компьютером в локальной сети. Пока клиент ничего не передаёт, ожидая от него ответа, соединение с сервером
держится. Через некоторое время сервер может закрыть соединение со своей стороны, чтобы дать возможность другим клиентам сделать запрос. Этот ответ не
возвращ ается, когда клиент принудительно остановил передачу по команде пользователя или соединение прервалось по каким-то иным причинам, так как ответ уже
послать невозможно. Появился в HTTP/1.1.
409: Conflict
Запрос нельзя обработать из-за конфликта в текущем состоянии ресурса. Этот код разрешается использовать только в тех случаях, когда ожидается, что пользователь
может самостоятельно разрешить этот конфликт и повторить запрос. В тело ответа СЛЕДУЕТ включить достаточное количество информации для того, чтобы пользователь
смог понять причину конфликта. В идеале ответ должет содержать такую информацию, которая поможет пользователю или его агенту исправить проблему. Однако, это не
всегда возможно и это не обязательно.
Как правило, конфликты происходят во время PUT-запроса. Например, во время использования версионирования, если сущ ность, к которой обращ аются методом PUT,
содержить изменения, конфликтующ ие с теми, что были сделаны ранее третьей стороной, серверу следует использовать ответ 409, чтобы дать понять пользователю, что
этот запрос нельзя завершить. В этом случае, в ответной сущ ности должен содержаться список изменений между двумя версиями в формате, который указан в поле
заголовка Content-Type.
Wikipedia
Запрос не может быть выполнен из-за конфликтного обращения к ресурсу. Такое возможно, например, когда два клиента пытаются изменить ресурс с помощ ью метода
PUT. Появился в HTTP/1.1.
Whenever a resource conflict would be caused by fulfilling the request. Duplicate entries and deleting root objects when cascade-delete is not supported are a couple of
examples.
410: Gone
Требуемый ресурс больше не доступен на сервере и адрес его расположения не известен. Предполагается, что это состояние постоянно. Клиентам с возможностью
редактирования ссылки СЛЕДУЕТ удалить ссылки на запрошенный URL после подтверждения. Если сервер не знает, или у него нет возможности определить, постоянно
это состояние или нет, СЛЕДУЕТ использовать статус 404 (Not Found). Этот ответ можно кешировать до тех пор, пока не появится другая информация.
Ответ 410, в первую очередь, предназначен для помощ и в оповещении получателей о том, что ресурс умышленно недоступен и что владельцы сервера хотят, чтобы все
удаленные ссылки на ресурс были удалены. Такая ситуация обычна для рекламных серверов и для частных рерурсов, владельцы которых больше не поддерживают
сайт. Не обязательно помечать все постоянно недоступные ресурсы "пропавшими" или сохранять такую пометку на какое-то время -- это остается на усмотрение
владельца.
Wikipedia
Такой ответ сервер посылает, если ресурс раньше был по указанному URL, но был удалён и теперь недоступен. Серверу в этом случае неизвестно и местоположение
альтернативного документа, например, копии). Если у сервера есть подозрение, что документ в ближайшее время может быть восстановлен, то лучше клиенту передать
код 404. Появился в HTTP/1.1.
Wikipedia
Для указанного ресурса клиент должен указать Content-Length в заголовке запроса. Без указания этого поля не стоит делать повторную попытку запроса к серверу по
данному URI. Такой ответ естественен для запросов типа POST и PUT. Например, если по указанному URI производится загрузка файлов, а на сервере стоит ограничение
на их объём. Тогда разумней будет проверить в самом начале заголовок Content-Length и сразу отказать в загрузке, чем провоцировать бессмысленную нагрузку,
разрывая соединение, когда клиент действительно пришлёт слишком объёмное сообщение. Появился в HTTP/1.1.
Wikipedia
Возвращ ается, если ни одно из условных полей заголовка запроса не было выполнено.
Если проблема временная, то рекомендуется в ответ сервера включить заголовок Retry-After с указанием времени, по истечении которого можно повторить аналогичный
запрос.
Wikipedia
Тело запроса больше, чем сервер может обработать.
Wikipedia
Укзанный URI был слишком длинным и сервер не смог его обработать.
Wikipedia
По каким-то причинам сервер отказывается работать с указанным типом данных при данном методе. Например, клиент пытается загрузить изображение в формате
image/svg+xml, а сервер ожидает другой формат.
Когда этот статус возвращ ается в ответ на запрос с указанием диапазона запрашиваемых байт (byte-range requests), в ответ СЛЕДУЕТ включить поле заголовка сущ ности
Content-Range, в котором указать фактический размер ресурса (см. секцию 14.16). Этот ответ НЕЛЬЗЯ использовать при передаче типа multipart/byteranges.
Wikipedia
http://www.restapitutorial.ru/httpstatuscodes.html# 6/9
30.01.2018 Коды состояний HTTP
Клиент запросил часть файла, но сервер не может ее передать. Например, если клаент запросил часть файла, которая находится за пределами конца файла.
Wikipedia
Сервер не может удовлетворить значению поля Expect заголовка запроса.
Этот код был введен в 1998 году как одна из традиционных первоапрельских шуток IETF в RFC 2324, Hyper Text Coffee Pot Control Protocol. Не ожидается, что данный код
будет поддерживаться реальными серверами. Как бы то ни было, реализации существуют. HTTP сервер Nginx в своей конфигурации использует этот код для имитации
goto-подобного поведения.
Wikipedia
Запрос имел правильный формат, но его нельзя обработать из-за семантических ошибок.
Wikipedia
Wелевой ресурс из запроса заблокирован от применения к нему указанного метода. Введено в WebDAV.
Wikipedia
Не удалось завершить запрос из-за ошибок к предыдущем запросе. (например, PROPPATCH)
Wikipedia
Defined in drafts of "WebDAV Advanced Collections Protocol", but not present in "Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol".
Reliable, interoperable negotiation of Upgrade features requires an unambiguous failure signal. The 426 Upgrade Required status code allows a server to definitively state the
precise protocol extensions a given resource must be served with.
Wikipedia
Клиенту следует выбрать другой протокол, например такой, как TLS/1.0.
Its typical use is to avoid the "lost update" problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified
the state on the server, leading to a conflict. By requiring requests to be conditional, the server can assure that clients are working with the correct copies.
Responses using this status code SHOULD explain how to resubmit the request successfully.
The 428 status code is optional; clients cannot rely upon its use to prevent "lost update" conflicts.
Wikipedia
The origin server requires the request to be conditional. Intended to prevent "the "lost update" problem, where a client GETs a resource's state, modifies it, and PUTs it back to the
server, when meanwhile a third party has modified the state on the server, leading to a conflict.
The response representations SHOULD include details explaining the condition, and MAY include a Retry-After header indicating how long to wait before making a new request.
When a server is under attack or just receiving a very large number of requests from a single party, responding to each with a 429 status code will consume resources.
Therefore, servers are not required to use the 429 status code; when limiting resource usage, it may be more appropriate to just drop connections, or take other steps.
Wikipedia
The user has sent too many requests in a given amount of time. Intended for use with rate limiting schemes.
It can be used both when the set of request header fields in total are too large, and when a single header field is at fault. In the latter case, the response representation SHOULD
specify which header field was too large.
Servers are not required to use the 431 status code; when under attack, it may be more appropriate to just drop connections, or take other steps.
http://www.restapitutorial.ru/httpstatuscodes.html# 7/9
30.01.2018 Коды состояний HTTP
Wikipedia
The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large.
Wikipedia
Доступ к ресурсу закрыт по юридическим причинам, например, по требованию органов государственной власти или по требованию правообладателя в случае нарушения
авторских прав. Введено в черновике IETF за авторством Google, при этом код ошибки является отсылкой к роману Рэя Брэдбери "451 градус по Фаренгейту".
Wikipedia
Сервер не смог выполнить явно корректный запрос.
Коды 5xx выделены под случаи неудачного выполнения операции по вине сервера. Для всех ситуаций, кроме использования метода HEAD, сервер должен включать в
тело сообщения объяснение, которое клиент отобразит пользователю. Эти коды ответа подходит для любых методов запросов.
Wikipedia
Универсальное сообщение о внутренней ошибке сервера, когда никакое более определенное сообщение не подходит.
Wikipedia
Серверу либо не известен метод запроса, или ему (серверу) не хватает возможностей выполнить запрос.
Wikipedia
Сервер, выступая в роли шлюза или прокси-сервера, получил некорректный ответ от вышестоящего сервера.
Замечание: существование кода 503 не обязывает сервер отвечать этим статусом, когда он перегружен. Некоторые сервера просто отвергают соединения.
Wikipedia
Сервер недоступен (из-за перегрузки или технических работ). Обычно это временное состояние.
Замечание: Некоторые прокси-сервера возвращ ают 400 или 500, когда время обраборки DNS запроса превышает установленный таймаут.
Wikipedia
Сервер в роли шлюза или прокси-сервера не дождался ответа от вышестоящего сервера для завершения текущего запроса. Появился в HTTP/1.1.
Wikipedia
Сервер не поддерживает или отказывается поддерживать указанную в запросе версию протокола HTTP. Появился в HTTP/1.1.
http://www.restapitutorial.ru/httpstatuscodes.html# 8/9
30.01.2018 Коды состояний HTTP
The 506 status code indicates that the server has an internal configuration error: the chosen variant resource is configured to engage in transparent content negotiation itself, and is
therefore not a proper end point in the negotiation process.
Wikipedia
В результате ошибочной конфигурации выбранный вариант указывает сам на себя, из-за чего процесс связывания прерывается. Экспериментальное. Введено в RFC 2295
для дополнения протокола HTTP технологией Transparent Content Negotiation.
Wikipedia
Не хватает места для выполнения текущего запроса. Проблема может быть временной. Введено в WebDAV.
Wikipedia
Сервер обнаружил бесконечный цикл при обработке запроса.
If the 510 response contains information about extensions that were not present in the initial request then the client MAY repeat the request if it has reason to believe it can fulfill
the extension policy by modifying the request according to the information provided in the 510 response. Otherwise the client MAY present any entity included in the 510 response
to the user, since that entity may include relevant diagnostic information.
Wikipedia
На сервере отсутствует расширение, которое желает использовать клиент. Сервер может дополнительно передать информацию о доступных ему расширениях. Введено в
RFC 2774 для дополнения протокола HTTP поддержкой расширений
Ответ должен содержать ссылку на ресурс, на котором пользователь сможет авторизоваться (например с HTML формой)
Упоминание о том, что 511 ответ не должен содержать требования авторизации или соответствующего интерфейса, потому что браузеры должны будут отобразить
интерфейс авторизации, который будет ассоциироваться с запрашиваемым URL, что может путать пользователя.
The 511 status SHOULD NOT be generated by origin servers; it is intended for use by intercepting proxies that are interposed as a means of controlling access to the network.
Responses with the 511 status code MUST NOT be stored by a cache.
The 511 status code is designed to mitigate problems caused by "captive portals" to software (especially non-browser agents) that is expecting a response from the server that a
request was made to, not the intervening network infrastructure. It is not intended to encouraged deployment of captive portals, only to limit the damage caused by them.
A network operator wishing to require some authentication, acceptance of terms or other user interaction before granting access usually does so by identifing clients who have not
done so ("unknown clients") using their MAC addresses.
Unknown clients then have all traffic blocked, except for that on TCP port 80, which is sent to a HTTP server (the "login server") dedicated to "logging in" unknown clients, and of
course traffic to the login server itself.
In common use, a response carrying the 511 status code will not come from the origin server indicated in the request's URL. This presents many security issues; e.g., an attacking
intermediary may be inserting cookies into the original domain's name space, may be observing cookies or HTTP authentication credentials sent from the user agent, and so on.
However, these risks are not unique to the 511 status code; in other words, a captive portal that is not using this status code introduces the same issues.
Also, note that captive portals using this status code on an SSL or TLS connection (commonly, port 443) will generate a certificate error on the client.
Wikipedia
Этот ответ посылается не сервером, которому был предназначен запрос, а сервером-посредником — например, сервером провайдера — в случае, если клиент должен
сначала авторизоваться в сети, например, ввести пароль для платной точки доступа к Интернету. Предполагается, что в теле ответа будет возвращена Web-форма
авторизации или перенаправление на неё. Введено в черновике стандарта RFC 6585
"Top 10" HTTP код ответа. More REST service-specific information is contained in the entry.
http://www.restapitutorial.ru/httpstatuscodes.html# 9/9