Error 204 это

"The HTTP 204 No Content" код ответа статуса успеха указывает, что запрос имеет успех, но что клиенту не нужно уходить со своей текущей страницы. По умолчанию ответ 204 кешируется. В такой ответ включён ETag.

«The HTTP 204 No Content" код ответа статуса успеха указывает, что запрос имеет успех, но что клиенту не нужно уходить со своей текущей страницы. По умолчанию ответ 204 кешируется. В такой ответ включён ETag.

Общим вариантом использования является возвращение 204 в результате запроса PUT, обновления ресурса, без изменения текущего содержимого страницы, отображаемой пользователю. Если ресурс создан, вместо него возвращается 201 Created. Если страница должна быть изменена на вновь обновлённую страницу, вместо неё следует использовать 200.

Статус

Характеристики

Спецификации Название
RFC 7231, секция 6.3.5: 204 No Content Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content

Совместимость с браузером

BCD tables only load in the browser

Примечания совместимости

  • Хотя этот статус код предназначен для описания ответа без тела, серверы могут ошибочно включать данные, следующие за заголовками. Протокол позволяет идентификаторам браузера изменять способ обработки таких ответов (обсуждение этого текста спецификации можно найти здесь). Это наблюдается в постоянных соединениях, где невалидное тело запроса может содержать отдельный ответ на последующий запрос.
    Apple Safari отклоняет любые такие данные. Google Chrome и Microsoft Edge отбрасывают до 4 невалидных байт, предшествующих правильному ответу.

Смотрите также

Error: Ошибка 204 — Когда вы щелкаете ссылку, у которой нет целевого URL, этот ответ выдается запрошенным сервером. Он молчит и ни о чем не предупреждает пользователя.

В этой статье представлен номер ошибки Ошибка 204, широко известный как Нет содержимого, описанный как Когда вы щелкаете ссылку, у которой нет целевого URL, этот ответ выдается запрошенным сервером. Он молчит и ни о чем не предупреждает пользователя.

О кодах состояния

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

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

Определения (Бета)

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

  • Щелчок . В пользовательских интерфейсах щелчок означает нажатие кнопки мыши или аналогичного устройства ввода.
  • Ответ — A ответ — это общий термин для сообщения, которое отправляется в качестве ответа на ранее сделанный запрос.
  • Сервер . Сервер — это работающий экземпляр программного приложения, способный принимать запросы от клиент и дает соответствующие ответы.
  • Target . В make-файле цели связаны с серией команд, выполняемых при запросе действия.
  • URL — унифицированный указатель ресурса URL, представляет собой универсальный идентификатор в Интернете.
  • Ссылка — гиперссылка — это ссылка на документ или раздел, который можно проследить за поиском с помощью системы навигации, которая позволяет выбирать подчеркнутый контент в исходном документе.

Симптомы Ошибка 204 — Нет содержимого

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

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

200 — OK

201 — Создано

202 — Принято

203 — Неавторитетная информация

204 — Нет содержимого

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

206 — Частичное содержание

Fix Нет содержимого (Error Ошибка 204)
(Только для примера)

Причины Нет содержимого — Ошибка 204

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

Методы устранения

Для определенных кодов веб-ошибок существуют конкретные шаги по устранению неполадок. Однако существуют и обобщенные методы устранения, которые пользователи могут применять при возникновении подобных ошибок.

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

Обратите внимание: ни ErrorVault.com, ни его авторы не несут ответственности за результаты действий, предпринятых при использовании любого из методов ремонта, перечисленных на этой странице — вы выполняете эти шаги на свой страх и риск.

