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е, не поддерживается сервером. |
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 | Сервер отказывается обрабатывать запрос, потому что значение поля |
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 Внутренняя ошибка сервера
501 Не реализовано
Этот код состояния означает, что сервер не поддерживает функции, необходимые для выполнения запроса. Этот статус также может отправлять заголовок Retry-After, сообщающий клиенту, когда следует проверить, поддерживается ли функциональность к тому времени. Код 501 — это то, что вы не можете исправить, но требует исправления веб-сервером, к которому вы пытаетесь получить доступ.
Это правильный ответ, когда сервер не распознает метод запроса и не может поддерживать его для любого ресурса. Единственными методами, которые должны поддерживать серверы, являются GET и HEAD, поэтому они не должны возвращать 501. Если сервер распознает метод, но намеренно не поддерживает его, соответствующий ответ — 405 Method Not Allowed. Ответ 501 кэшируется по умолчанию, если заголовки кэширования не указывают иное.