Коды ответа http: Список кодов состояния http — Википедия – HTTP response status codes — Web technology for developers

Содержание

Коды состояний HTTP

511 код ответа означает, что клиенту необходима авторизация для получения доступа к сети.

Ответ должен содержать ссылку на ресурс, на котором пользователь сможет авторизоваться (например с 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

Код ответа — Википедия

Код ответа, Код причины завершения или Код возврата (в англоязычной литературе также Cause code, Reason code, Status code, Disconnect code и т. д.) — в телекоммуникациях и программном обеспечении  — цифровой код, сформированный узлом в результате выполнения запроса, который характеризует то или иное событие протокола или технологии, произошедшее на отвечающей стороне: успешное или неуспешное выполнение и т. д. Нередко коды ответа сопровождаются лаконичным комментарием на английском языке, а в ответном сообщении вместе с цифровым кодом и его расшифровкой может передаваться другая необходимая информация (например, запрошенные данные).

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

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

Знание кодов ответа и ошибок позволяет пользователям, разработчикам и обслуживающему персоналу системы эффективно заниматься анализом проблем (при условии, что возможно сохранение лога работы протокола). Также для отладки может пригодиться анализатор трафика (например, Wireshark).

Коды ответов станций в телефонной связи[править | править код]

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

Традиционная телефония ТФОП[править | править код]

Код завершения вызова и/или окончательного ответа станции на запрос сохраняется в подробную запись о вызове (CDR). Коды ответов узлов, станций и абонентского оборудования в традиционной телефонии описываются в стандарте Q.850 для ISUP сети ОКС-7 и в Q.931 для ISDN.

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

Примеры кодов ответов:

КодЗначениеПояснение
16Normal call clearingНормальное завершение вызова
17User busyАбонент занят
22Number changedНомер изменен
28Invalid Number Format (address incomplete). Вызываемый номер не соответствует принятому формату или не полон.
101The Message is Not Compatible with the Call State.Полученное сообщение несовместимо с состоянием вызова.

IP-телефония[править | править код]

Код завершения вызова и/или окончательного ответа станции на запрос так же, как и в традиционной телефонии, сохраняется в подробную запись о вызове (CDR). Так как коды разных протоколов могут различаться, в мультипротокольных продуктах NGN операторам связи нередко приходится решать задачу адекватного сопоставления кодов ответа станции одного протокола кодам соответствия другого (сообщения из SIP в H.323 или ISDN и наоборот), это называется трансляцией кодов (или mapping).

H.323[править | править код]
Основная статья: Q.931

Оборудование и программное обеспечение H.323 завершает вызовы с кодами ответов, соответствующие стандарту Q.931, так как данный стек протоколов разрабатывался для максимального соответствия ISDN и многие моменты организации взаимодействия сторон унаследованы из цифровой телефонии. (Примеры смотри выше)

SIP[править | править код]

SIP — Протокол установления сеанса, следуя принципу упрощения запросов и ответов в рамках телефонного вызова, унаследовал структуру ответов и их виды от протокола HTTP.

Примеры кодов ответов:

КодЗначениеПояснение
180RingingУведомление о начале вызова на стороне вызываемого оборудования, соответствует длинному звуковому сигналу (КПВ) в телефонии
200OKСтандартный ответ, подтверждающий согласие на действие по запросу
404Not foundВызываемый абонент не найден
487Request terminatedИнициатор вызова завершил попытку установить связь до соединения с вызываемым абонентом
603DeclineОзначает, что вызываемая сторона отклонила входящий вызов

В приложениях код ответа является частью взаимодействия администратора и системы.

Передача файлов (FTP)[править | править код]

Основная статья: FTP

FTP является одним из старейших прикладных клиент-серверных протоколов, предназначенным для передачи файлов в компьютерных сетях, в котором команды и коды ответа сервера являются стандартизированными и популярными.

Примеры кодов ответов:

КодЗначениеПояснение
220FTP server readyСервер готов обрабатывать запросы
230Login successfulПользователь успешно подключился
150Ok to send dataСогласие принимать данные от пользователя
226File receive OKФайл передан успешно

Взаимодействие с веб-сервером (HTTP)[править | править код]

Код состояния HTTP является частью первой строки ответа веб-сервера на действия пользователя. Клиент узнаёт по коду ответа о результатах его запроса и определяет, какие действия ему предпринимать дальше. Набор кодов состояния является стандартом, и они описаны в соответствующих документах (один из последних RFC 2616).

Примеры кодов ответов:

КодЗначениеПояснение
202AcceptedЗапрос был принят на обработку, но обработка не завершена.
400Bad RequestСервер обнаружил в запросе клиента синтаксическую ошибку.
401UnauthorizedЗапрос требует идентификации пользователя.
403ForbiddenСервер понял запрос, но он отказывается его выполнять из-за ограничений в доступе со стороны клиента к указанному ресурсу.
404Not FoundСервер понял запрос, но не нашёл соответствующего ресурса по указанному адресу.

Отправка сообщений электронной почты (SMTP)[править | править код]

Основная статья:
SMTP

Почта по протоколу SMTP посылается от клиента к серверу. Клиент запрашивает соединение с сервером и выполняет различные команды. Почтовый сервер (MTA) реагирует на запросы и выдаёт соответствующие ответы.

Примеры кодов ответов:

КодЗначениеПояснение
220Service ReadyПочтовый сервер готов к обслуживанию (может отправляться вместе с доменным именем сервера и версией ПО)
250OKКоманда принята и обработана
550No such user hereОшибка: указанный почтовый ящик (пользователь) отсутствует

Полный список кодов ответов HTTP, классы и описание — Секреты разработки сайтов

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

Классы кодов ответа HTTP

Всего есть 5 классов

Класс 1хх – информационные коды ответа HTTP.

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

Класс 2xx коды HTTP – успешно

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

200 OK — успешный запрос.
202 Accepted — запрос был принят на обработку, но она не завершена.
203 Non-Authoritative Information — аналогично ответу 200, но в этом случае передаваемая информация была взята не из первичного источника (резервной копии, другого сервера и т. д.) и поэтому может быть неактуальной. Появился в HTTP/1.1.
204 No Content — сервер успешно обработал запрос, но в ответе были переданы только заголовки без тела сообщения. Клиент не должен обновлять содержимое документа, но может применить к нему полученные метаданные. Появился в HTTP/1.0.
205 Reset Content — сервер обязывает клиента сбросить введённые пользователем данные. Тела сообщения сервер при этом не передаёт и документ обновлять не обязательно. Появился в HTTP/1.1.
206 Partial Content — сервер удачно выполнил частичный GET-запрос, возвратив только часть сообщения. В заголовке Content-Range сервер указывает байтовые диапазоны содержимого. Особое внимание при работе с подобными ответами следует уделить кэшированию. Появился в HTTP/1.1. (подробнее…)
207 Multi-Status — сервер передаёт результаты выполнения сразу нескольких независимых операций. Они помещаются в само тело сообщения в виде XML-документа с объектом multistatus. Не рекомендуется размещать в этом объекте статусы из серии 1xx из-за бессмысленности и избыточности. Появился в WebDAV.
226 IM Used — заголовок A-IM от клиента был успешно принят и сервер возвращает содержимое с учётом указанных параметров. Введено в RFC 3229 для дополнения протокола HTTP поддержкой дельта-кодирования.

Класс 3хх коды HTTP – перенаправление

Ответы HTTP начинающиеся на 3хх говорят о перенаправлении.

300 Multiple Choices («множество выборов»)
301 Moved Permanently («перемещено навсегда»)
302 Moved Temporarily («перемещено временно»)
302 Found («найдено»)
303 See Other (смотреть другое)
304 Not Modified (не изменялось)
305 Use Proxy («использовать прокси»)
306 — зарезервировано (код использовался только в ранних спецификациях)
307 Temporary Redirect («временное перенаправление»)

Класс 4хх ответы HTTP – ошибки клиента

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 Request Entity Too Large («размер запроса слишком велик»)
414 Request-URI Too Large («запрашиваемый URI слишком длинный»)
415 Unsupported Media Type («неподдерживаемый тип данных»)
416 Requested Range Not Satisfiable («запрашиваемый диапазон не достижим»)
417 Expectation Failed («ожидаемое неприемлемо»)
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 Закрывает соединение без передачи заголовка ответа. Нестандартный код
449 Retry With («повторить с»)
451 Unavailable For Legal Reasons («недоступно по юридическим причинам»)

Класс 5хх ответы HTTP – внутренние ошибки сервера

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 Bandwidth Limit Exceeded («исчерпана пропускная ширина канала»).
510 Not Extended («не расширено»).
511 Network Authentication Required «требуется сетевая аутентификация»

ПОДПИШИТЕСЬ НА НОВЫЕ СТАТЬИ ПО ТЕМЕ

BBCode — Википедия

Материал из Википедии — свободной энциклопедии

(перенаправлено с «Bbcode»)
Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 15 сентября 2014; проверки требуют 27 правок. Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 15 сентября 2014; проверки требуют 27 правок.

BBCode (аббр. от англ. bulletin board code) — язык разметки, используемый для форматирования сообщений на многих электронных досках объявлений (BBS) и форумах. Для форматирования текста используются теги, подобные тегам HTML, но, в отличие от них, заключённые в квадратные скобки («[» и «]»). Перед отображением страницы движок форума производит разбор текста и преобразование его в HTML-код.

BBCode создан в 1998 году для движка досок объявлений Ultimate Bulletin Board (UBB), написанном на языке Perl. В 2000 году поддержка BBCode была добавлена в движок для форумов PhpBB, написанный на языке PHP.

BBCode был придуман с целью предоставить более простой, безопасный и ограниченный по сравнению с HTML способ форматирования сообщений. Первоначально многие BBS позволяли пользователям использовать HTML-разметку, что могло приводить к побочным эффектам, таким как искажение разметки на странице, запуск JavaScript-сценариев (иногда в целях вандализма). Некоторые реализации BBCode, использующие упрощённые методы трансляции в HTML, также могут испытывать проблемы с безопасностью.

Хотя основные теги BBCode мало отличаются в большинстве интернет-форумов, существует большое количество вариаций. Некоторые реализации чувствительны к регистру символов внутри тегов, другие позволяют подсвечивать текст HTML, PHP, SQL и других языков разметки и программирования при помощи специальных тегов.

В следующей таблице перечислены теги BBCode, используемые на большинстве современных форумов, а также эквивалентный HTML-код. Стоит заметить, что с помощью CSS внешний вид HTML может быть изменён и может отличаться на разных сайтах. На многих форумах опубликован список часто задаваемых вопросов и ответов с описанием применяемой реализации BBCode.

ОписаниеКод на BBCodeКод на HTMLРезультат
Рисование текста полужирным шрифтом
<strong>Текст</strong>
или
<span>Текст</span>

Рекомендуется использовать тег <strong>.

Текст
Рисование текста курсивным шрифтом или
<span>Текст</span>

Рекомендуется использовать тег <em>.

Текст
Рисование подчёркнутого текста или
<span>Текст</span>

Рекомендуется использовать тег <span>.

Текст
Рисование зачёркнутого текста или
<span>Текст</span>

Рекомендуется использовать тег <del>.

Текст
Применение нескольких тегов
[s][u][b][i]Текст[/i][/b][/u][/s]
<s><u><b><i>Текст</i></b></u></s>
Текст
Вставка ссылки с видимым текстом
[url=https://ru.wikipedia.org]Текст[/url]
<a href="https://ru.wikipedia.org">Текст</a>
Текст
Вставка ссылки с видимым URL (адресом)
[url]https://ru.wikipedia.org[/url]
<a href="https://ru.wikipedia.org">https://ru.wikipedia.org</a>
https://ru.wikipedia.org
Вставка изображения
[img]https://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png[/img]
<img src="https://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png" alt="" />

Текст, записанный в атрибуте alt, отображается, если изображение недоступно.

Wikipedia-logo.png
Вставка ссылки в виде изображения
[url=https://ru.wikipedia.org][img]https://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png[/img][/url]
<a href="https://ru.wikipedia.org" ><img src="https://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png" alt="" /></a>
Wikipedia-logo.png
Вставка цитаты
[quote]Цитируемый текст[/quote]
[quote="имя автора текста"]Цитируемый текст[/quote]
<blockquote><p>Цитируемый текст</p></blockquote>

Может быть реализовано более изощрённым способом.

Цитата:

Цитируемый текст

Рисование текста моноширинным шрифтом

Часто движки выполняют подсветку синтаксиса различных языков.

или
<code>Текст</code>

Рекомендуется использовать тег <code>.

Текст
Рисование текста шрифтом указанного размера
[size=15]Текст[/size]
[size="15px"]Текст[/size]

Размер (высоту) шрифта можно задать без единицы измерения (будут использоваться пиксели (px)), в пикселях (px), в пунктах (pt), относительно текущего размера (слова «small», «medium», «large» и др.) и др. (см. описание свойства CSS font-size).

<span>Текст</span>
Текст
Рисование текста указанным цветом
[color=red]Текст[/color]
[color="#ff0000"]Текст[/color]
[style color=#ff0000]Текст[/style]

Цвет текста можно задать по имени или по шестнадцатеричному коду (см. цвета HTML). Некоторые движки позволяют записывать код цвета без символа «#».

<span>Текст</span>
Текст
Вставка смайлика или эмотикона

Некоторые движки позволяют не записывать символы «[» и «]».

<img src="smile.png" alt=":-)" />
:-)
Вставка списка
[list]
   [*] Пункт 1.
   [*] Пункт 2.
   [*] Пункт 3.
[/list]

Некоторые движки позволяют записывать «*» вместо «[*]».

[list]
   * Пункт 1.
   * Пункт 2.
   * Пункт 3.
[/list]

Некоторые движки поддерживают «[ul]» (англ. unordered list — неупорядоченный или маркированный список), «[ol]» (англ. ordered list — упорядоченный или нумерованный список) и «[li]» (англ. list item).

Маркированный список.

[ul]
   [li] Пункт 1. [/li]
   [li] Пункт 2. [/li]
   [li] Пункт 3. [/li]
[/ul]

Нумерованный список.

[ol]
   [li] Пункт 1. [/li]
   [li] Пункт 2. [/li]
   [li] Пункт 3. [/li]
[/ol]
Маркированный список.
<ul>
   <li> Пункт 1. </li>
   <li> Пункт 2. </li>
   <li> Пункт 3. </li>
</ul>

Нумерованный список.

<ol>
   <li> Пункт 1. </li>
   <li> Пункт 2. </li>
   <li> Пункт 3. </li>
</ol>

Маркированный список.

  • Пункт 1.
  • Пункт 2.
  • Пункт 3.

Нумерованный список.

  1. Пункт 1.
  2. Пункт 2.
  3. Пункт 3.
Вставка таблицы
[table]
   [tr]
      [td] 1 [/td]
      [td] 2 [/td]
      [td] 3 [/td]
   [/tr]
   [tr]
      [td] 4 [/td]
      [td] 5 [/td]
      [td] 6 [/td]
   [/tr]
   [tr]
      [td] 7 [/td]
      [td] 8 [/td]
      [td] 9 [/td]
   [/tr]
[/table]
<table>
   <tr>
      <td> 1 </td>
      <td> 2 </td>
      <td> 3 </td>
   </tr>
   <tr>
      <td> 4 </td>
      <td> 5 </td>
      <td> 6 </td>
   </tr>
   <tr>
      <td> 7 </td>
      <td> 8 </td>
      <td> 9 </td>
   </tr>
</table>

Онлайн-конвертеры[править | править код]

Коды ответов HTTP сервера [RTFM.WIKI]

Источник: http://vds-admin.ru/http/kody-sostoyaniya-http-otveta-veb-servera-metody-http

Код состояния 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 поддержкой расширений.

Методы обработки запросов HTTP

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

Любой веб сервер обязан работать, по крайней мере с двумя методами GET и HEAD. Если сервер не смог определить метод, указанный в заголовке запроса клиента, он должен вернуть код статуса 501 (Not Implemented), если-же метод серверу известен, но неприменим к данному ресурсу, будет возвращен код статуса 405 (Method Not Allowed). Как в первом, так и во втором случае, сервер должен включить в свой ответ, заголовок Allow со списком методов, которые он поддерживает.

web/http_codes.txt · Последние изменения: 2017/08/09 11:00 (внешнее изменение)

Коды ошибок HTTP. Сообщения статуса. Коды ответа сервера

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

На этой странице представлены самые распространенные HTTP коды ответа сервера. Это информационное сообщения, ошибки на стороне сервера или клиента, редиректы.

Коды ответа 1хх — Информационные

100 Continue — продолжение

Сервер получил header часть запроса. Клиент может пересылать body часть запроса.

101 Switching Protocols — переключение протокола

Предложение перейти на более подходящий протокол.

103 Checkpoint — контрольная точка

Используется в запросах с возможностью продолжения для возобновления после прерывания запросов POST или PUT.

Коды ответа 2хх — Успех

200 OK — хорошо (успех)

Запрос успешно обработан.

201 Created — создано

Запрос был выполнен. В результате был создан новый ресурс.

202 Accepted — принято

Запрос был принят в обработку, но обработка еще не завершена.

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

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

204 No Content — нет контента (содержимого).

Запрос был успешно обработан, но не вернул какой-либо контент.

205 Reset Content — сброс содержимого

Запрос был успешно обработан, но не вернул какой-либо контент. При этом требуется сброс введенных данных клиентом.

206 Partial Content — часть контента

Сервер успешно выполнил частичный запрос.

Коды ответа 3хх — Редирект

HTTP редиректы, а также их использование подробно описано в этой статье. Ниже приведены коды веб редиректов с кратким описанием.

300 Multiple Choices — выбор из нескольких вариантов

Сервер предоставляет клиенту список из нескольких возможных вариантов перенаправления (максимум 5 вариантов). Клиенту предоставляется возможность выбрать один из них. Подробнее

301 Moved Permanently — перемещено навсегда

Запрашиваемая страница была перенесена на новый URL на постоянной основе. Подробнее

302 Found / 302 Moved Temporarily — найдено / перемещено временно

Запрашиваемая страница была найдена / временно перенесена на другой URL. Подробнее. Для устранения неоднозначности вместо 302-го редиректа используют редирект 303 и 307.

303 See Other — смотрите другое

Запрошенный документ найден под другим URL адресом. Следует использовать GET запрос. Подробнее

304 Not Modified — без изменений

Указывает, что запрашиваемый документ не изменился с момента, который был указан браузером при его запросе. Подробнее

306 Switch Proxy — (зарезервировано)

Код 306 использовался в предыдущих версиях спецификации. На данный момент не используется, зарезервирован для использование в будущем.

307 Temporary Redirect — перемещено временно

Запрашиваемая страница была временно перенесена на другой URL. Подробнее

308 Permanent Redirect / 308 Resume Incomplete — перемещено навсегда / возобновление после прерывания

Может быть использован в двух случаях. Подробнее

Вариант 1: Запрашиваемая страница была перенесена на новый URL на постоянной основе (редирект 308 сохраняет HTTP метод, в отличии от 301-го, где возможно его изменение).

Вариант 2: Предлагает возобновить прерванный PUT или POST запрос.

Коды ответа 4хх — Ошибки на стороне клиента

400 Bad Request — Некорректный запрос

Запрос не может быть выполнен из-за синтаксической ошибки.

401 Unauthorized — не авторизован

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

402 Payment Required — (зарезервировано)

Код 402 на данный момент не используется. Зарезервирован для использования в будущем.

403 Forbidden — запрещено

Сервер понял запрос, но не выполнил его из-за ограничений прав доступа.

404 Not Found — не найдено

Запрашиваемый документ не найден. Код error 404 — самая распространенная ошибка. Чаще всего возникает из-за неправильно указанного URL адреса.

405 Method Not Allowed — метод не поддерживается

Запрос был сделан методом, который не поддерживается данным ресурсом.

406 Not Acceptable — не принимается

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

407 Proxy Authentication Required — необходима аутентификация прокси

Клиент должен вначале аутентифицировать себя на прокси сервере.

408 Request Timeout — время ожидания запроса истекло

Передача запроса клиентом серверу заняла слишком много времени.

409 Conflict — Конфликт

Запрос не может быть выполнен из-за конфликта с другим запросом или конфигурацией сервера.

410 Gone — недоступен

Запрашиваемый документ больше недоступен.

411 Length Required — нужна длина

Сервер отказывается принимать запрос без указания длины. Необходимо указать заголовок «Content-Length».

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

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

413 Request Entity Too Large — слишком большой запрос

Размер запроса больше, чем максимальный размер запроса, который может обработать сервер.

414 Request-URI Too Long — слишком длинный URI

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

415 Unsupported Media Type — не поддерживаемый формат

Сервер не принял запрос, так как последний имеет не поддерживаемый формат данных.

416 Requested Range Not Satisfiable — не допустимый диапазон

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

417 Expectation Failed — ожидания не оправдались

Значение поля заголовка Expect не соответствует ожиданиям. Сервер не может удовлетворить требования заголовка Expect.

Коды ответа 5хх — Ошибки на стороне сервера

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

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

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

Сервер не распознал метод используемый в запросе.

502 Bad Gateway — ошибка шлюза

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

503 Service Unavailable — сервис недоступен

Сервер не доступен в текущий момент (перегружен, отключен, на техническом обслуживании).

504 Gateway Timeout — время ожидания ответа шлюзом истекло

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

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

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

511 Network Authentication Required — требуется аутентификация в сети

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

Приложение запрашивает код — Технологии Яндекса

response_type

Требуемый ответ.

При запросе кода подтверждения следует указать значение «code».

client_id

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

device_id

Уникальный идентификатор устройства, для которого запрашивается токен. Чтобы обеспечить уникальность, достаточно один раз сгенерировать UUID и использовать его при каждом запросе нового токена с данного устройства.

Идентификатор должен быть не короче 6 символов и не длиннее 50. Допускается использовать только печатаемые ASCII-символы (с кодами от 32 до 126).

Ограничение. У приложения не может быть больше 20 токенов, привязанных к устройствам определенного пользователя. Если Яндекс.OAuth успешно выдает приложению новый токен для устройства, самый старый из таких токенов перестает работать.

Подробнее о токенах для отдельных устройств читайте на странице Токен для устройства.

device_name

Имя устройства, которое следует показывать пользователям. Не длиннее 100 символов.

Для мобильных устройств рекомендуется передавать имя устройства, заданное пользователем. Если такого имени нет, его можно собрать из модели устройства, названия и версии ОС и т. д.

Если параметр device_name передан без параметра device_id, он будет проигнорирован. Яндекс.OAuth сможет выдать только обычный токен, не привязанный к устройству.

Если параметр device_id передан без параметра device_name, в пользовательском интерфейсе токен будет помечен как выданный для неизвестного устройства.

redirect_uri

URL, на который нужно перенаправить пользователя после того, как он разрешил или отказал приложению в доступе. По умолчанию используется первый Callback URI, указанный в настройках приложения ().

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

login_hint

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

Параметр позволяет помочь пользователю авторизоваться на Яндексе с тем аккаунтом, к которому нужен доступ приложению. Получив параметр, Яндекс.OAuth проверяет авторизацию пользователя:

  • Если пользователь уже авторизован с нужным аккаунтом, Яндекс.OAuth просто запрашивает разрешение на доступ.

  • Если пользователь не авторизован с нужным аккаунтом, он увидит форму входа на Яндекс, в которой поле логина заполнено значением параметра. Помните, что токен не обязательно будет запрошен для указанного аккаунта: пользователь может стереть предзаполненный логин и войти с любым другим.

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

scope

Список необходимых приложению в данный момент прав доступа, разделенных пробелом. Права должны запрашиваться из перечня, определенного при регистрации приложения. Узнать допустимые права можно по ссылке https://oauth.yandex.ru/client/<client_id>/info, указав вместо <client_id> идентификатор приложения.

Если параметры scope и optional_scope не переданы, то токен будет выдан с правами, указанными при регистрации приложения.

Параметр позволяет получить токен только с теми правами, которые нужны приложению в данный момент.

Примечание. Права доступа, запрошенные одновременно через параметр scope и через параметр optional_scope, будут считаться опциональными правами, без которых приложение может обойтись. Пользователь самостоятельно решает, какие из запрошенных опциональных прав предоставить, а какие нет.

optional_scope

Список разделенных пробелом опциональных прав доступа, без которых приложение может обойтись. Опциональные права запрашиваются в дополнение к правам, указанным в параметре scope. Опциональные права должны запрашиваться из перечня, определенного при регистрации приложения. Узнать допустимые права можно по ссылке https://oauth.yandex.ru/client/<client_id>/info, указав вместо <client_id> идентификатор приложения.

Если параметры scope и optional_scope не переданы, то токен будет выдан с правами, указанными при регистрации приложения.

Пользователь самостоятельно решает, какие из запрошенных опциональных прав предоставить, а какие нет. Токен будет выдан с правами, указанными в параметре scope, и правами, выбранными пользователем из указанных в параметре optional_scope.

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

Примечание. Права доступа, запрошенные одновременно через параметр scope и через параметр optional_scope, будут считаться опциональными.

force_confirm

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

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

Параметр обрабатывается, если для него указано значение «yes», «true» или «1». При любом другом значении параметр игнорируется.

state

Строка состояния, которую Яндекс.OAuth возвращает без изменения. Максимальная допустимая длина строки — 1024 символа.

Можно использовать, например, для защиты от CSRF-атак или идентификации пользователя, для которого запрашивается токен.

Добавить комментарий

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