Метод 1 — Очистить кеш браузера

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

  • В Google Chrome
    • Откройте Chrome и нажмите три точки в правом верхнем углу браузера.
    • Нажмите Дополнительные инструменты , а затем нажмите Очистить данные просмотра .
    • Вы можете удалить все или только определенный период просмотра.
    • Установите флажки рядом с файлами cookie и другими данными сайта и кэшированными изображениями и файлами .
    • Наконец, нажмите Очистить данные .
  • На краю
    • Нажмите … это крайняя правая кнопка под кнопкой закрытия.
    • Прокрутите вниз и нажмите «Настройки».
    • Найдите пункт «Очистить данные просмотра» и нажмите кнопку «Выбрать, что очистить».
    • Это даст вам возможность выбрать, какой тип данных вы хотите очистить, просто поставьте галочку на тех элементах, которые хотите включить, затем нажмите «Очистить».
  • В Mozilla
    • Перейдите в меню «История» и выберите «Очистить недавнюю историю».
    • Вы можете нажать кнопку Alt, если строка меню скрыта.
    • Вы увидите раскрывающееся меню, в котором вы можете выбрать период или диапазон, который хотите удалить, и щелкните свой выбор.
    • Вы можете нажать «Подробности», чтобы выбрать, что нужно очистить, будь то весь кеш или другие элементы.
    • После выбора нажмите «Очистить сейчас» и перезагрузите браузер, чтобы изменения вступили в силу.

Метод 2 — Проверить журналы

  • Если вы хотите проверить файлы журналов, вы можете сделать это, сначала убедившись, что вы вошли на компьютер веб-сервера как администратор.
  • Нажмите «Пуск», затем «Настройка», затем нажмите «Панель управления».
  • Откройте Инструменты администратора и дважды щелкните Диспетчер служб Интернета.
  • Выберите веб-сайт из списка различных обслуживаемых сайтов.
  • Щелкните веб-сайт правой кнопкой мыши и затем наведите указатель мыши на «Свойства».
  • Выберите вкладку «Веб-сайт» и нажмите «Свойства». На нем вы увидите вкладку Общие свойства. Внизу окна вы можете увидеть расположение сгенерированных файлов журнала.
  • Открывайте файлы журналов с помощью WordPad, любого средства просмотра текстовых файлов или Microsoft Word.
  • Здесь вы сможете проанализировать, где возникли ошибки при доступе к серверу.

Метод 3 — Проверить запрошенный URL

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

Метод 4 — Удалить последние обновления

Для Windows 7

  • Найдите обновления Windows в строке поиска.
  • Нажмите «Ввод», когда он появится в результатах поиска.
  • Проверьте последние обновления и нажмите Удалить обновления в те дни, когда возникла ошибка.

Для Windows 8 и Windows 10

  • Нажмите одновременно кнопку окна и букву X, чтобы открыть настройки.
  • Когда вы перейдете к настройкам Windows, нажмите «Обновление и безопасность».
  • Нажмите «Просмотреть историю установленных обновлений», а затем «Удалить обновления».

Метод 5 — Удалить расширения

  • Иногда дополнительные расширения могут выдавать коды веб-ошибок.
  • Удалите недавно установленные расширения, зайдя в настройки браузера и нажав «Дополнительные инструменты».
  • Вы увидите расширения, которые не были установлены в вашем браузере, выберите последнее дополнение, которое, как вы подозреваете, вызвало возникшую у вас проблему.

Метод 6 — Проверить конфигурацию сервера

  • Устранением неполадок обычно занимается администратор сайта. Если это вы, то вам необходимо иметь представление о конфигурации веб-сервера.
  • Вы можете проверить, на каком веб-сервере работает ваш сайт, с помощью средств проверки URL или домена. Вам просто нужно ввести адрес сайта и проанализировать результаты, которые вы получите.
  • Вы также можете проверить неработающие ссылки, щелкнув веб-страницу правой кнопкой мыши и выбрав «Проверить». Это должно дать вам код сайта справа. Вы можете проверить каждый якорный текст и убедиться, что связанные с ними ссылки все еще активны.

Метод 7 — Другие техники

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

Другие языки:

