Коды состояний HTTP. Полное руководство по кодам статуса HTTP

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

HTTP коды 1хх – информационные коды. HTTP коды 2хх – успешные коды. HTTP код 3хх – коды перенаправления. HTTP код 4хх – коды ошибок клиента. HTTP код 5хх – коды ошибок сервера.

Если вы хотите узнать , обратитесь к .Код состояния – это элемент ответа , который представляет собой три цифры, первая цифра показывает к какому классу состояния относится тот или иной . В HTTP насчитывают всего пять классов кодов состояний : 1хх, 2хх, 3хх, 4хх, 5хх. HTTP коды состояний расширяемы, любой разработчик сервера может добавлять свои коды. Каждый код состояния очень тесно связан с : если метод – это элемент , то код состояния это сервера, который означает то, как сервер понял запрос.

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

Номер HTTP код состояния и его описание
1 HTTP коды состояний 1xx: Такой код состояния сервер высылает в том случае, когда запрос получен, но еще не обработан.
2 HTTP коды состояний 2 xx :
Сервер отправит вам такой код в том случае, когда он успешно принял и обработал клиента.
3 HTTP коды состояний 3 xx :
Если вы получили от сервера код состояния, начинающийся на тройку, то это означает, что нужны дополнительные действия, чтобы завершить процесс обработки HTTP запроса.
4 HTTP коды состояний 4 xx :

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

Коды состояния HTTP на английском языке для кода HTTP статуса.

Вот некоторые коды состояния общих HTTP:

  • 200-- запрос был успешным
  • 301-- ресурсы (веб-страниц и т.д.) постоянно переносится на другой URL
  • 404 - ресурсы (веб-страниц и т.д.) запросили, не существует
  • 500 - Внутренняя ошибка сервера

HTTP код классификации состояния

Код состояния HTTP состоит из трех десятичных цифр, первое десятичное число определяет тип кодов состояния, последние две цифры не классифицированы эффект. код состояния HTTP делится на пять типов:

HTTP Список кодов состояния:

