Статус (коды) ответа сервера, массовая проверка

200

OK

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

201

Created

«Создано». Запрос успешно выполнен и в результате был создан ресурс. Этот код обычно присылается в ответ на запрос PUT «ПОМЕСТИТЬ».

202

Accepted

«Принято». Запрос принят, но ещё не обработан. Не поддерживаемо, т.е., нет способа с помощью HTTP отправить асинхронный ответ позже, который будет показывать итог обработки запроса. Это предназначено для случаев, когда запрос обрабатывается другим процессом или сервером, либо для пакетной обработки.

203

Non-Authoritative Information

«Информация не авторитетна». Этот код ответа означает, что информация, которая возвращена, была предоставлена не от исходного сервера, а из какого-нибудь другого источника. Во всех остальных ситуациях более предпочтителен код ответа 200 OK.

204

No Content

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

205

Reset Content

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

206

Partial Content

«Частичное содержимое». Этот код ответа используется, когда клиент присылает заголовок диапазона, чтобы выполнить загрузку отдельно, в несколько потоков.

300

Multiple Choice

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

301

Moved Permanently

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

302

Found

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

303

See Other

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

304

Not Modified

«Не модифицировано». Используется для кэширования. Это код ответа значит, что запрошенный ресурс не был изменен. Таким образом, клиент может продолжать использовать кэшированную версию ответа.

305

Use Proxy

«Использовать прокси». Это означает, что запрошенный ресурс должен быть доступен через прокси. Этот код ответа в основном не поддерживается из соображений безопасности.

306

Permanent Redirect

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

400

Bad Request

«Плохой запрос». Этот ответ означает, что сервер не понимает запрос из-за неверного синтаксиса.

401

Unauthorized

«Неавторизовано». Для получения запрашиваемого ответа нужна аутентификация. Статус похож на статус 403, но,в этом случае, аутентификация возможна.

402

Payment Required

«Необходима оплата». Этот код ответа зарезервирован для будущего использования. Первоначальная цель для создания этого когда была в использовании его для цифровых платежных систем(на данный момент не используется).

403

Forbidden

«Запрещено». У клиента нет прав доступа к содержимому, поэтому сервер отказывается дать надлежащий ответ.

404

Not Found

«Не найден». Сервер не может найти запрашиваемый ресурс. Код этого ответа, наверно, самый известный из-за частоты его появления в вебе.

405

Method Not Allowed

«Метод не разрешен». Сервер знает о запрашиваемом методе, но он был деактивирован и не может быть использован. Два обязательных метода, GET и HEAD, никогда не должны быть деактивированы и не должны возвращать этот код ошибки.

406

Not Acceptable

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

407

Proxy Authentication Required

Этот код ответа аналогичен коду 401, только аутентификация требуется для прокси сервера.

408

Request Timeout

Ответ с таким кодом может прийти, даже без предшествующего запроса. Он означает, что сервер хотел бы отключить это неиспользуемое соеднинение. Этот метод используется все чаще с тех пор, как некоторые браузеры, вроде Chrome и IE9, стали использовать HTTP механизмы предварительного соединения для ускорения серфинга (смотрите баг 634278, будущей реализации этого механизма в Firefox). Также учитывайте, что некоторые серверы прерывают соединения не отправляя подобных сообщений.

409

Conflict

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

410

Gone

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

411

Length Required

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

412

Клиент указал в своих заголовках условия, которые сервер не может выполнить

413

Precondition Failed

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

414

Request Entity Too Large

URI запрашиваемый клиентом слишком длинный для того, чтобы сервер смог его обработать

415

Unsupported Media Type

Медиа формат запрашиваемых данных не поддерживается сервером, поэтому запрос отклонен

416

Requested Range Not Satisfiable

Диапозон указанный заголовком запроса Range не может быть выполнен; возможно, он выходит за пределы переданного URI

417

Expectation Failed

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

500

Internal Server Error

«Внутренняя ошибка сервера». Сервер столкнулся с ситуацией, которую он не знает как обработать.

501

Not Implemented

«Не выполнено». Метод запроса не поддерживается сервером и не может быть обработан. Единственные методы, которые сервера должны поддерживать (и, соответственно, не должны возвращать этот код) — GET и HEAD.

502

Bad Gateway

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

503

Service Unavailable