How to fix Error 204 (No Content) — When you click a link which has no target URL, this response is elicited by the requested server. It’s silent and doesn’t warn the user about anything.
Wie beheben Fehler 204 (Nein Inhalt) — Wenn Sie auf einen Link klicken, der keine Ziel-URL hat, wird diese Antwort vom angeforderten Server ausgelöst. Es ist leise und warnt den Benutzer vor nichts.
Come fissare Errore 204 (Nessun contenuto) — Quando fai clic su un collegamento che non ha un URL di destinazione, questa risposta viene suscitata dal server richiesto. È silenzioso e non avvisa l’utente di nulla.
Hoe maak je Fout 204 (Nee Inhoud) — Wanneer u op een link klikt die geen doel-URL heeft, wordt deze reactie uitgelokt door de gevraagde server. Het is stil en waarschuwt de gebruiker nergens voor.
Comment réparer Erreur 204 (Aucun contenu) — Lorsque vous cliquez sur un lien qui n’a pas d’URL cible, cette réponse est suscitée par le serveur demandé. Il est silencieux et n’avertit l’utilisateur de rien.
어떻게 고치는 지 오류 204 (콘텐츠 없음) — 대상 URL이 없는 링크를 클릭하면 요청한 서버에서 이 응답을 가져옵니다. 그것은 조용하고 사용자에게 아무 것도 경고하지 않습니다.
Como corrigir o Erro 204 (Sem Conteúdo) — Quando você clica em um link que não tem URL de destino, essa resposta é obtida pelo servidor solicitado. É silencioso e não avisa o usuário sobre nada.
Hur man åtgärdar Fel 204 (Inget innehåll) — När du klickar på en länk som inte har någon mål -URL, framkallas detta svar av den begärda servern. Det är tyst och varnar inte användaren för någonting.
Jak naprawić Błąd 204 (Brak treści) — Po kliknięciu łącza, które nie ma docelowego adresu URL, ta odpowiedź jest wywoływana przez żądany serwer. Jest cichy i nie ostrzega użytkownika o niczym.
Cómo arreglar Error 204 (Sin contenido) — Cuando hace clic en un enlace que no tiene una URL de destino, el servidor solicitado obtiene esta respuesta. Es silencioso y no advierte al usuario sobre nada.

The Author Об авторе: Фил Харт является участником сообщества Microsoft с 2010 года. С текущим количеством баллов более 100 000 он внес более 3000 ответов на форумах Microsoft Support и создал почти 200 новых справочных статей в Technet Wiki.

Следуйте за нами: Facebook Youtube Twitter

Последнее обновление:

19/07/22 02:31 : Пользователь Windows 10 проголосовал за то, что метод восстановления 7 работает для него.

Рекомендуемый инструмент для ремонта:

Этот инструмент восстановления может устранить такие распространенные проблемы компьютера, как синие экраны, сбои и замораживание, отсутствующие DLL-файлы, а также устранить повреждения от вредоносных программ/вирусов и многое другое путем замены поврежденных и отсутствующих системных файлов.

ШАГ 1:

Нажмите здесь, чтобы скачать и установите средство восстановления Windows.

ШАГ 2:

Нажмите на Start Scan и позвольте ему проанализировать ваше устройство.

ШАГ 3:

Нажмите на Repair All, чтобы устранить все обнаруженные проблемы.

СКАЧАТЬ СЕЙЧАС

Совместимость

Требования

1 Ghz CPU, 512 MB RAM, 40 GB HDD
Эта загрузка предлагает неограниченное бесплатное сканирование ПК с Windows. Полное восстановление системы начинается от $19,95.

ID статьи: ACX01626RU

Применяется к: Windows 10, Windows 8.1, Windows 7, Windows Vista, Windows XP, Windows 2000

Совет по увеличению скорости #32

Программы быстрого копирования для использования:

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

Нажмите здесь, чтобы узнать о другом способе ускорения работы ПК под управлением Windows


