What are http status codes?
Содержание:
- 5xx Ошибка сервера
- 3xx: Redirection — Редирект ( перенаправление )
- Коды успешной обработки запроса
- Как проверить код ответа сервера
- Ошибка 502
- 10.5 5xx — Коды ошибок сервера.
- Что такое ошибка HTTP 429?
- Все HTTP коды ответа сервера и их значения
- Ошибка 500
- Методика решения неприятного конфликта
- 2xx: Successful
- 2, Successful Responses
- 👨💻 Практическое занятие: Коды статусов и ошибок
5xx Ошибка сервера
Коды 5xx выделены для случаев неудачной работы на стороне сервера.
Эти ответы сервера часто отображаются, когда запросы пользователя не могут быть обработаны сервером по той или иной причине. Сервер должен иметь специальное сообщение для браузера, которое должно отображаться пользователю – оно уведомляет, что сервер (по какому-либо поводу) не в состоянии произвести обработку запроса.
500 Internal Server Error (Внутренняя ошибка сервера)
Этот статус сообщает о внутренней ошибке сервера, которая не совпадает с другими ошибками того же класса.
Этот код используется, если ресурс или ссылка создается на сервере (например, календарь в системе резервирования), который технически не существует как ссылка или доступный ресурс, но пользователь видите их как ссылки.
501 Not Implemented (Не поддерживается)
Сервер либо не понимает метод запроса, либо не поддерживает инструкции, нужные, чтобы обработать обращение.
Вы можете столкнуться с указанным кодом 501, когда сервер не имеет поддержки стандартных протоколов запросов, среди которых GET, OPTIONS, HEAD, POST и т. д.
502 Bad Gateway (Плохой шлюз)
Пользователь увидит 502 код, если сервер, работает в качестве шлюза или прокси-сервера, и он получил недопустимый ответ от сервера верхнего уровня.
Когда используется подобный код? Обычно, когда сервер высшего уровня и прокси / шлюз не согласованы с протоколами, которые представленными в обращении. Как результат появляется ошибка обмена данных.
503 Server Unavailable (Сервер недоступен)
Код 503 означает, что возникли технические причины, из-за которых сервер на определенное время не способен обработать набор данных.
Его допустимо использовать в случаях, когда на сайт есть повышенный спрос, но у сервера нет возможности обрабатывать все входящие запросы.
504 Gateway Timeout (Тайм-аут шлюза)
Сервер как шлюз или прокси-сервер не дождался ответа от вышестоящего сервера, чтобы завершить текущий запрос.
Когда этот код может применяться? Когда прокси или шлюз используют как канал передачи данных, а два сервера при этом ожидают на ответ.
505 HTTP Version Not Supported (Версия HTTP не поддерживается)
Сервер не поддерживает версию HTTP протокола, обозначенную при обращении к нему.
Где используется такой код? В тех случаях, которые были указаны выше! Если HTTP протокол более старый, чем нужно серверу, и, как следствие, он не поддерживается.
506 Variant Also Negotiates (Вариант также перенаправляется)
Такой ответ сервера последует, если при оформлении ошибочной конфигурации выбранный параметр указывает сам на себя, что приводит к прерыванию процесса связи.
Когда он применяется? Когда сервер настроен неправильно и не может обработать запрос.
507 Insufficient Storage (Недостаточно места)
Ошибка 507 имеет место, когда сервер не может разместить данные, поскольку для текущего запроса недостаточно пространства.
Этот код может быть применен, когда сервер загружен в полном объеме, а пользователь запрашивает ресурс, который уже имеется в наличии. Трудность здесь заключается в том, что на сервере нет места для хранения отправленных в запросе данных, чтобы отправить запрашиваемый ресурс.
509 Bandwidth Limit Exceeded (Превышена пропускная способность)
Этот код ответа используется, когда веб-сайт лимитирует ограничение трафика, предназначенное для него.
Когда используется этот статус? Когда Apache запускает правильное расширение, а ISP имеет пропускную способность, которая может быть скоро превышена. Здесь имеется несколько форм ограничения.
510 Not Extended (Нет расширения)
Код 510 появляется, когда на сервере нет расширения, которое хочет использовать клиент. Когда этот код появляется? Когда сервер требует больше данных в запросе.
511 Network Authentication Required (Требуется аутентификация сети)
Этот статус-код демонстрируется, если клиенту следует сначала авторизоваться в сети, к примеру, необходимо ввести пароль для платного доступа в сеть Интернет.
Когда используется этот код? Когда пользователь сначала должен дать свое согласие на условия использования, прежде чем он получит доступ к Интернету (например, к Wi-Fi точке доступа).
3xx: Redirection — Редирект ( перенаправление )
Коды данной категории, сообщают клиенту, что для завершения запроса, ему необходимо выполнить дополнительный запрос, как правило по другому URI, соответствующий адрес указывается в строке Location, ответа сервера. Программа — клиент может совершать дополнительные запросы без участия пользователя, при условии что дополнительный запрос делается методами GET или HEAD.
Некоторые клиенты некорректно работают с редиректами 301 и 302, применяя в запросе ко второму ресурсу метод GET, несмотря на то, что первый запрос был сделан с использованием другого метода. В протоколе HTTP версии 1.1, вместо ответа статуса 302, были введены дополнительные коды ответов, 303 и 307. Изменять метод, необходимо только в случает ответа сервера со статусом 303, в остальных случаях использовать исходный метод.
300 Multiple Choices — Несколько вариантов выбора.
По запрошенному URI, существует несколько вариантов ресурса, различных по MIME типу. языку или другим признакам. В ответе сервера, передается список альтернатив, выбираемый клиентским приложением автоматически или самим пользователем. Появился в протоколе версии HTTP/1.0.
301 Moved Permanently — Перемещёно окончательно.
Запрошенный ресурс был окончательно перемещен на URI, указанный в строке заголовка Location, ответа сервера. Некоторые клиенты, при обработке данного кода, ведут себя некорректно, см. выше. Появился в протоколе версии HTTP/1.0.
302 Found — Найдено ( Moved Temporarily )
Данный код статуса сообщает клиенту, что ресурс временно доступен по другому URI, указанному в строке заголовка Location, заголовка ответа сервера. Данный код используется например, при согласовании содержимого ( Content Negotiation ), выполняемого сервером. Появился в протоколе версии HTTP/1.0.
303 See Other — Смотреть другое.
Документ из запрошенного URI, нужно запросить по адресу, указанному в строке заголовка Location, заголовка ответа сервера, используя метод GET, невзирая на то, каким методом был сделан первый запрос. Появился в протоколе версии HTTP/1.1.
304 Not Modified — Не изменялось.
Данный код выдается в случае запроса документа, методом GET, с использованием заголовков If-Modified-Since или If-None-Match, и документ не был изменен с указанного момента времени. Появился в протоколе версии HTTP/1.0.
305 Use Proxy — Использовать прокси сервер.
Запрос к ресурсу, должен выполняться через прокси-сервер., адрес которого, указан в строке заголовка Location, заголовка ответа сервера. Появился в протоколе версии HTTP/1.1.
307 Temporary Redirect — Временное перенаправление
Запрошенный ресурс временно доступен по URI, указанному в строке заголовка Location, заголовка ответа сервера. Появился в протоколе версии HTTP/1.1.
Коды успешной обработки запроса
Коды группы сигнализируют о том, что запрос принят и успешно обработан.
200 ОК
Это один из самых популярных ответов, он означает, что запрос принят и успешно обработан, страница открыта и доступна к просмотру. Все страницы, которые будут проиндексированы, должны отдавать код 200 ОК.
201 Created
Ответ означает, что сервер принял запрос, обработал и создал новый ресурс. Код можно увидеть, к примеру, если пользователь создал новую страницу. Если новый ресурс создать невозможно, или он перестанет существовать к тому времени, когда клиент получит сообщение, то сервер отдаст код 202 Accepted.
202 Accepted
Сервер принял запрос, но не завершил его обработку. Запрос можно отклонить, поскольку на его выполнение может потребоваться слишком много времени.
203 Non-Authoritative Information
Код ответа 203 означает, что операция прошла успешно, но от кода 200 он отличается указанием источника информации. Данные получены не из первоисточника, а с другого сервера или резервной копии. Возможно, информация устарела, о чем и предупреждает код ответа.
204 No Content
Обработка запроса прошла успешно, но серверу нечего отправить в ответ. Ответ не содержит тело сообщения, только заголовки. Обычно такой код включается в первую пустую строку кода, чтобы разрешить запуск скриптов, не меняя содержимого и не обновляя страницу.
205 Reset Content
Сервер сигнализирует, что запрос успешно обработан и клиенту нужно сбросить введенные данные. Обновление документа не требуется, сервер не передает тело сообщения.
206 Partial Reset
Этот код обычно используют инструменты кэширования. Сервер в ответе возвращает только часть контента страницы, которую и запрашивает пользователь.
207 Multi-Status
Код обозначает мультистатусность ответа: сервер обработал несколько операций,не зависящих друг от друга. Результаты отображаются в теле сообщения как XML-документ с объектом multistatus.
Как проверить код ответа сервера
Посмотреть код ответа на странице можно бесплатно за пару кликов. В браузере информация находится на панели разработчика: в Google Chrome для вызовите панель горячей клавишей F12, откройте вкладку Network и обновите страницу.
Результаты просмотра кода в браузере
Для просмотра кода есть браузерные расширения:
HTTP Headers для Google Chrome, HTTP Header для Opera.
Инструмент в Яндекс.Вебмастере покажет код статуса HTTP.
Результаты проверки инструментом
Инструмент
проверки заголовков сервера от PR-CY определит HTTP статусы сайта и доменного имени.
Результаты проверки инструментом
Ошибка 502
Bad Gateway
Данная ошибка — результат запроса, при котором был получен недопустимый ответ от сервера. Причин возникновения проблемы может быть несколько:
- Проблемы в работе прокси-сервера. Для устранения этой ошибки попробуйте набрать в адресной строке браузера ссылку на какой-либо другой сайт. Тем самым вы можете проверить, есть ли доступ в Интернет вообще. Если вы обнаружили, что доступ в Интернет есть, но ваше обращение к конкретному сайту все равно дает ошибку 502, попробуйте удалить файлы cookies в браузере.
- Нехватка ресурсов сервера. Это может означать, что нагрузка на сервер превышает ресурсы, доступные на выбранном тарифе хостинга. Уточните у своего хостинг-провайдера информацию о тарифах с большим объемом ресурсов и, в случае необходимости, увеличьте оперативную память или доступный объем диска.
10.5 5xx — Коды ошибок сервера.
Коды состояния, начинающиеся с цифры «5» указывают случаи, в
которых сервер знает, что допустил ошибку или неспособен выполнить
запрос. Отвечая на запрос, за исключением запроса HEAD, серверу
СЛЕДУЕТ включить объект, содержащий объяснение ошибочной ситуации
и информацию, является ли это положение временным или постоянным.
Агентам пользователя СЛЕДУЕТ показывать пользователю любой
включенный объект. Эти коды состояния применимы к любому методу
запроса.
10.5.2 501 Не реализовано, Not Implemented.
Сервер не поддерживает функциональные возможности, требуемые для
выполнения запроса. Этот ответ соответствует состоянию, когда
сервер не распознает метод запроса и не способен обеспечитиь его
для любого ресурса.
10.5.3 502 Ошибка шлюза, Bad Gateway.
Сервер, действуя в качестве шлюза или прокси-сервера, получил
недопустимый ответ от следующего сервера в цепочке запросов, к
которому обратился при попытке выполнить запрос.
Сервер в настоящее время не способен обработать запрос из-за
временной перегрузки или обслуживания сервера. Это временное
условие, которое будет облегчено после некоторой задержки.
Если известна продолжительность задержки, она может быть указана
в заголовке Retry-After. Если Retry-After не присутствует в
ответе, клиенту СЛЕДУЕТ обрабатывать этот ответ как ответ с кодом
500.
Обратите внимание: существование кода состояния 503 не
подразумевает, что сервер должен использовать его, когда
перегружен. Некоторые сервера могут просто закрывать соединение.
10.5.5 504 Истекло время ожидания от шлюза, Gateway Timeout.
Сервер, действуя в качестве шлюза или прокси-сервера, не получил
своевременного ответа от следующего сервера в цепочке запросов, к
которому обратился при попытке выполнить запрос.
10.5.6 505 Не поддерживаемая версия HTTP, HTTP Version Not Supported.
Сервер не поддерживает, или отказывается поддерживать, версию HTTP
протокола, которая используется в сообщении запроса. Сервер
указывает, что не способен или не желает выполнять запрос,
используя ту же самую major версию, что и клиент, как описано в
, в других сообщениях. Ответу СЛЕДУЕТ содержать объект,
описывающий, почему эта версия не поддерживается, и какие другие
протоколы поддерживаются этим сервером.
Copyright 1998
Alex Simonoff
(http://www.omsk.com/Leshik/),
All Rights Reserved.
Что такое ошибка HTTP 429?
Ошибка HTTP 429 – это код состояния ответа HTTP, который указывает, что клиентское приложение превысило предел скорости или количество запросов, которые они могут отправить за определенный период времени. Обычно этот код не просто сообщает клиенту о прекращении отправки запросов – он также указывает, когда они могут отправить другой запрос.
Ответ 429 технически не является ошибкой – это ответ сервера, интерфейса прикладного программирования (API) или плагина, который сообщает клиентскому приложению о прекращении отправки запросов, потому что у них просто недостаточно ресурсов для его приема в это время. Клиентское приложение обычно относится к веб-сайту или приложению, но также может относиться к отдельным пользователям, таким как администратор сайта, посетитель сайта или хакер.
Например, если пользователь слишком часто пытается получить доступ к странице на вашем веб-сайте в течение короткого периода времени, ваш сервер может отправить ошибку 429
В случае попытки грубой силы входа в систему, когда хакер неоднократно пытается войти на ваш сайт, ограничение скорости является важной мерой безопасности. Но ограничение скорости также сработает, если ваш сайт использует слишком много ресурсов на сервере или службе общего хостинга
Если, например, с IP-адреса получено более 50 запросов в течение одной минуты, PayPal Sandbox заблокирует этот IP-адрес на следующие пять минут.
Хотя ответ 429 может показаться карательным, на самом деле это защитная мера от пользователей, намеренно или случайно злоупотребляющих ресурсами сервера (или API, плагина или другой службы). Он разработан для предотвращения резервного копирования или переполнения запросов, которые могут перегрузить сервер или другую службу, которая предназначена для совместного использования и использования многими веб-сайтами и приложениями. Таким образом, контролируя количество и время запросов, ограничения скорости предотвращают проблемы до их возникновения.
Если вы видите ошибку HTTP 429 на своем сайте по другим причинам, вам может потребоваться уменьшить количество запросов к серверу или вызовов API, которые вы делаете. Обсуждаемые ниже шаги являются общими исправлениями ошибки 429 Too Many Requests. Если у вас есть сайт WordPress, вам могут потребоваться специальные решения для WordPress.
Все HTTP коды ответа сервера и их значения
Информационные
- 100 Continue — «Продолжить». Запрос успешно принят.
- 101 Switching Protocol — «Переключение протокола». Сервер перешел на протокол заголовка.
- 102 Processing — «В обработке». Сервер еще не обработал полученный запрос.
- 103 Early Hints — «Ранние подсказки». Указываются ресурсы, которые можно загрузить до ответа сервера
Успешные
-
200 OK — «Успешно». Запрос обработан. Зависит от запрашиваемого метода HTTP:
- GET: «ПОЛУЧИТЬ». Ресурс передан в теле ответа.
- HEAD: «ЗАГОЛОВОК». Заголовки переданы.
- POST: «ПОСЫЛКА». Ресурс результата действия сервера на запрос передан.
- TRACE: «ОТСЛЕЖИВАТЬ». Ответ содержит тело запроса.
- 201 Created — «Создано». Запрос выполнен и ресурс создан.
- 202 Accepted — «Принято». Запрос принят, но не обработан. Не поддерживается — нет способа при помощи HTTP отправить ответ позже.
- 203 Non-Authoritative Information — «Информация не авторитетна». Возвращенная информация предоставлена из другого источника, а не от стартового сервера.
- 204 No Content — «Нет содержимого». Нет содержимого для ответа. Заголовки ответа при этом присылаются.
- 205 Reset Content — «Сбросить содержимое». Уведомление, что запрос обработан, и необходимо отправить отображение документа этого запроса.
- 206 Partial Content — «Частичное содержимое». Используется для отдельной загрузки в несколько потоков при отправке заголовка диапазона.
Перенаправления
- 300 Multiple Choice — «Множественный выбор». У запроса есть больше одного возможного ответа. Необходимо выбрать один из них, но стандартного способа выбора нет.
- 301 Moved Permanently — «Перемещён на постоянной основе». Изменился URI запрашиваемого ресурса. Новый URI, может быть, предоставлен в ответе.
- 302 Found — «Найдено». Временно изменен запрашиваемый ресурс. В будущем изменения в URI, возможно, будут доступны.
- 303 See Other — «Просмотр других ресурсов». Направление для получения запрашиваемого ресурса в другой URI с запросом GET.
- 304 Not Modified — «Не модифицировано». Запрошенный ресурс не изменен. Можно использовать кэшированную версию ответа далее.
- 305 Use Proxy — «Использовать прокси». Запрашиваемый ресурс запроса имеет доступ через прокси.
- 306 Switch Proxy — «Больше не использовать».
- 307 Temporary Redirect — «Временное перенаправление». Отправлено для получения запрошенного ресурса на другой URL-адрес с помощью метода предыдущего запроса.
- 308 Permanent Redirect — «Перенаправление на постоянной основе». Постоянное нахождение ресурса в другом URI, который находится в заголовке.
Ошибка 500
Internal Server Error
Ошибка 500 означает, что на сервере есть внутренняя ошибка. Эта проблема может возникнуть по двум причинам:
- Невозможно запустить скрипт. Скорее всего, указаны неправильные права доступа на папки и файлы. Если на PHP файлы скриптов, размещенных на вашем хостинге, стоят права доступа 777, то исполнение данных скриптов может быть заблокировано сервером. Происходит это из-за того, что права доступа 777 позволяют всем производить любые изменения с данным файлом, что существенно влияет на безопасность и целостность вашего сайта. Для устранения этой ошибки следует проверить права доступа на папки и файлы сайта. Для папок рекомендовано установить права доступа 755, для исполняемых скриптов 600, а для всех остальных файлов 644.
- Неправильная инструкция в файле .htaccess или наличие в нём неподдерживаемых директив. Возможно, вы ошиблись в написании названия нужной директивы или параметров к ней. Данную ошибку можно устранить, включив лог ошибок error.log. Веб-сервер укажет вам, какую конкретно директиву он посчитал ошибочной — ее нужно будет исправить.
Методика решения неприятного конфликта
Очень часто способ исправления подобной ситуации лежит на поверхности. Ошибка html5 — что это? Прежде всего, невозможность загрузить видеоизображение. То есть, иногда первопричиной этой неприятности является проблемы сайта, а не настроек оборудования, на котором человек хочет просмотреть фильм или ролик. Следовательно, на первом этапе лечения рекомендуется сделать следующее:
- Перезагрузить требуемую страницу или зайти на нее позже — возможно к этому времени проблема решится со стороны провайдера или владельца интернет-ресурса, на котором возникает ошибка html5 при просмотре видео.
- Попробовать использовать альтернативный интернет-браузер. В некоторых случаях одни программы создают конфликтную ситуацию, другие — нет.
Если на экране возникает сообщение «ошибка html5 видео не найдено», то тоже все предельно понятно — файл, скорее всего, был удален владельцем, а значит, при желании его просмотреть, потребуется выполнить его поиск на альтернативных сетевых ресурсах.
Если простейшие, вышеописанные операции, не принесли положительного результата, и пользователя все равно волнует ответ на вопрос — что значит «html5 4 ошибка загрузки», — то у человека остается только два возможных решения.
- Попробовать остановить работу установленных приложений и плагинов, которые предназначены для блокирования показа рекламы.
Иногда именно эти инструменты приводят к возникновению подобного сообщения и невозможности осуществить просмотр видеороликов. Естественно, в каждом браузере подобные элементы находятся в разных местах. Например, в Гугл Хром выполнить требуемую деактивацию можно следующим образом:
- Запустить Google Chrome.
- Нажать на три точки, расположенные в правой верхней части страницы.
- Перейти в меню настроек.
- Выбрать в его левой части «Расширения».
- Снять галочки с тех вариантов, которые могут привести к вышеописанному состоянию.
- Очистить кэш и Куки.
Сделать это можно, опять же в каждом сетевом браузере по своему. Но проще воспользоваться бесплатной и очень удобной утилитой, известной, как CCleaner:
- Найти, скачать и выполнить инсталляцию программы.
- Закрыть все приложения, через которые пользователь осуществляет выход на просторы Глобальной Паутины.
- Запустить CCleaner.
- Выбрать первое меню — очистка. В нем можно выставить все необходимые настройки, в частности, заставить программу очистить кэш и куки с абсолютно всех браузер, которые установлены на компе пользователя.
- После этого необходим нажать на кнопку «Анализ», затем — «Очистка».
Обычно вышеописанных действий вполне достаточно, чтобы избавиться от возникновения конфликта, связанного с технологией HTML пятой серии.
2xx: Successful
Message | Description |
---|---|
200 OK | The request is OK. |
201 Created | The request is complete, and a new resource is created . |
202 Accepted | The request is accepted for processing, but the processing is not complete. |
203 Non-authoritative Information | The information in the entity header is from a local or third-party copy, not from the original server. |
204 No Content | A status code and a header are given in the response, but there is no entity-body in the reply. |
205 Reset Content | The browser should clear the form used for this transaction for additional input. |
206 Partial Content | The server is returning partial data of the size requested. Used in response to a request specifying a Range header. The server must specify the range included in the response with the Content-Range header. |
2, Successful Responses
HTTP error codes under this family show success in different forms. HTTP response codes 200 – 299 are bearers of good news: the request has been accepted, a new request has been created, or a certain problem was solved. As HTTP status codes in the earlier group act as signposts, HTTP status codes in the 200 group act as go signals for specific actions to continue, because needed requests have been made possible. 202: Accepted means that the client received the request. The HTTP response code 202 does not necessarily mean that the request is made, but what is important is that it is being handled. Part of these HTTP status codes is 206: Partial Content. This means that the request is met partially, but met, nonetheless.
200 OK
This status code indicates that the request has been successful. The meaning of success in on the specific HTTP method:
- GET: the resource was fetched and is being transmitted
- HEAD: The entity-headers are in the message body
- PUT or POST: The resource describing the result of the action is transmitted in the message body
- TRACE: the message body contains the request message as received
201 Created
This indicates that the waste has succeeded and that a new resource has been created as a result. This is typically a response that is sent after POST requests, or some PUT requests.
202 Accepted
The request has been accepted for processing, but the processing has not been completed. The request may be eventually acted upon and may be disallowed when processing occurs. This is intended for cases where another process or server handles the requests, or for batch processing.
203 Non-Authoritative Information
This status code really means that the returned metainformation is not entirely the same as the information available from the origin server, but it is collected from a local or third-party copy. This is mostly useful for backups of another resource.
204 No Content
This status code shows where there is no content sent for a specific request, although the headers may be useful. The user agent may update its cached headers for this resource with new ones.
205 Reset Content
This status code tells the user agent to reset the document which sent the request.
206 Partial Content
This response code is used when the Range header is sent from the client to request only part of a resource.
207 Multi-Status (WebDAV)
This status code provides information for multiple independent operations. The message of the is default an XML message and it can provide various response codes, depending on how many sub-requests were made.
208 Already Reported (WebDAV)
Used inside a <dav:propstat> response element to avoid repeatedly enumerating the internal members of multiple bindings to the same collection.
226 IM Used (HTTP Delta encoding)
The server has fulfilled a GET request for the resource, and the response is a representation of the result of one or more instance-manipulations applied to the current instance.
👨💻 Практическое занятие: Коды статусов и ошибок
В своем найденном опен-сорс проекте найдем информацию о кодах статусов и ошибок. Ответим на следующие вопросы:
- присутствуют описания кодов статусов и ошибок в проекте?
- где находится информация о кодах статусов и ошибок в контексте документации? Как отдельная тема? Ниже каждой конечной точки? Где-нибудь еще?
- имеет ли API какой-либо уникальный код статусов и ошибок?
- помогают ли коды ошибок пользователям восстанавливаться после ошибок?
- сделаем запрос на одну из конечных точек, затем целенаправленно изменим параметр, чтобы сделать недействительный запрос. Какой код статуса возвращается в ответе? Этот код состояния задокументирован?