«Сервис недоступен». Сервер не готов обрабатывать запрос. Зачастую причинами являются отключение сервера или то, что он перегружен. Обратите внимание, что вместе с этим ответом удобная для пользователей(user-friendly) страница должна отправлять объяснение проблемы. Этот ответ должен использоваться для временных условий и Retry-After: HTTP-заголовок должен, если возможно, содержать предполагаемое время до восстановления сервиса. Веб-мастер также должен позаботиться о заголовках, связанных с кэшем, которые отправляются вместе с этим ответом, так как эти ответы, связанные с временными условиями, обычно не должны кэшироваться.

504

Gateway Timeout

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

505

HTTP Version Not Supported

«HTTP-версия не поддерживается». HTTP-версия, используемая в запроcе, не поддерживается сервером.

Справочник по кодам статуса HTTP

400Неверный запрос/Bad Request

Запрос не может быть понят сервером из-за некорректного синтаксиса.

401Неавторизованный запрос/Unauthorized

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

402Необходима оплата за запрос/Payment Required

Внутренняя ошибка или ошибка конфигурации сервера.

403Доступ к ресурсу запрещен/Forbidden

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

404Ресурс не найден/Not Found

Документ не существует. Если вы удалили какой-то раздел сайта, можно с помощью robots. txt запретить роботу обращаться к нему. Если такой страницы на сайте никогда не существовало, игнорируйте эту ошибку, возможно, кто-то поставил некорректную ссылку на ваш сайт.

405Недопустимый метод/Method Not Allowed

Метод, определенный в строке запроса (Request-Line), не дозволено применять для указанного ресурса, поэтому робот не смог его проиндексировать.

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Недопустимая длина URI запроса/Request-URI Too Long

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

415Неподдерживаемый MIME тип/Unsupported Media Type

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

416Диапазон не может быть обработан/Requested Range Not Satisfiable

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

417Сбой при ожидании/Expectation Failed

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

422Необрабатываемый элемент/Unprocessable Entity

Сервер не в состоянии обработать один (или более) элемент запроса.

423Заблокировано/Locked

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

424Неверная зависимость/Failed Dependency

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

426Требуется обновление/Upgrade Required

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

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

Отправлено слишком много запросов за короткое время. Это может указывать, например, на попытку DDoS-атаки. Ответ может сопровождаться заголовком Retry-After, который указывает, через какое время можно повторить запрос. Яндекс не учитывает этот заголовок.

Что такое коды состояния HTTP? Список важных кодов состояния

Что такое коды состояния HTTP?

Код состояния HTTP — это ответ сервера на запрос браузера. Когда вы посещаете веб-сайт, ваш браузер отправляет запрос на сервер сайта, а затем сервер отвечает на запрос браузера трехзначным кодом: кодом состояния HTTP.

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

Первая цифра каждого трехзначного кода состояния начинается с одной из пяти цифр от 1 до 5; вы можете видеть, что это выражается как 1xx или 5xx для обозначения кодов состояния в этом диапазоне. Каждый из этих диапазонов охватывает разные классы ответов сервера.

Общие классы кодов состояния HTTP:

1xxs — Информационные ответы: Сервер обрабатывает запрос.

2xxs – Успех! Запрос был успешно выполнен, и сервер дал браузеру ожидаемый ответ.

3xxs – Перенаправление:   Вас перенаправили куда-то еще. Запрос получен, но есть какая-то переадресация.

4xxs — Ошибки клиента: Страница не найдена. Не удалось получить доступ к сайту или странице. (Запрос был сделан, но страница недействительна — это ошибка на стороне веб-сайта и часто появляется, когда страница не существует на сайте.)

5xxs — Ошибки сервера:   Сбой. Клиент сделал действительный запрос, но сервер не смог выполнить запрос.

Наиболее важные коды состояния для SEO-специалистов

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

Представьте, что вы работаете над сайтом, который показывает много ошибок 5xx; вы сразу же захотите узнать, что это проблема сервера. Ошибки 4xx влияют на взаимодействие с посетителями, поэтому вы можете сразу начать думать о любых изменениях, которые вы могли внести в свои URL-адреса, или о том, были ли у вас удалены какие-либо страницы. Как только вы поймете причину проблемы, вы можете рассмотреть возможность реализации пользовательской страницы 404 или использовать всемогущую переадресацию 301 для отправки посетителей в нужное место.

Стоит выучить — и запомнить — самые важные коды состояния, которые должен знать каждый оптимизатор:

Код состояния HTTP 200 — OK

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

Код состояния HTTP 301 — постоянное перенаправление