Ошибки в алфавитном порядке:  A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Логотипы Microsoft и Windows® являются зарегистрированными торговыми марками Microsoft. Отказ от ответственности: ErrorVault.com не связан с Microsoft и не заявляет о такой связи. Эта страница может содержать определения из https://stackoverflow.com/tags по лицензии CC-BY-SA. Информация на этой странице представлена исключительно в информационных целях. © Copyright 2018

Содержание

  1. Как исправить код веб-ошибки Ошибка 204 Нет содержимого
  2. Как исправить ошибку HTTP 204 (No Content)
  3. Распространенные проблемы No Content
  4. No Content Истоки проблем
  5. Коды ответа HTTP

Как исправить код веб-ошибки Ошибка 204 Нет содержимого

В этой статье представлен номер ошибки Ошибка 204, широко известный как Нет содержимого, описанный как Когда вы щелкаете ссылку, у которой нет целевого URL, этот ответ выдается запрошенным сервером. Он молчит и ни о чем не предупреждает пользователя.

Информация об ошибке

Имя ошибки: Нет содержимого
Номер ошибки: Ошибка 204
Применимо к: Windows 10, 8, 7, Vista, XP
Описание: Когда вы щелкаете ссылку, у которой нет целевого URL, этот ответ выдается запрошенным сервером. Он молчит и ни о чем не предупреждает пользователя.

Это средство исправления может устранить такие распространенные компьютерные ошибки, как BSODs, замораживание системы и сбои. Он может заменить отсутствующие файлы операционной системы и библиотеки DLL, удалить вредоносное ПО и устранить вызванные им повреждения, а также оптимизировать ваш компьютер для максимальной производительности.

О кодах состояния

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

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

Определения (Бета)

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

  • Щелчок . В пользовательских интерфейсах щелчок означает нажатие кнопки мыши или аналогичного устройства ввода.
  • Ответ — A ответ — это общий термин для сообщения, которое отправляется в качестве ответа на ранее сделанный запрос.
  • Сервер . Сервер — это работающий экземпляр программного приложения, способный принимать запросы от клиент и дает соответствующие ответы.
  • Target . В make-файле цели связаны с серией команд, выполняемых при запросе действия.
  • URL — унифицированный указатель ресурса URL, представляет собой универсальный идентификатор в Интернете.
  • Ссылка — гиперссылка — это ссылка на документ или раздел, который можно проследить за поиском с помощью системы навигации, которая позволяет выбирать подчеркнутый контент в исходном документе.
Симптомы Ошибка 204 — Нет содержимого

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

2xx: Успех
Этот статусный ответ означает, что запрошенное действие было получено, понято и принято. Однако вместо фактического запрошенного элемента возвращается отчет о состоянии, который является измененной версией ответа источника или что в ответ не было отправлено никакого содержимого. Другими словами, пользователи сталкиваются с медленным ответом или его отсутствием. Вот полученные сообщения:
200 — OK
201 — Создано
202 — Принято
203 — Неавторитетная информация
204 — Нет содержимого
205 — Сброс содержимого
206 — Частичное содержание


(Только для примера)

Причины Нет содержимого — Ошибка 204

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

Методы устранения

Для определенных кодов веб-ошибок существуют конкретные шаги по устранению неполадок. Однако существуют и обобщенные методы устранения, которые пользователи могут применять при возникновении подобных ошибок.

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

Источник

Как исправить ошибку HTTP 204 (No Content)

Номер ошибки: Ошибка HTTP 204
Название ошибки: No Content
Описание ошибки: When you click a link which has no target URL, this response is elicited by the requested server. It’s silent and doesn’t warn the user about anything.
Разработчик: Microsoft Corporation
Программное обеспечение: Windows Operating System
Относится к: Windows XP, Vista, 7, 8, 10, 11

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

Распространенные проблемы No Content

