HTTP responce codes Flashcards
100
100 Continue
Продолжить
Информационный код ответа о состоянии HTTP 100 Continue указывает, что пока все в порядке и клиент должен продолжить запрос или проигнорировать его, если он уже завершен.
Чтобы сервер проверил заголовки запроса, клиент должен отправить Expect: 100-continue в качестве заголовка в своем первоначальном запросе и получить код статуса 100 Continue в ответе перед отправкой тела.
101
101 Switching Protocols
Протоколы переключения
Код ответа HTTP 101 Switching Protocols указывает протокол, на который переключается сервер. Протокол указывается в заголовке запроса Upgrade, полученном от клиента.
Сервер включает в этот ответ заголовок ответа Upgrade, чтобы указать протокол, на который он переключился.
102
102 Processing
Обработка
Устарело: этот код состояния устарел. При использовании клиенты все равно могут его принять, но просто игнорировать.
Информационный код ответа о состоянии HTTP 102 Processing указывает клиенту, что полный запрос получен и сервер работает над ним.
Этот код состояния отправляется только в том случае, если сервер ожидает, что запрос займет значительное время. Он сообщает клиенту, что ваш запрос еще не мертв.
103
103 Early Hints
Ранние Намеки
Экспериментальная: Это экспериментальная технология. Внимательно проверьте таблицу совместимости браузеров перед использованием ее в производстве.
Ответ HTTP 103 Early Hints может быть отправлен сервером, пока он еще готовит ответ, с подсказками о ресурсах, которые, как ожидает сервер, будут связаны с окончательным ответом.
Это позволяет браузеру начать предварительную загрузку ресурсов еще до того, как сервер подготовит и отправит этот окончательный ответ.
Ответ early hint в первую очередь предназначен для использования с заголовком Link, который указывает ресурсы для загрузки.
Он также может содержать заголовок Content-Security-Policy, который применяется при обработке early hint.
Сервер может отправлять несколько ответов 103, например, после перенаправления. Браузеры обрабатывают только первый ответ early hint, и этот ответ должен быть отклонен, если запрос приводит к перенаправлению между источниками. Предварительно загруженные ресурсы из ранней подсказки фактически добавляются к заголовку документа, а затем за ними следуют ресурсы, загруженные в окончательном ответе.
200
200 OK
OK
Код ответа об успешном статусе HTTP 200 OK указывает на то, что запрос выполнен успешно. Ответ 200 по умолчанию кэшируется.
Значение успеха зависит от метода HTTP-запроса:
GET: Ресурс был извлечен и передан в теле сообщения.
HEAD: Заголовки представления включаются в ответ без тела сообщения.
POST: Ресурс, описывающий результат действия, передается в теле сообщения.
TRACE: Тело сообщения содержит сообщение запроса, полученное сервером.
Успешный результат PUT или DELETE часто не 200 OK, а 204 No Content (или 201 Created, когда ресурс загружается в первый раз).
201
201 Created
Создано
Код ответа об успешном статусе HTTP 201 Created указывает, что запрос выполнен успешно и привел к созданию ресурса.
Новый ресурс или описание и ссылка на новый ресурс фактически создаются до того, как ответ будет отправлен обратно, а вновь созданные элементы возвращаются в теле сообщения, расположенном либо по URL-адресу запроса, либо по URL-адресу в значении заголовка Location.
Обычный вариант использования этого кода статуса — результат запроса POST.
202
202 Accepted
Принято
Код статуса ответа HTTP 202 Accepted указывает, что запрос принят для обработки, но обработка не завершена; фактически обработка могла еще не начаться.
Запрос может быть обработан или нет, так как он может быть отклонен, когда обработка фактически будет иметь место.
202 не является обязательным, то есть у HTTP нет возможности позже отправить асинхронный ответ, указывающий результат обработки запроса. Он предназначен для случаев, когда другой процесс или сервер обрабатывает запрос, или для пакетной обработки.
203
203 Non-Authoritative Information
Неавторитетная информация
Статус ответа HTTP 203 Non-Authoritative Information указывает на то, что запрос был успешным, но вложенная полезная нагрузка была изменена преобразующим прокси-сервером из ответа 200 OK исходного сервера.
Ответ 203 аналогичен значению 214, означающему Применено преобразование, кода заголовка Warning, который имеет дополнительное преимущество, поскольку применим к ответам с любым кодом состояния.
204
204 No Content
Нет контента
Код ответа об успешном статусе HTTP 204 No Content указывает, что запрос выполнен успешно, но клиенту не нужно покидать текущую страницу.
Это может использоваться, например, при реализации функции «сохранить и продолжить редактирование» для сайта вики. В этом случае запрос PUT будет использоваться для сохранения страницы, а ответ 204 No Content будет отправлен, чтобы указать, что редактор не должен быть заменен какой-либо другой страницей.
Ответ 204 по умолчанию кэшируется (заголовок ETag включен в такой ответ).
205
205 Reset Content
Сброс содержимого
Состояние ответа HTTP 205 Reset Content сообщает клиенту о необходимости сбросить вид документа (т. е. очистить содержимое формы, сбросить состояние холста или пользовательский интерфейс).
206
206 Partial Content
Частичное содержимое
Код ответа HTTP 206 Partial Content успешного статуса указывает, что запрос выполнен успешно, и тело содержит запрошенные диапазоны данных, как описано в заголовке Range запроса.
Если есть только один диапазон, Content-Type всего ответа устанавливается на тип документа, и предоставляется Content-Range.
Если возвращается несколько диапазонов, Content-Type устанавливается на multipart/byteranges, и каждый фрагмент охватывает один диапазон, а Content-Range и Content-Type описывают его.
207
207 Multi-Status
Мультистатус
Код ответа HTTP 207 Multi-Status указывает на то, что может быть смесь ответов.
Тело ответа представляет собой HTTP-сущность text/xml или application/xml с корневым элементом multistatus. Тело XML перечислит все отдельные коды ответов.
Примечание: возможность возвращать коллекцию ресурсов является частью протокола WebDAV (ее могут получать веб-приложения, обращающиеся к серверу WebDAV). Браузеры, обращающиеся к веб-страницам, никогда не столкнутся с этим кодом статуса.
208
208 Already Reported
Уже сообщено
Статус ответа HTTP 208 Already Reported используется в ответе 207 Multi-Status для экономии места и избежания конфликтов. Если один и тот же ресурс запрашивается несколько раз (например, как часть коллекции) с разными путями, только первый из них будет сообщен с кодом 200. Ответы для всех других привязок будут сообщаться с этим кодом статуса 208, поэтому конфликты не создаются, и ответ остается короче.
Примечание: возможность привязывать ресурс к нескольким путям является расширением протокола WebDAV (его могут получать веб-приложения, обращающиеся к серверу WebDAV). Браузеры, обращающиеся к веб-страницам, никогда не столкнутся с этим кодом статуса.
214
214 Transformation Applied
Применено преобразование
Устарело: код состояния HTTP 214 Transformation Applied и заголовок HTTP Warning устарели.
HTTP 214 Transformation Applied — это неофициальный код состояния, используемый в сочетании с заголовком HTTP Warning и включаемый в сообщения HTTP-ответа для указания того, что к представлению было применено преобразование.
Этот код состояния и заголовок Warning ДОЛЖНЫ быть добавлены прокси-сервером, если он применяет какое-либо преобразование к представлению, например, изменение кодировки содержимого, типа носителя или изменение данных представления, если только заголовок Warning уже не появляется в ответе.
226
226 IM Used
IM Использовано
Состояние ответа HTTP 226 IM Used в контексте дельта-кодирования — это код состояния, устанавливаемый сервером для указания того, что он возвращает дельту на полученный им запрос GET. IM означает Instance Manipulations (манипуляции с экземплярами), термин, используемый для описания алгоритма, генерирующего дельту.
При дельта-кодировании сервер отвечает на запросы GET с различиями (называемыми дельтами) относительно заданного базового документа (а не текущего документа). Клиент использует HTTP-заголовок A-IM: для указания того, какой алгоритм дифференциации использовать, и заголовок If-None-Match: для указания серверу последней полученной версии. Сервер генерирует дельту, отправляя ее обратно в HTTP-ответе с кодом состояния 226 и содержащим HTTP-заголовки IM: (с именем используемого алгоритма) и Delta-Base: (с ETag, соответствующим базовому документу, связанному с дельтой).
Примечание: браузеры не поддерживают дельта-кодирование с HTTP. Этот код статуса отправляется обратно пользовательскими серверами, используемыми определенными клиентами.
300
300 Multiple Choices
Множественный выбор
Код ответа статуса перенаправления HTTP 300 Multiple Choices указывает, что запрос имеет более одного возможного ответа.
Пользовательский агент или пользователь должны выбрать один из них.
Поскольку стандартизированного способа выбора одного из ответов не существует, этот код ответа используется очень редко.
Если у сервера есть предпочтительный выбор, он должен сгенерировать заголовок Location.
301
301 Moved Permanently
Перемещено навсегда
Код ответа статуса перенаправления HTTP 301 Moved Permanently указывает, что запрошенный ресурс был окончательно перемещен на URL, указанный в заголовках Location. Браузер перенаправляется на новый URL, а поисковые системы обновляют свои ссылки на ресурс.
Примечание: хотя спецификация требует, чтобы метод и тело оставались неизменными при выполнении перенаправления, не все пользовательские агенты соответствуют этому требованию. Используйте код 301 только в качестве ответа для методов GET или HEAD и используйте вместо этого код 308 Permanent Redirect для методов POST, поскольку изменение метода явно запрещено с этим статусом.
302
302 Found
Найдено
Код ответа о статусе перенаправления HTTP 302 Found указывает, что запрошенный ресурс временно перемещен на URL, указанный в заголовке Location. Браузер перенаправляется на эту страницу, но поисковые системы не обновляют свои ссылки на ресурс (на языке SEO говорят, что «ссылочный сок» не отправляется на новый URL).
Даже если спецификация требует, чтобы метод (и тело) не изменялись при выполнении перенаправления, не все пользовательские агенты соответствуют этому — вы все еще можете найти этот тип программного обеспечения с ошибками. Поэтому рекомендуется устанавливать код 302 только в качестве ответа для методов GET или HEAD и использовать вместо него 307 Temporary Redirect, поскольку изменение метода в этом случае явно запрещено.
В случаях, когда вы хотите, чтобы используемый метод был изменен на GET, используйте вместо этого 303 See Other. Это полезно, когда вы хотите дать ответ на метод PUT, который не является загруженным ресурсом, а сообщением с подтверждением, например: «Вы успешно загрузили XYZ».
303
303 See Other
См. Другое
Код ответа о статусе перенаправления HTTP 303 See Other указывает, что перенаправления ведут не к самому запрошенному ресурсу, а к другой странице (например, странице подтверждения, представлению реального объекта или странице хода загрузки).
Этот код ответа часто отправляется обратно в результате PUT или POST.
Метод, используемый для отображения этой перенаправленной страницы, всегда GET.
304
304 Not Modified
Не изменено
Код ответа перенаправления клиента HTTP 304 Not Modified указывает, что нет необходимости повторно передавать запрошенные ресурсы. Это неявное перенаправление на кэшированный ресурс. Это происходит, когда метод запроса является безопасным методом, таким как GET или HEAD, или когда запрос является условным и использует заголовок If-None-Match или If-Modified-Since.
Ответ не должен содержать тело и должен включать заголовки, которые были бы отправлены в эквивалентном ответе 200 OK: Cache-Control, Content-Location, Date, ETag, Expires и Vary.
Примечание: сетевые панели многих инструментов разработчика в браузерах создают посторонние запросы, приводящие к ответам 304, поэтому доступ к локальному кэшу виден разработчикам.
305
305 Use Proxy
Использовать Proxy
Устарело: код статуса HTTP 305 Use Proxy устарел из-за проблем безопасности, и многие HTTP-клиенты игнорируют этот код статуса.
Код статуса ответа HTTP 305 Use Proxy — это устаревший код статуса HTTP, возвращаемый исходным сервером для указания того, что запрошенный ресурс может быть получен только через прокси-сервер.
Код статуса 305 Use Proxy используется для информирования клиента о том, что запрошенный ресурс должен быть получен через прокси-сервер, и включает этот адрес прокси в заголовок HTTP Set-Proxy или в заголовок HTTP Location.
307
307 Temporary Redirect
Временное перенаправление
HTTP 307 Temporary Redirect код ответа статуса перенаправления указывает, что запрошенный ресурс был временно перемещен на URL, указанный в заголовках Location.
Метод и тело исходного запроса повторно используются для выполнения перенаправленного запроса. В случаях, когда вы хотите, чтобы используемый метод был изменен на GET, используйте вместо этого 303 See Other. Это полезно, когда вы хотите дать ответ на метод PUT, который не является загруженными ресурсами, а сообщением подтверждения (например, «Вы успешно загрузили XYZ»).
Единственное различие между 307 и 302 заключается в том, что 307 гарантирует, что метод и тело не будут изменены при выполнении перенаправленного запроса. При использовании 302 некоторые старые клиенты неправильно изменяли метод на GET: поведение с не-GET методами и 302 затем непредсказуемо в Интернете, тогда как поведение с 307 предсказуемо. Для GET-запросов их поведение идентично.
308
308 Permanent Redirect
Постоянное перенаправление
Код ответа о статусе перенаправления HTTP 308 Permanent Redirect указывает, что запрошенный ресурс был окончательно перемещен на URL, указанный в заголовках Location. Браузер перенаправляется на эту страницу, а поисковые системы обновляют свои ссылки на ресурс (на языке SEO это означает, что «link-juice» отправляется на новый URL).
Метод запроса и тело не будут изменены, тогда как 301 иногда может быть неправильно изменен на метод GET.
Примечание: некоторые веб-приложения могут использовать 308 Permanent Redirect нестандартным образом и для других целей. Например, Google Drive использует ответ 308 Resume Incomplete, чтобы указать клиенту, когда неполная загрузка остановилась.
400
400 Bad Request
Неверный запрос
Код статуса ответа HTTP 400 Bad Request указывает на то, что сервер не может или не будет обрабатывать запрос из-за чего-то, что воспринимается как ошибка клиента (например, неверный синтаксис запроса, неверный кадр сообщения запроса или обманчивая маршрутизация запроса).
Предупреждение: клиент не должен повторять этот запрос без изменений.