Перенаправление 301 следует использовать каждый раз, когда один URL-адрес необходимо постоянно перенаправлять на другой . Перенаправление 301 означает, что посетители и боты, попадающие на эту страницу, будут перенаправлены на новый URL. Кроме того, ссылочный вес — сила, передаваемая всеми этими с трудом заработанными ссылками на ваш контент, — также передается новому URL-адресу через перенаправление 301. Несмотря на заявления Google о том, что все редиректы 3xx обрабатываются одинаково, тесты показали, что это не совсем так. Перенаправление 301 остается предпочтительным методом для постоянных перенаправлений страниц.

Код состояния HTTP 302 — временное перенаправление

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

Код состояния HTTP 404 — Не найдено

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

На каждом сайте есть страницы, которые возвращают коды состояния 404. Эти страницы не всегда нужно перенаправлять; Есть и другие варианты. Одним из распространенных заблуждений является то, что оптимальным для SEO является просто перенаправление 301 страниц, которые возвращают код состояния 404 на домашнюю страницу данного домена. На самом деле в большинстве случаев это плохая идея, потому что это может сбить с толку пользователей, которые могут не осознавать, что веб-страница, к которой они пытались получить доступ, не существует.

Если страницы, возвращающие коды 404, являются страницами с высоким авторитетом и большим трафиком или имеют очевидный URL-адрес, на который предназначены посетители или ссылки, вам следует использовать переадресацию 301 на наиболее релевантную из возможных страниц. Например, если ваша страница о кексах без сахара больше не существует, вы можете перенаправить этот URL-адрес с кодом 301 на страницу категории рецептов без сахара.

Вне этих случаев может быть необходимо, чтобы URL-адрес возвращал ошибку 404 — это предотвратит индексацию и повторное сканирование поисковыми системами. Предоставьте своим посетителям наилучшие возможности с пользовательской страницей 404, как это предлагается в этом руководстве Google Search Console. Например, сайты электронной коммерции часто создают страницы 404, когда товары заканчиваются на складе, поэтому эти сайты являются отличными кандидатами для создания пользовательской страницы 404 электронной коммерции.

Код состояния HTTP 410 — Gone

410 более постоянен, чем 404; это означает, что страница исчезла. Страница больше недоступна с сервера, и адрес переадресации не настроен. Любые ссылки на вашем сайте, которые указывают на страницу 410, отправляют ботов и посетителей на мертвый ресурс, поэтому, если вы их видите, удалите любые ссылки или ссылки на них из своего контента.

Код состояния HTTP 500 — внутренняя ошибка сервера

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

Код состояния HTTP 503 — Служба недоступна

Другая разновидность 500, ответ 503 означает, что сервер недоступен. Всех (человеков или иных) просят вернуться позже. Это может быть связано с временной перегрузкой сервера или техническим обслуживанием сервера. Код состояния 503 гарантирует, что поисковые системы скоро вернутся, потому что страница или сайт будут недоступны только на короткое время.

Продолжайте учиться

  • Перенаправление

  • Канонизация

  • Руководство для начинающих по SEO

  • Всегда ли 404 страницы вредны для SEO?

  • Как обращаться с просроченным содержимым?

Попробуй

  • MozBar — панель инструментов SEO MozBar позволяет просматривать в браузере соответствующие показатели во время просмотра веб-страниц.

  • Link Explorer — ваш универсальный инструмент для создания ссылок. Быстро находите возможности для создания ссылок, отслеживайте обнаруженные и потерянные ссылки с течением времени и создавайте списки отслеживания ссылок, чтобы увидеть, когда вы получили ссылку. Мощные данные о ссылках для более эффективного построения ссылок.

Задействуйте свои навыки

Измерьте влияние сайта с помощью Link Explorer

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

Коды состояния ответа HTTP | mlytics

Коды состояния ответа HTTP (или просто коды состояния) — это трехзначные коды, выдаваемые сервером в ответ на запрос клиента со стороны браузера. Эти коды состояния служат средством быстрого и краткого сообщения о том, как сервер работал и отвечал на запрос клиента. Эти коды также включают коды из запроса комментариев IETF (RFC), другие спецификации и некоторые дополнительные коды, используемые в общих приложениях HTTP.