Распространенные проблемы, связанные с Edge s, возникающие с No Content:

  • «Ошибка: No Content. «
  • «Отсутствует файл No Content.»
  • «Отсутствует файл No Content.»
  • «Не удалось загрузить модуль No Content. «
  • «Не удалось зарегистрироваться: No Content. «
  • «Ошибка выполнения: No Content.»
  • «No Content не может загрузиться. «

Проблемы Edge No Content возникают при установке, во время работы программного обеспечения, связанного с No Content, во время завершения работы или запуска или менее вероятно во время обновления операционной системы. Отмечание ошибок No Content с Edge имеет решающее значение для обнаружения неисправностей электронной Edge и ретрансляции обратно в Microsoft Corporation для параметров восстановления.

No Content Истоки проблем

Проблемы Edge и No Content возникают из отсутствующих или поврежденных файлов, недействительных записей реестра Windows и вредоносных инфекций.

Точнее, ошибка No Content, вызванная:

  • Поврежденная или недопустимая запись реестра No Content.
  • Вирус или вредоносное ПО поврежден No Content.
  • No Content ошибочно удален или злонамеренно программным обеспечением, не связанным с приложением Edge .
  • No Content конфликтует с другой программой (общим файлом).
  • Загрузите повреждение или неполную установку программы, связанной с No Content.

Совместима с Windows 2000, XP, Vista, 7, 8, 10 и 11

Источник

Коды ответа HTTP

Код ответа (состояния) HTTP показывает, был ли успешно выполнен определённый HTTP запрос. Коды сгруппированы в 5 классов:

  1. Информационные 100 — 199
  2. Успешные 200 — 299
  3. Перенаправления 300 — 399
  4. Клиентские ошибки 400 — 499
  5. Серверные ошибки 500 — 599

Коды состояния определены в 10-ой секции RFC 2616. Обновленную спецификацию можно найти в RFC 7231 .

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

Следующая таблица содержит список всех кодов и их значения:

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

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

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

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

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

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

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

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

Источник

Adblock
detector

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

  • GET: «ПОЛУЧИТЬ». Запрошенный ресурс был найден и передан в теле ответа.
  • HEAD: «ЗАГОЛОВОК». Заголовки переданы в ответе.
  • POST: «ПОСЫЛКА». Ресурс, описывающий результат действия сервера на запрос, передан в теле ответа.
  • TRACE: «ОТСЛЕЖИВАТЬ». Тело ответа содержит тело запроса полученного сервером.