HTTP Список кодов состояния
Код состояния Код состояния английское название китайский описание
100 продолжать Продолжить. Клиент должен продолжать свою просьбу
101 Переключение протоколов Переключение протоколов. Протокол коммутации сервера на основании запроса клиента. Может только переключиться на более продвинутый протокол, например, чтобы перейти на новую версию протокола HTTP
200 хорошо Запрос был успешным. В основном используется для GET и POST запросов
201 созданный Он был создан. Успешные запросы и создан новый ресурс
202 Принято Принято. Мы приняли эту просьбу, но не завершил процесс
203 Неавторитетная информация Неавторизованный доступ к информации. Запрос был успешным. Но не в оригинальной мета информации, возвращаемый сервером, но копия
204 Нет Содержание Пустой. Сервер успешно обработал, но не вернулся содержание. В отсутствие обновленных страниц, чтобы обеспечить браузер продолжает отображать текущий документ
205 Reset Content Сброс содержимого. Сервер обработки успешно, пользовательский терминал (например: браузер) должен вернуться к режиму просмотра документа. Этот код возврата может очистить поля формы вашего браузера
206 Частичное Содержание Часть. Сервер успешно обработал часть запроса GET
300 множественным выбором Разнообразие вариантов. Запрос ресурсов может включать в себя множество позиций, соответствующих возвращать список характеристик ресурсов и адреса для пользовательского терминала (например: браузер) Выберите
301 Переехал Постоянно Переехал Постоянно. Запрашиваемый ресурс был окончательно перемещен на новый URI, возвратит информацию, включая новый URI, браузер автоматически будет направлено на новый URI. Любой будущий новый запрос должен быть заменен на новый URI
302 найденный Временный ход. Подобно 301. Но ресурс временно перемещен. Клиент должен продолжать использовать оригинальный URI
303 См Другие Посмотреть другой адрес. Подобно 301. Используйте GET и POST запросы View
304 Not Modified Unmodified. Запрошенный ресурс неизмененной, сервер возвращает этот код статуса, он не возвращает каких-либо ресурсов. Клиент, как правило, кэширует ресурсы, посещаемые путем предоставления заголовка указывает на то, что клиент желание вернуться только после указанной даты модифицированного ресурса
305 Использовать прокси-сервер Используйте прокси-сервер. Запрошенный ресурс должен быть доступен через прокси-сервер
306 неиспользуемый Он был оставлен без присмотра HTTP код статуса
307 Временное перенаправление Временное перенаправление. Подобно 302. запрос использования GET перенаправляется
400 Bad Request Синтаксическая ошибка в запросах клиента, сервер не может понять,
401 неразрешенный Запрос требует аутентификации пользователя
402 Требуется оплата Зарезервировано для будущего использования
403 запрещенный Сервер понял запрос на запрос клиента, но отказался выполнять эту просьбу
404 Не найдено Сервер не может найти ресурсы (Web) по просьбе клиента. С помощью этого кода, разработчики сайта могут установить "ресурс, который вы запросили, не может быть найден" персональная страница
405 Method Not Allowed Заказчик поручает, запрещенные методы
406 Не Приемлемый Сервер не может выполнить запрос на основе характеристик контента, запрошенных клиентом
407 Требуется проверка подлинности прокси Запрос требует прокси-аутентификации, подобный 401, но отправитель должен использовать авторизацию прокси
408 Запрос Тайм-аут Сервер ожидает клиента, чтобы послать запрос слишком долго, тайм-аут
409 конфликт Столкновения сервера выполнить запрос PUT клиента может возвращать этот код, когда сервер обрабатывает запрос
410 прошло Ресурс по требованию клиента уже не существует. В отличие от 410 404, если ресурс теперь безвозвратно удалены, прежде чем вы можете использовать 410 код, веб-дизайнер может указать ресурсы с помощью нового кода местоположения 301
411 Длина Обязательный Сервер не смог обработать сообщение запроса, отправленного клиентом без Content-Length
412 Precondition Failed Предпосылки клиент запрашивает информацию ошибок
413 Слишком большой размер запроса Так как объект запроса слишком велик, сервер не может обработать, так что запрос будет отклонен. Для того, чтобы предотвратить непрерывную запрос клиента, сервер может закрыть соединение. Если сервер временно не может обрабатывать только, он будет содержать информацию о отклике Retry-After
414 Request-URI Too Large URI слишком длинный запрос (URI, как правило, URL-адрес), сервер не может обработать
415 Неподдерживаемый Тип носителя Сервер не смог обработать запрос, поставляемой вместе с медиа-форматов
416 Запрошенный диапазон не выполнима запрос клиента Диапазон недопустим
417 Expectation Ошибка Сервер не может удовлетворить запрос заголовок Expect
500 Внутренняя ошибка сервера Внутренняя ошибка сервера и не смог выполнить запрос
501 Не реализовано Сервер не поддерживает запрашиваемую функцию, не может выполнить запрос
502 Bad Gateway В качестве сервера шлюза или прокси-сервер, полученный от удаленного сервера на недопустимый запрос
503 Сервис недоступен Потому что он перегружен или обслуживания системы, сервер временно не может обработать запрос клиента. Длина задержки, она может быть включена в Retry-After информации заголовка сервера
504 Шлюз Тайм-аут Действуя в качестве шлюза или прокси-сервер, а не своевременный запрос на доступ с удаленного сервера
505 Версия HTTP не поддерживается Сервер не поддерживает запрошенный HTTP версия протокола не закончить обработку

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

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

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

Откуда они берутся?

Каждый раз, когда вы кликаете по ссылке или вводите URL-адрес и нажимаете «Enter », браузер отправляет запрос на сервер. Он получает и обрабатывает запрос, а затем отправляет обратно запрашиваемые ресурсы вместе с HTTP-заголовком .

Коды статуса доставляются в браузер в HTTP-заголовке . Хотя вы их не видите. Но когда что-то пошло не так, пользователю отображается код статуса в браузере. Это способ сервера сказать: «Что-то не так. Вот код, который объясняет, что именно ».

Код статуса HTTP Google 404

Чтобы увидеть коды статуса, которые браузер обычно не отображает, потребуются специальные инструменты. Для популярных браузеров, таких как Chrome и Firefox , доступны соответствующие расширения. Также существует много сервисов для отображения заголовков, например Web Sniffer .

Чтобы увидеть код статуса HTTP с помощью одного из этих инструментов, найдите строку, расположенную в верхней части отчета, в которой указано: “Status: HTTP/1.1 ”. После нее указан код статуса, возвращаемый сервером.

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