Администрация адресного пространства Интернета (IANA) ведет официальный реестр кодов состояния HTTP. В 3-х цифрах кода состояния HTTP первая цифра определяет категорию кода состояния, а последние две цифры назначаются для определенного типа ответа в данной категории. Существует пять различных категорий кодов состояния HTTP, и они классифицируются в зависимости от типа ответа, который сервер передает клиенту:

  • 1XX — информационный код 9.0014 : Эта категория указывает, что запрос был получен и понят. Он выдается на временной основе, пока продолжается обработка запроса. Он предупреждает клиента о необходимости дождаться окончательного ответа. Сообщение состоит только из строки состояния и необязательных полей заголовка и заканчивается пустой строкой.
  • 2XX — код успеха : эта категория указывает, что действие, запрошенное клиентом, было получено, понято и принято. По сути, это означает, что запрос, сделанный клиентом, был хорошим запросом, и что сервер полностью и успешно выполнил то, что должен был сделать.
  • 3XX — код перенаправления : эта категория указывает, что клиент может предпринять дополнительные действия для выполнения запроса. Обычно это дополнительное действие заключается в перенаправлении пользователя на другой URL-адрес. Многие из кодов состояния в этой категории используются при перенаправлении URL-адресов.
  • 4XX — код ошибки клиента : эта категория указывает, что запрос не может быть выполнен, поскольку от клиента исходит ошибка. Запрос может содержать неправильный синтаксис или отсутствие авторизации и т. д. Сервер должен включать в себя сущность, содержащую объяснение ситуации с ошибкой (за исключением ответа на запрос HEAD), а также является ли это временным или постоянным состоянием.
  • 5XX — код ошибки сервера . Эта категория указывает, что сервер обнаружил ошибку или не может выполнить действительный запрос. Сервер должен включать сущность, содержащую объяснение ситуации с ошибкой (за исключением случаев ответа на запрос HEAD), и указывать, является ли это временным или постоянным состоянием.

Ниже перечислены наиболее распространенные коды состояния ответов HTTP для каждой категории.

А. Информационные коды

100 Продолжить

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

Используется для информирования клиента о том, что начальная часть запроса получена и еще не отклонена сервером. Затем браузер должен продолжить отправку оставшейся части запроса или проигнорировать этот ответ, если запрос уже был выполнен. Сервер должен отправить окончательный ответ после завершения запроса. Браузер должен сначала включить Expect: 100-continue в заголовок запроса в своем первоначальном запросе, чтобы получить код состояния 100 Continue в ответ перед отправкой тела.

101 Переключение протоколов

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

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

103 Ранние подсказки

Этот код состояния используется вместе с заголовком Link, чтобы позволить пользовательскому агенту (например, браузеру) начать предварительную загрузку ресурсов, пока сервер все еще готовит ответ.

B. Коды успешного выполнения

200 OK

Этот код состояния указывает на успешное выполнение запроса. Значение успеха зависит от метода HTTP-запроса:

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

Код состояния для успешного результата PUT или DELETE часто представляет собой не 200 OK, а 204 No Content или 201 Created, если ресурс загружается впервые. Ответ 200 кэшируется по умолчанию.

201 Created

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

202 Принят

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

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

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

Этот код состояния указывает, что запрос был выполнен успешно, но прилагаемые полезные данные были изменены прокси-сервером, преобразующим ответ 200 OK исходного сервера. И возвращенная метаинформация в заголовке не является окончательным набором, доступным с исходного сервера, а собрана из локальной или сторонней копии. Ответ 203 кэшируется по умолчанию.

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

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

Этот ответ предназначен для того, чтобы разрешить ввод данных для выполнения действий без изменения активной страницы браузера, хотя любая новая или обновленная метаинформация будет применяться к активной странице браузера. Например, при реализации функции «сохранить и продолжить редактирование» для вики-сайта. В этом случае для сохранения страницы будет использоваться запрос PUT, а ответ 204 будет отправлен, чтобы указать, что редактор не должен быть заменен другой страницей. Ответ 204 по умолчанию кэшируется (в такой ответ включается заголовок ETag).

C. Коды перенаправления

300 Множественный выбор

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

В зависимости от формата и возможностей браузера выбор наиболее подходящего варианта может выполняться автоматически. Если у сервера есть предпочтительный выбор представления, он будет включать конкретный URI для этого представления в поле «Расположение», и браузер может использовать значение поля «Расположение» для автоматического перенаправления. Поскольку не существует стандартизированного способа выбора одного из ответов, этот код ответа используется очень редко. Ответ 300 кэшируется по умолчанию.

301 Перемещено навсегда

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

