Коды состояний 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 Список кодов состояния:
Код состояния | Код состояния английское название | китайский описание |
---|---|---|
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, которая запрашивается не поддерживается.