Коды статуса HTTP разделены на 5 классов:

  • 100: информационные коды, указывающие, что запрос, инициированный браузером, продолжается.
  • 200: коды успешного запроса. Возвращаются, когда запрос браузера был успешно получен, распознан и обработан сервером.
  • 300: коды перенаправления возвращаются, когда запрошенный ресурс заменен новым.
  • 400: http-ошибки , возникающие на стороне клиента и указывающие на наличие проблемы с запросом.
  • 500: коды ошибок сервера, указывающие, что запрос был принят, но ошибка на сервере не позволила выполнить его.

Список кодов статуса HTTP

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

Код статуса 200

200: «Все в порядке ». Это код, который возвращается, когда веб-страница или ресурс действуют точно так, как ожидается.

Коды статуса 300

301: «Запрошенный ресурс был перемещен навсегда ». Этот код возвращается, когда веб-страница или ресурс заменяется другим ресурсом. Он используется для постоянного редиректа URL-адресов .

302: это http-ошибка «Запрошенный ресурс перемещен, но был найден ». Этот код используется для указания того, что запрошенный ресурс был найден, но не в том месте, где это ожидалось. Он используется для временного редиректа URL-адресов .

304: «Запрошенный ресурс не был изменен с момента последнего обращения к нему ». Сообщает, что ресурсы, хранящиеся в кэше браузера, не изменились. Он используется для ускорения доставки веб-страниц за счет повторного использования ранее загруженных ресурсов.

Коды статуса 400

http-ошибка 403: «Доступ к этому ресурсу запрещен ». Возвращается, когда пользователь пытается открыть ресурс, для которого у него нет прав доступа. Например, попытка просмотра неавторизованным пользователем контента, защищенного паролем, может привести к ошибке 403 .

404: «Запрошенный ресурс не найден ». Наиболее распространенное сообщение об ошибке. Означает, что запрошенный ресурс не существует и сервер не знает, существовал ли он когда-либо.

405: «Метод не разрешен ». Генерируется, когда хостинг-сервер (исходный сервер ) поддерживает полученный метод, но целевой ресурс отсутствует.

406: «Неприемлемый ответ ». Запрошенный ресурс способен генерировать только контент, неприемлемый в соответствии с заголовками Accept , отправленными в запросе.

408: «Время ожидания сервером поступления остальной части запроса из браузера истекло ». Генерируется, когда сервер прерывает обработку после истечения времени ожидания полного запроса от браузера. Другими словами, сервер не получил полный запрос, отправленный браузером. Одной из возможных причин может быть перегрузка сети, приводящая к потере пакетов между браузером и сервером.

410: «Запрошенный ресурс отсутствует и не будет возвращен ». Подобен коду 404 «Не найден », за исключением того, что код статуса 410 , указывает, что данный статус ожидается на постоянной основе.

429: это http-ошибка «Слишком много запросов ». Генерируется сервером, когда пользователь отправил слишком много запросов в заданный промежуток времени (ограничение по скорости ). Иногда причиной ошибки могут быть боты, пытающиеся получить доступ к сайту. В этом случае может потребоваться изменение URL-адреса входа в панель администрирования WordPress .

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

499: «Клиент закрыл запрос ». Возвращается NGINX , когда клиент закрывает запрос, пока NGINX все еще обрабатывает его.

Коды статуса500

500: «На сервере возникла ошибка, и запрос не мог быть завершен ». Общий http-код , который также называют «внутренняя ошибка сервера ». На сервере что-то пошло не так и запрошенный ресурс не был доставлен. Этот код генерируется сторонними плагинами, при сбоях PHP-кода или подключения к базе данных.


Ошибка при установлении соединения с базой данных

501: «Не реализовано ». Эта ошибка указывает на то, что сервер не поддерживает функции, необходимые для выполнения запроса. Ошибка почти всегда связана с самим сервером, и для ее решения нужно обратиться в службу поддержки хостинг-провайдера.

502: это http-ошибка «Некорректный шлюз ». Означает, что один сервер получил неверный ответ от другого. Иногда запрос занимает слишком много времени, и поэтому отменяется или удаляется сервером, а соединение с базой данных прерывается.