Рекомендуется использовать код состояния 301 только в качестве ответа для методов GET или HEAD, поскольку изменение метода явно запрещено с этим статусом, и вместо этого использовать 308 Permanent Redirect для методов POST. Ответ 301 кэшируется по умолчанию.

302 Найдено

Этот код состояния указывает, что запрошенный ресурс был временно перемещен в URI. Временный URI задается полем Location в ответе. Если метод запроса был HEAD, ответ будет содержать короткую гипертекстовую заметку с гиперссылкой на новые URI. Для методов запроса, отличных от GET или HEAD, код состояния 302 не будет автоматически перенаправлять запрос, если он не может быть подтвержден пользователем, поскольку это может изменить условия, при которых был отправлен запрос.

Рекомендуется использовать код 302 только в качестве ответа на методы GET или HEAD, так как изменение метода явно запрещено для этого статуса, и использовать 307 Temporary Redirect, если метод изменяется при выполнении перенаправленного запроса. В тех случаях, когда вы хотите, чтобы используемый метод был изменен на GET, вместо этого используйте 303 See Other. Это также полезно, когда вы хотите дать ответ на метод PUT, который не является загруженным ресурсом, а подтверждающим сообщением, например: «вы успешно загрузили XYZ». Ответ 302 можно кэшировать, если это указано в поле заголовка Cache-Control или Expires.

303 См. Другое

Этот код состояния указывает, что перенаправления ссылаются не на недавно загруженные ресурсы, а на пользовательскую страницу (например, страницу подтверждения или страницу прогресса загрузки). Этот код состояния обычно отправляется обратно в результате PUT или POST. Метод, используемый для отображения этой перенаправленной страницы, всегда GET.

304 Не изменено

Этот код состояния указывает на отсутствие необходимости повторной передачи запрошенных ресурсов. Это неявное перенаправление на кешированный ресурс. Это происходит, когда метод запроса безопасен, например. GET или HEAD, или когда запрос является условным и использует заголовок If-None-Match или If-Modified-Since. Эквивалентный ответ 200 OK включал бы заголовки Cache-Control, Content-Location, Date, ETag, Expires и Vary.

307 Временное перенаправление

Этот код состояния указывает, что запрошенный ресурс был временно перемещен в URI. Временный URI задается полем Location в ответе. Единственная разница между 307 и 302 Found заключается в том, что 307 гарантирует, что метод и тело не будут изменены при выполнении перенаправленного запроса. Для запросов GET поведение 302 и 307 идентично. Поведение с не-GET-методами и 302 Found становится непредсказуемым в Интернете, тогда как поведение с 307 предсказуемо.

В тех случаях, когда вы хотите, чтобы используемый метод был изменен на GET, используйте вместо этого 303 See Other. Это также полезно, когда вы хотите дать ответ на метод PUT, который не является загруженными ресурсами, а подтверждающим сообщением (например, «Вы успешно загрузили XYZ»).

308 Постоянное перенаправление

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

D. Коды ошибок клиента

400 Неверный запрос

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

401 Неавторизованный

Этот код состояния указывает, что запрос не был применен, так как отсутствуют действительные учетные данные для проверки подлинности для целевого ресурса. Этот статус отправляется с заголовком WWW-Authenticate, который содержит информацию о том, как правильно авторизоваться. С этим кодом состояния можно повторить запрос, включив аутентификацию для доступа к целевому ресурсу. Этот статус аналогичен 403, но в этом случае возможна аутентификация.

402 Требуется оплата

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

403 Запрещено

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

Этот статус аналогичен 401 Unauthorized, но в этом случае повторная аутентификация не имеет значения, поэтому повторять запрос не нужно. Доступ постоянно запрещен и привязан к логике приложения, например, недостаточные права на ресурс. Для любых методов запроса, кроме HEAD, если сервер хочет, чтобы причина отказа была доступна клиенту, то можно использовать 403. Однако, если сервер не хочет предоставлять эту информацию, вместо этого можно использовать 404 Not Found.

404 Не найдено

Этот код состояния указывает, что сервер не может найти ничего, соответствующего Request-URI. Ссылки, которые ведут на страницу 404, часто называют неработающими или мертвыми ссылками, и они могут быть подвержены гниению ссылок. Нет никаких указаний на то, является ли состояние временным или постоянным. Но если сервер знает, что ресурс удален безвозвратно, то вместо статуса 404 следует использовать 410 Gone. Этот код состояния также обычно используется, когда сервер не желает точно раскрывать, почему запрос был отклонен, или когда никакой другой ответ не применим. Ответ 404 кэшируется по умолчанию.