HTTP/0.9 и выше
201 Created «Создано». Запрос успешно выполнен и в результате был создан ресурс. Этот код обычно присылается в ответ на запрос PUT «ПОМЕСТИТЬ». HTTP/0.9 и выше
202 Accepted «Принято». Запрос принят, но ещё не обработан. Не поддерживаемо, т.е., нет способа с помощью HTTP отправить асинхронный ответ позже, который будет показывать итог обработки запроса. Это предназначено для случаев, когда запрос обрабатывается другим процессом или сервером, либо для пакетной обработки. HTTP/0.9 и выше
203 Non-Authoritative Information «Информация не авторитетна». Этот код ответа означает, что информация, которая возвращена, была предоставлена не от исходного сервера, а из какого-нибудь другого источника. Во всех остальных ситуациях более предпочтителен код ответа 200 OK. HTTP/0.9 и 1.1
204 No Content «Нет содержимого». Нет содержимого для ответа на запрос, но заголовки ответа, которые могут быть полезны, присылаются. Клиент может использовать их для обновления кешированных заголовков полученных ранее для этого ресурса. HTTP/0.9 и выше
205 Reset Content «Сбросить содержимое». Этот код присылается, когда запрос обработан, чтобы сообщить клиенту, что необходимо сбросить отображение документа, который прислал этот запрос. Только HTTP/1.1
206 Partial Content «Частичное содержимое». Этот код ответа используется, когда клиент присылает заголовок диапазона, чтобы выполнить загрузку отдельно, в несколько потоков. Только HTTP/1.1
Сообщения о перенаправлениях
300 Multiple Choice HTTP/1.0 и выше
301 Moved Permanently HTTP/0.9 и выше
303 See Other «Просмотр других ресурсов». Этот код ответа присылается, чтобы направлять клиента для получения запрашиваемого ресурса в другой URI с запросом GET. HTTP/0.9 и 1.1
304 Not Modified «Не модифицировано». Используется для кеширования. Это код ответа значит, что запрошенный ресурс не был изменён. Таким образом, клиент может продолжать использовать кешированную версию ответа. HTTP/0.9 и выше
305 Use Proxy «Использовать прокси». Это означает, что запрошенный ресурс должен быть доступен через прокси. Этот код ответа в основном не поддерживается из соображений безопасности. Только HTTP/1.1
306 Switch Proxy Больше не использовать. Изначально подразумевалось, что » последующие запросы должны использовать указанный прокси.» Только HTTP/1.1
307 Temporary Redirect «Временное перенаправление». Сервер отправил этот ответ, чтобы клиент получил запрошенный ресурс на другой URL-адрес с тем же методом, который использовал предыдущий запрос. Данный код имеет ту же семантику, что код ответа 302 Found , за исключением того, что агент пользователя не должен изменять используемый метод HTTP: если в первом запросе использовался POST , то во втором запросе также должен использоваться POST . Только HTTP/1.1
308 Permanent Redirect draft-reschke-http-status-308
Клиентские
400 Bad Request «Плохой запрос». Этот ответ означает, что сервер не понимает запрос из-за неверного синтаксиса. HTTP/0.9 и выше
401 Unauthorized «Неавторизованно». Для получения запрашиваемого ответа нужна аутентификация. Статус похож на статус 403, но,в этом случае, аутентификация возможна. HTTP/0.9 и выше
402 Payment Required «Необходима оплата». Этот код ответа зарезервирован для будущего использования. Первоначальная цель для создания этого кода была в использовании его для цифровых платёжных систем(на данный момент не используется). HTTP/0.9 и 1.1
403 Forbidden «Запрещено». У клиента нет прав доступа к содержимому, поэтому сервер отказывается дать надлежащий ответ. HTTP/0.9 и выше
404 Not Found «Не найден». Сервер не может найти запрашиваемый ресурс. Код этого ответа, наверно, самый известный из-за частоты его появления в вебе. HTTP/0.9 и выше
405 Method Not Allowed «Метод не разрешён». Сервер знает о запрашиваемом методе, но он был деактивирован и не может быть использован. Два обязательных метода, GET и HEAD , никогда не должны быть деактивированы и не должны возвращать этот код ошибки. Только HTTP/1.1
406 Not Acceptable

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

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

BNAME.RU » Код HTTP запроса 204 No Content

Что означает код 204 No Content?

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

Отправляю запрос на сервер и в обработчике получаю данные из бд через sequelize
вот код фрагмента:

const products = {
   getAll: async () => {
     let goods = await Product.findAll({raw:true})     
      .catch(err => console.log(`DataBase Error ${err}`))

    console.log(`goods`);
    console.log(goods);

    return goods;
  },

В консоле вывыдит следующее:

spoiler

[nodemon] restarting due to changes...
[nodemon] starting `node --use-strict ./src/app.js`
Server listen on localhost:80
Executing (default): SELECT 1+1 AS result
Executing (default): SELECT "id", "title", "description", "price", "pathImage" FROM "products" AS "product";
  app:db Connection has been established successfully. +0ms
goods
[
  {
    id: 1,
    title: 'newItem',
    description: 'testItem',
    price: 100,
    pathImage: null
  }
]

При запросе браузер в консоль выводит следуюющее:

res = 
appServiceData.js:10 {data: "", status: 204, statusText: "No Content", headers: {…}, config: {…}, …}
appServiceData.js:11 res.data =

????????????????????

Клиентский код:

spoiler

class AppServiceData {

  async getResourse(url) {
    const res = await axios.get(url);
    console.log('res = ');
    console.log(res);
    console.log('res.data = ');
    console.log(res.data);
    return res.data;
  };

  async getProducts() {
    let res =  await this.getResourse('http://localhost/api/products');
    return res;
  };
};

Но если в return явно отправить какой-нибудь объект то все нормално

spoiler

res = 
appServiceData.js:10 {data: "goods", status: 200, statusText: "OK", headers: {…}, config: {…}, …}
appServiceData.js:11 res.data = 
appServiceData.js:12 goods

В чем может быть причина, почему no Content?

Edit:

Код сервера:

const path = require('path');
const Koa = require('koa');
const serve = require('koa-static');
const err = require('./middleware/error');
const router = require('./middleware/api/routes');
const debug = require('debug')('app');
const send = require('koa-send');

const staticDir = path.resolve(__dirname, '..', '..', 'public');
const app = new Koa();

app.use(err);
app.use(serve(staticDir));
app.use(router.routes());
app.use(router.allowedMethods());
app.use(async ctx => await send(ctx, 'index.html', { root: staticDir }));

app.listen(3000, () => {
  console.log('Server listen on localhost:80');
});

Роутер:

const router = new Router();
const koaBody = convert(KoaBody());

  //**products endpoints */
  .post('/api/products', async ctx => {
    ctx.body = await products.addProduct();
  })
  .get('/api/products', async ctx => {
     ctx.body = await products.getAll();  
  })

Привет, читатель блога ZametkiNaPolyah.ru! Продолжим знакомиться с протоколом HTTP в рубрике серверы и протоколы и ее разделе HTTP протокол. В этой записи мы с тобой рассмотрим успешные коды состояния HTTP сервера, которые, как ты понимаешь, начинаются с двойки. Для начала мы посмотрим на список успешных кодов состояния и дадим и короткое пояснение, а затем мы посмотрим на то, как успешные коды состояния связаны с методами HTTP запроса. В конце этой публикации мы более подробно поговорим про каждый из успешных кодов состояния.

Успешные коды состояния HTTP сервера: 200, 201, 202, 203, 204, 205, 206

Успешные коды состояния HTTP сервера: 200, 201, 202, 203, 204, 205, 206

Общее описание успешных кодов состояния HTTP сервера

Содержание статьи:

  • Общее описание успешных кодов состояния HTTP сервера
  • HTTP код состояния 200 (успешно). HTTP код состояния 201 (создано). HTTP код состояния 202 (принято)
  • HTTP код состояния 203 (не авторская информация). HTTP код состояния 204 (нет содержимого). HTTP код состояния 205 (сбросить содержимое). HTTP код состояния 206  (частичное содержимое)

Если вы хотите узнать всё про протокол HTTP, обратитесь к навигации по рубрике HTTP протокол.  Успешные коды состояния HTTP сервера говорят клиенту о том, что его запрос успешно получен, понят, принят и обработан. Успешные коды состояния HTTP сервера всегда начинаются с двойки, давайте сведем в одну таблицу все успешные HTTP коды, как мы это делали для информационных кодов.

Успешный код состояния Описание успешного кода состояния HTTP севера
200 OK Успешный код состояния HTTP сервера 200: хорошо
Код состояния 200 говорит клиенту о том, что его запрос удачно выполнен.
201 Created Успешный код состояния HTTP сервера 201: создан
Код состояния 201 сообщает нам о том, что новый ресурс был создан успешно.
202 Accepted Успешный код состояния HTTP сервера 202: принято
Код состояния 202 сообщает клиенту о том, что HTTP запрос успешно принят на обработку, но обработка еще не завершена, в этом случае сервер может отказать в обслуживание запроса клиента.
203 Non-authoritative Information Успешный код состояния HTTP сервера 203: не авторская информация
Код состояния 203, отправленный в HTTP ответе, сообщает клиенту о том, что возвращенная в заголовке HTTP  объекта информация – это не оригинал, который есть на первоначальном сервере, а документ, собранный из локальных копий или копий третьей стороны.
204 No Content Успешный код состояния HTTP сервера 204: нет содержимого
Код состояния 204 говорит клиенту о том, что в ответном HTTP сообщении нет тела (про тело объекта HTTP).
205 Reset Content Успешный код состояния HTTP сервера 205: сбросить содержимое
Если браузер получит код состояния 205, то он должен очистить форму, чтобы дать пользователю ввести дополнительные данные.
206 Partial Content Успешный код состояния HTTP сервера 206: частичное содержимое
Код состояния 206 говорит браузеру о том, что HTTP сервер выполнил частичный GET запрос клиента (про методы HTTP). Чтобы получить такой код запрос клиента должен содержать поле заголовка Range, который указывает диапазон (вспоминаем диапазоны значений и HTTP параметры).

Перейдем к рассмотрению HTTP кодов состояний из класса 2хх (если ты еще не знаешь про классы состояния HTTP)

HTTP код состояния 200 (успешно). HTTP код состояния 201 (создано). HTTP код состояния 202 (принято)

HTTP код состояния 200 сообщает о том, что запрос клиента был успешно принят и обработан. Информация, которая будет возвращена пользователю зависит от метода HTTP запроса. Давайте составим небольшую таблицу с методами и тем, какое содержимое им вернет сервер с HTTP кодом состояния 200.

Метод HTTP запроса Содержимое HTTP ответа с кодом 200
GET В ответ на метод GET клиент получит HTTP сообщение с кодом 200 и объект, который расположен по указанному URI в запросе (URI в HTTP).
POST Если клиент отправляет запрос методом POST, то в ответ он получает сообщение с кодом состояния 200 с описание объекта или результатом действия метода POST.
TRACE Клиент, отправивший запрос методом TRACE, получит HTTP ответ с кодом состояния 200, который будет содержать сообщение, полученное конечным сервером.
HEAD В ответ на метод HEAD клиент получит сообщение с кодом состояния 200, в котором не будет тела сообщения

HTTP код 200 мы рассмотрели, давайте перейдем к коду 201.

HTTP код состояния 201 сообщает клиенту о том, что запрос успешно выполнен и в результате этого запроса появился новый ресурс по указанному в запросе URI. Но сервер вместо кода 201 может послать код 202 в том случае, если он не может выполнить запрос клиента немедленно. Давайте перейдем к рассмотрению HTTP кода состояния 202.

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

HTTP код состояния 203 (не авторская информация). HTTP код состояния 204 (нет содержимого). HTTP код состояния 205 (сбросить содержимое). HTTP код состояния 206  (частичное содержимое)

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

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

HTTP код состояния 205 говорит браузеру о том, что ему следует (читай требования HTTP) отменить просмотр документа. Такой код состояния HTTP сервера чаще всего используется для очистки форм с целью повторного или последующего ввода и не содержит HTTP объекта.

HTTP код состояния 206 говорит о том, что был выполнен частичный метод GET. Чтобы получить такой код состояния запрос клиента должен содержать поле заголовка Range, в котором указывается диапазон в байтах, при этом ответ HTTP сервера должен содержать поле заголовка Content-Range, либо поле заголовка Content-Type.

Мы рассмотрели успешные коды состояния HTTP, давайте перейдем к кодам перенаправления. Еще есть коды ошибок клиента и коды ошибок сервера, о которых можно узнать на моём сайте. А если тебе нужна информацию обо всех кодах состояния, обратись к справочнику HTTP кодов состояния, в котором есть полное описание всех кодов.

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

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

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

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

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

200 * (OK)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

410 — (Gone — Исчез)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Error 204 data verify mismatch found
  • Error 2032 overkings
  • Error 203 что это
  • Error 2029 vba что это
  • Error 2026 too many animations

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

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