503: это http-ошибка «В данный момент сервер не может обработать запрос ». Запрос не может быть обработан прямо сейчас. Этот код возвращается перегруженным сервером, который не может обрабатывать новые запросы.

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

Более подробная информация о кодах статуса HTTP

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

  • Полный список кодов статуса HTTP — Википедия;
  • Определения кодов статуса Internet Engineering Task Force (IETF) ;
  • RFC 7231.

Перевод статьи «A Complete Guide and List of HTTP Status Codes» был подготовлен дружной командой проекта

HTTP (англ. Hypertext Transfer Protocol) - это протокол, по которому происходит обмен данными между браузером и сервером, на котором находится сайт. Браузер посылает запрос к серверу в виде адреса страницы сайта (URL), в ответ сервер возвращает код ответа. И уже в зависимости от этого кода браузер принимает дальнейшие действия.

Всего существует более 50 кодов ответов http. Самыми популярными кодами являются 200, 301, 404.

Как узнать код ответа HTTP

Чтобы точно узнать, что отвечает сервер при обращении к адресу URL сайта, можно воспользоваться сервисом bertal.ru :

Вбив полный адрес страницы сайта можно посмотреть полный http ответ сервера. Удобно, что можно указывать различных поисковых ботов Яндекс, Гугл или же просто выбрать "мой браузер":

Например, в случае редиректа 301 ответ будет таким:

А в случае когда страница не найдена (код 404):

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

  • 1xx - информационные (Informational)
  • 2xx - успешные (Success)
  • 3xx - перенаправление (Redirection)
  • 4xx - ошибка клиента (Client Error)
  • 5xx - ошибка сервера (Server Error)

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

Описание кодов ответов HTTP

  • 100..199 - группа информационных запросов. Для вебмастера эта группа вообще не представляет никакого интереса.
  • 200 (OK) - все успешно обработано, страница загружена.
  • 201 (Created) - создан новый ресурс.
  • 202 (Accepted) - запрос обрабатывается.
  • 203 (Non-Authoritative Information) - информация загружена не с основного источника.
  • 204 (No Content) - сервер не вернул контент. Запрос считается успешно обработанным.
  • 206 (Partial Content) - пользователю был передан не весь контент.
  • 300 (Multiple choices) - многократный выбор и сервер не смог корректно обработать запрос.
  • 301 (Moved Permanently) - автоматическое перенаправление, поскольку адрес страницы перемещен на другой адрес навсегда. Этот ответ используется очень часто, поскольку адреса страниц зачастую меняются. Также этот код ответа используется, если сменися адрес сайта.
  • 302 (Moved Temporarily) - адрес временно перемещен.
  • 303 (See Other) - запрашиваемый адрес нужно смотреть по другому адресу, который можно посмотреть через GET.
  • 304 (Not Modified) - страница не измяналась. Для ускорения индексации поисковыми роботами можно использовать этот ответ.
  • 305 (Use Proxy) - доступ к странице доступен только через Proxy-сервер.
  • 306 (Temporary Redirect) - адрес сменен на короткое время.
  • 400 (Bad Request) - неверный запрос к серверу.
  • 401 (Unauthorized) - требуется авторизация пользователя
  • 403 (Forbidden) - доступ запрещен всем.
  • 404 (Not Found) - документ не найден. Часто встречаемая ошибка. Читайте: как правильно сделать страницу 404 ошибки
  • 405 (Method Not Allowed) - метод не поддерживается
  • 406 (Not Acceptable) - докумнет существует, но не в том формате
  • 407 (Proxy Authentication Required) - доступен только через proxy-сервер
  • 408 (Request Time-out) - соединение разорвано из-за долгого ответа сервера
  • 500 (Internal Server Error) - аварийный отказ сервера. Зачастую это связано с неверными настройками.htaccess
  • 501 (Not Implemented) - сервер не может выполнить действие, которое запросил клиент
  • 502 (Bad Gateway) - сервер получил неверные ответы от другого сервера
  • 503 (Service Unavailable) - какая-то служба на стороне сервера временно не работает
  • 504 (Gateway Time-out) - сервер в роли шлюза или прокси-сервера не дождался ответа
  • 505 (HTTP Version not supported) - версия HTTP, которая запрашивается не поддерживается.
  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то