405 Метод не разрешен

Этот код состояния указывает, что метод запроса известен серверу, но не поддерживается целевым ресурсом. Метод, указанный в строке запроса, не разрешен для ресурса, указанного в Request-URI. Сервер ДОЛЖЕН генерировать поле заголовка Allow, содержащее список поддерживаемых методов для запрошенного ресурса. Ответ 405 кэшируется по умолчанию.

408 Истечение времени ожидания запроса

Этот код состояния указывает, что сервер хотел бы закрыть это неиспользуемое соединение, так как запрос превысил время, которое сервер был готов ждать. Клиент МОЖЕТ повторить запрос без изменений в любое время. Сервер должен отправить поле заголовка Connection «закрыть» в ответе, поскольку 408 означает, что сервер решил закрыть соединение, а не продолжать ждать.

409 Конфликт

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

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

410 Исчез

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

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

414 Слишком длинный URI

Этот код состояния указывает, что сервер отказывается обрабатывать запрос, поскольку Request-URI, предоставленный клиентом, длиннее, чем сервер готов интерпретировать.

Есть несколько условий, когда это может произойти: а) когда клиент неправильно преобразовал запрос POST в запрос GET с длинной информацией о запросе, б) когда клиент попал в цикл перенаправления (например, перенаправленный префикс URI, который указывает на суффикс самого себя), или c) когда сервер подвергается атаке со стороны клиента, пытающегося использовать потенциальные бреши в безопасности. Ответ 414 кэшируется по умолчанию.

415 Неподдерживаемый тип носителя

Этот код состояния указывает, что сервер отказывается принять запрос, поскольку формат полезной нагрузки не поддерживается. Проблема с форматом может быть связана с указанным в запросе Content-Type или Content-Encoding или в результате непосредственной проверки данных.

418 Я чайник

Этот код состояния указывает на то, что сервер отказывается заваривать кофе, потому что он постоянно является чайником. Комбинированный кофейник/чайник, в котором временно закончился кофе, вместо этого должен возвращать 503 Сервис недоступен. Этот код состояния был определен в 1998 году как одна из первоапрельских шуток IETF в RFC 2324, Hyper Text Coffee Pot Control Protocol. Некоторые веб-сайты используют этот ответ для запросов, которые они не хотят обрабатывать, таких как автоматические запросы, а HTTP-сервер Nginx использует этот код для имитации поведения, подобного goto, в своей конфигурации.

429 Слишком много запросов

Этот код состояния указывает, что пользователь отправил слишком много запросов за заданный период времени («ограничение скорости»). Представления ответа могут включать подробности, объясняющие условие, и заголовок Retry-After, указывающий, как долго ждать, прежде чем делать новый запрос. Однако, когда сервер подвергается атаке или просто получает очень большое количество запросов от одной стороны, ответ на каждый с кодом состояния 429 будет потреблять ресурсы, следовательно, когда может быть более подходящим просто сбросить соединения или предпринять другие шаги. .

E. Коды ошибок сервера

500 Внутренняя ошибка сервера

Этот код состояния указывает, что сервер столкнулся с непредвиденной ситуацией, которая помешала ему выполнить запрос. Этот ответ об ошибке обычно используется как общий «всеобъемлющий» ответ, указывающий, что сервер не может найти лучший код состояния 5xx для ответа. Иногда администраторы серверов регистрируют ответы об ошибках, такие как код состояния 500, с более подробной информацией о запросе, чтобы предотвратить повторение ошибки в будущем.

501 Не реализовано

Этот код состояния означает, что сервер не поддерживает функции, необходимые для выполнения запроса. Этот статус также может отправлять заголовок Retry-After, сообщающий клиенту, когда следует проверить, поддерживается ли функциональность к тому времени. Код 501 — это то, что вы не можете исправить, но требует исправления веб-сервером, к которому вы пытаетесь получить доступ.

Это правильный ответ, когда сервер не распознает метод запроса и не может поддерживать его для любого ресурса. Единственными методами, которые должны поддерживать серверы, являются GET и HEAD, поэтому они не должны возвращать 501. Если сервер распознает метод, но намеренно не поддерживает его, соответствующий ответ — 405 Method Not Allowed. Ответ 501 кэшируется по умолчанию, если заголовки кэширования не указывают иное.