Коды ошибок HTTP
Знакомы ли вам досадные моменты, когда сайт выдает коды ошибок http? Большинство интернет-пользователей задавались вопросами о причинах и способах устранения этих проблем.Перед тем, как рассматривать проблему широко, представим важные определения. Клиент - это ПО или аппаратное обеспечение, имеющее связь с сетью Интернет и запрашивающее у сервера определенные данные. Server - это компьютер, который хранит данные, выполняет служебные функции для других компьютеров в сети, принимает запросы от клиентов и отвечает на них.
Коды состояния HTTP
Код ошибок http запросов - это часть заголовка ответа веб-сервера на запрос клиента, которая информирует о результате и указывает, какие действия он должен предпринять. За кодом ответа следует фраза на английском языке, которая поясняет проблему.Коды состояния HTTP бывают пяти категорий:
- Класс 1 - временные информационные коды (1ХХ). Они указывают на то, что запрос принят и находится в обработке.
- Класс 2 - успешная обработка запроса (2ХХ). Например, это не ошибка 200 http, так как запрос был успешно выполнен.
- Класс 3 - перенаправление (3ХХ). Указывают на необходимость перенаправления с одного адреса на другой (например, http ошибки 300, 301, 302, 304).
- Класс 4 - ошибка со стороны клиента (4ХХ). Например, при ошибке 404 запрашиваемая страница не найдена, а 403 - указывает на запрет доступа к странице.
- Класс 5 - (5ХХ) ошибка со стороны сервера.
4xx - Ошибки на стороне клиента
Ошибки запросов http 4XX отвечает за проблемы, которые происходят на стороне клиента, то есть посетителя сайта. Большинство таких ответов сервера возникают из-за недоработок веб-мастера: неверное указание URl, ошибки в настройке HTTP-сервера и т.п.Код ошибки сервера | Пояснение |
400 - Плохой запрос | http 400 что это за ошибка? Сервер не может обработать запрос из-за проблемы клиента. Например, слишком большой файл, неверный синтаксис, недействительный URL. Поэтому код ошибки 400 http иногда используется как обобщающий для всех статусов ошибок, даже если проблема возникает на стороне сервера. |
401 - Несанкционированный | http error 401 что за ошибка? Запрос не содержит подходящих учетных данных для проверки подлинности, аутентификация не удалась. В тех случаях, когда вы хотите сообщить клиенту, что полностью запрещен доступ, должна выдаваться ошибка http 403. |
402 - Требуется оплата | Запрос не может быть выполнен до тех пор, пока клиент не произведет оплату. В настоящее время очень редко применяется в веб-разработке. |
403 - Запрещено | Запрос был понят, но сервер отказывает в авторизации, поэтому клиент не может получить доступ к нему. В отличие от статуса 401, который требует аутентификации, статус 403 говорит, что клиент не имеет разрешения на доступ. |
404 - Не найдено | Ошибка http 404 указывает на то, что сервер не готов предоставить доступ к ресурсу. Если страницы исчезли навсегда рекомендуется использовать код статуса 410. |
405 - Метод не допускается | 405 http ошибка говорит, что сервер не поддерживает конкретный ресурс, который был запрошен клиентом. |
406 - Неприемлемо | http 406 ошибка подобно статусу 405 указывает на отсутствие поддержки для конкретного запроса. Но в отличие от предыдущей ошибки, код 406 говорит о том, что сервер понял запрос, но ответ не может быть принят клиентом. |
407 - Необходима аутентификация прокси | Данный код, который подобен коду 401, отражает необходимость предварительной авторизации пользователя через прокси-сервер. |
408 - Таймаут запроса | Сервер в установленные сроки не получил запрос от клиента. Это может быть вызвано нестабильным или прерванным соединением. |
409 - Конфликт | Запрос был корректным, но на стороне сервера возникли проблемы. Примером http 409 ошибки может быть попытка редактирования файла пользователем, когда эти операции не допускаются. |
410 - Ушли в прошлое | Запрашиваемый ресурс больше не доступен на сервере и это состояние, скорее всего, является постоянным. Если вы не уверены, является ли это состояние постоянным, рекомендуется использовать код 404. |
411 - Требуется длина | Отсутствует предопределенная длина тела запроса. Клиент может повторить запрос, указав корректную длину тела запроса. |
412 - Предпосылки не выполнены | Запросы с условиями являются одной из возможностей протокола HTTP. Статус указывает, что одно или несколько условий в заголовке запроса не выполнены. Например, это может произойти в случае условного запроса GET, когда ресурс должен быть повторно включен только в том случае, если он был изменен. |
413 - Тело запроса велико | Эта ошибка возникает, когда размер тела запроса (или передаваемого файла) превышает ограничение, установленное на сервере. |
414 - URI слишком длинный | Клиентский запрос содержит URL, превышающий допустимую длину. Ограничения устанавливаются браузерами и поисковыми системами в целях безопасности и предотвращения DDoS-атак или ошибок кода. Однако сам протокол HTTP не устанавливает явные ограничения, и если URL-адрес превышает допустимую длину, сервер возвращает ошибку. |
415 - Неподдерживаемый тип мультимедиа | 415 ошибка http означает, что сервер не может обработать тело или часть тела запроса из-за неизвестного формата мультимедиа. Этот код ошибки является аналогом статусного кода 406, но в отличие от него 415 ошибка связана с неподдерживаемым значением именно мультимедиа. |
416 - Диапазон не удовлетворяется | В запросе присутствовало поле заголовка Range, но ни одно из указанных значений не соответствует размеру запрашиваемого ресурса, и при этом не указано поле заголовка If-Range. Это особенно относится к запросам на указание диапазона байтов, где первый байт в спецификации диапазона был больше, чем фактический размер ресурса. |
417 - Ожидание не оправдалось | Сервер не может обработать поле "Expect", содержащееся в запросе. Также возможна ситуация, когда при обращении к серверу через прокси-сервер время ожидания истекло, что также вызывает ошибку 417. По сравнению с ошибкой 408, явно указывается использование прокси-сервера. |
418 - 420 - Я чайник | Ошибка 418 http изначально создана как первоапрельская шутка, иногда используется в качестве юмористического элемента, но на самом деле не предназначена для реальных повседневных целей. Она не получила официального статуса и, как следствие, большинство браузеров игнорируют ее. |
421 - Неправильный запрос | Запрос передан на сервер, который не может обработать его правильно. Обычно это происходит, когда в DNS указан неправильный IP-адрес. Также такая ошибка может возникнуть на сайтах с одним SSL-сертификатом для разных доменов. |
422 - Необработанное | 422 ошибка http возникает, когда полученный запрос успешно доставлен серверу и обработан, однако обнаружена логическая ошибка в содержимом XML-документа, что препятствует выполнению требуемой операции в рамках протокола WebDAV. Это может произойти, например, при передаче данных, не соответствующих ожидаемому формату или содержащих ошибки. |
423 - Заблокирован | Доступ на указанную платформу не разрешен для текущего пользователя или его аккаунта. Это может быть вызвано отсутствием или истекшим сроком действия учетных данных, неверными учетными данными, а также ограничениями, установленными администратором системы. |
424 - Неудачная зависимость | Выполнение текущего запроса зависит от успешного выполнения другого процесса. Если зависимая операция не выполнилась, это может привести к невозможности выполнить текущий запрос и сервер возвращает данный код. |
425 - Слишком рано | Клиентский HTTP запрос происходит на протоколе HTTPS. В процессе установки связи между клиентом и сервером может потребоваться значительное время. Это создает уязвимость, так как вынуждает сервер отправлять клиенту запрос на повторение до тех пор, пока безопасное соединение не будет полностью установлено. |
426 - Требуется обновление | Необходимо использовать новый протокол для отправки запросов на сервер. Эта ошибка возникает, когда клиент продолжает использовать устаревшую версию протокола HTTP, в то время как сервер требует более современной версии. |
428 - Требуется предварительное условие | Код разработан с целью предотвращать конфликтные версии ресурса GET-PUT, когда клиент получает состояние ресурса, изменяет его и отправляет обратно на сервер, в то время как третья сторона изменяет состояние на сервере, что приводит к возникновению конфликта. |
429 - Слишком много запросов | 429 ошибка http будет отправлена, если клиент совершает слишком много запросов в течение краткого промежутка времени. |
431 - Запрос хедеров слишком большой | Сервер не может обработать запрос из-за слишком больших полей заголовка. |
444 - Нет ответа | Используется для обозначения в лог-файлах сервера Nginx ситуаций, когда сервер закрыл соединение без передачи информации обратно пользователю. В основном применяется в контексте защиты от вредоносного программного обеспечения. |
499 - Закрытый запрос клиента | http 499 ошибка выдается, когда клиент прекращает соединение в процессе обработки запроса сервером. В результате сервер не может отправить обратно http-заголовок. |
450 - Заблокировано родительским контролем Windows | В параметрах родительского контроля Windows определена блокировка доступа к отдельным страницам. Используется, когда родители применяют функцию родительского контроля, а пользователь запрашивает доступ к заблокированному ресурсу. |
451 - Не доступен по юридическим причинам | Сервер отказывается обслуживать запрошенный контент: установлена цензура правительства к определенному контенту, при нарушении авторских прав, а также когда контент, который противоречит законам или судебным решениям. |
5xx - Серверные коды ошибок http 500
5XX статусы ошибок http обычно связаны с действиями вебмастера или администратора. Изменения, внесенные в директорию или конфигурацию сервера, могут привести к некорректной работе сайта. Например, неправильная настройка прав доступа может вызвать ошибку.http status, code | Описание |
500 - Внутренняя ошибка сервера | Что за ошибка http error 500? Она появляется, когда на сервере произошло непредвиденное условие, которое препятствует успешному выполнению запроса. Это могут быть внутренние сбои программного обеспечения, проблемы с базой данных, ограничениями ресурсов и другими факторами. |
501 - Метод не поддерживается | Сервер не имеет возможностей для выполнения запроса, не распознает или не поддерживает метод, указанный в нем. |
502 - Ошибка шлюза | При ошибке http 502 сервер, действующий в качестве прокси-сервера или шлюза, получил недопустимый ответ от следующего сервера в цепочке запросов. Это может произойти по нескольким причинам, например, если сервер недоступен, отвечает с ошибкой или слишком медленно. |
503 - Служба недоступна | http 503 что за ошибка - служба недоступна? Сервер не может выполнить запрос клиента. Может быть, он чрезмерно загружен или отключен. |
504 - Время прохождения через межсетевой шлюз истекло | Такая ошибка возникает, когда сервер, работая в качестве прокси-сервера или шлюза, не может получить ответ вовремя от сервера, к которому он обратился. |
505 - Версия HTTP не поддерживается | Сервер отказывается поддерживать версию протокола HTTP, которая была указана в запросе клиента. В частности, клиент отправил запрос с использованием новой версии протокола, которую сервер не распознает и не может обработать. |
507 - Недостаточно места | Серверу не хватает места на диске для выполнения требуемой операции. Например, на сервере запущено много приложений или хранится большое количество данных, сервер не настроен для учета дискового пространства и т.п. |
510 - Отсутствует расширение | Сервер не может обработать запрос клиента из-за отсутствия поддержки запрашиваемого расширения. Сервер может работать на устаревшей или несовместимой версии ПО, которое не поддерживает требуемое расширение; не настроен для обработки определенного типа расширений; недостаточно ресурсов для их выполнения. |
Как проверить код состояния страницы
Давайте начнем с ручного способа. Откройте сайт в браузере Chrome и нажмите на клавишу «F12» (если у вас ноутбук, то, возможно, придется нажать «Fn + F12»). Также можно открыть инструменты разработчика с помощью сочетания клавиш «Ctrl + Shift + I». Переключитесь на вкладку «Network» и нажмите «Ctrl + R», чтобы получить код страницы. В столбце «Status» вы увидите коды состояния. Также существуют специальные плагины и сервисы.Bertal
Бесплатный сервис для просмотра http-заголовков, веб-файлов, html-кодов страниц. Совместим со всеми протоколами: HTTP, HTTPS, FTP.Запрос информации производится методами HEAD, GET, POST. Метод HEAD используется для получения только заголовка. Метод GET используется для получения и заголовка, и тела. Метод POST работает аналогично методу GET, но дополнительно содержит заполненную строку POST.
Поддерживает поисковых роботов, таких как YandexBot, GoogleBot, BingBot, Yahoo, Baiduspider - можно проанализировать их действия и получить нужную информацию.
Сервис полностью совместим со всеми популярными браузерами, работает с Proxy
PR-CY
Сервис SEO-аудита сайта, мониторинга и контроля позиций в поисковой выдаче. Идеально подходит для анализа кодов ответа сервера.Детально анализирует все элементы страницы, такие как тексты, скрипты, видео и фотографии. Поддерживает различные методы запросов, включая GET, POST и HEAD.
Работает с Google и Yandex.
Есть бесплатный тариф для экспресс-анализа сайта. Однако для полного аудита рекомендуется приобретение подписки.
Checkmy
Мощный бесплатный инструмент, который обеспечивает детальную проверку кодов и заголовков ответа сервера. Он также проверяет доступность URL-адресов, сжатие контента, кэширование страниц, валидность кода, тип сервера и корректность переадресаций.Работает также с кириллическими доменами, есть мобильная версия инструмента, проверяет страницы с несколькими редиректами, отображает размер и скорость загрузки страниц и т.д. Приобретение платной подписки расширяет функционал.
Яндекс.Вебмастер
Бесплатно предоставляет ценные сведения о том, как сам робот видит ваш сайт, что позволяет оптимизировать его под требования поисковой системы.Converseo
Многофункциональный бесплатный инструмент, который идеально подходит для проверки отдельного URL-адреса или проведения массового отслеживания. Доступны различные методы работы, включая GET, POST и HEAD, что позволяет осуществлять более глубокий анализ требуемой информации.Coolakov
Работает аналогично Converseo, однако имеет дополнительные функции: возможность массовой проверки URL-адресов. Предоставляет конечный ответ сервера, включая информацию о редиректе на рабочую страницу или ошибке, если страница не работает. Таким образом, вы получаете полную информацию о состоянии каждого URL-адреса.Плагины
Все плагины предоставляют ценную информацию и помогут вам в оптимизации вашего сайта. Их использование совершенно бесплатно.- Redirect Path Link
- Robots Exclusion Checker
- SEO META in 1 CLICK
- Website SEO Checker: Free Audit & Analysis.
Как исправить ошибку HTTP
Важно обновлять веб-браузер после внесения изменений в программное обеспечение.Анализ журнала сервера является важным шагом для понимания процессов обработки запросов. Веб-серверы, такие как Apache и Nginx, предоставляют файлы access.log и error.log, содержащие полезную информацию. Аккуратное изучение этих файлов может помочь выявить и исправить проблемы. Стоит отметить, что коды ошибок HTTP являются стандартной частью протокола. Они генерируются сервером приложений, обрабатывающим запросы клиентов, и отражают специфическую ошибку. Таким образом, код ответа сервера зависит от того, как программное обеспечение обрабатывает эту ошибку.
Рассмотрим устранение наиболее распространенные ошибки http при обращении к серверу, которые могут возникнуть как со стороны клиента, так и со стороны сервера.
Ошибка http при обращении к серверу | Причина | Рекомендации - что делать |
400 | Много файлов cookies и данных в кэше. | Очистить кэш веб-браузера и удалить файлы cookies. |
Неисправности в браузере. | Обновить используемый веб-браузер до последней версии или перейти в другой браузер. | |
Неверный HTTP-запрос. | Проверить синтаксис и параметры запроса, чтобы исключить возможные ошибки. | |
401 | Клиент пытается получить доступ к ограниченному ресурсу, который охраняется системой авторизации HTTP. | Ошибка появляется до тех пор, пока клиент не предоставит правильные учетные данные, включая логин и пароль. Для этого требуется внести соответствующую информацию в файл .htpasswd. |
403 | Отсутствуют права на чтение запрашиваемого файла. | Расширить права доступа. |
Использование файла .htaccess для ограничения доступа по определенным IP-адресам и ресурсам. | Проверить и настроить файл .htaccess. | |
Клиент пытается открыть каталог, в котором отсутствует индексный файл, а отображение содержимого отключено. | Активировать функцию отображения содержимого каталога в настройках сервера. | |
404 | Это может быть вызвано несколькими причинами, но важно понять, какие действия можно предпринять для решения проблемы. | Проверить правильность написания ссылки или URL-адреса, который вы ввели в браузер. Возможно, запрашиваемый файл был перемещен, удален или переименован на сервере. Проверить конфигурацию сервера и убедитесь, что правильно указана корневая директория. Убедитесь, что у вас есть права доступа для открытия каталога, где находится запрашиваемый файл. Проверить, поддерживает ли сервер символические ссылки. |
500 | Неправильные права доступа к папкам и файлам или некорректный инструктаж в файле .htaccess. | Проверить настройки прав доступа к файлам и папкам, убедиться в правильности .htaccess и избегать использования неподдерживаемых директив. |
502 | Проблемы с обратным прокси-сервером. | Проверить состояние и настройку сервера backend. Проверить настройку сетевого соединения между серверами backend и обратным прокси-сервером. Убедиться, что нет блокировки брандмауэром. Проверить разрешения для сокетов и убедиться, что они корректно расположены. |
503 | Зависание скриптов при передаче больших файлов. | Проверить компоненты и плагины вашей CMS, отключая их по очереди и определяя наиболее тяжелые или поврежденные, которые замедляют загрузку сайта. Отказаться от таких компонентов или найти более быстрые аналоги. Проверить наличие медленных запросов в файле mysql-slow.log. Убедиться, что в PHP-скриптах используются локальные пути, а не URL-адреса типа "http://...". |
Большое количество запросов к серверу - может быть вызвано несколькими причинами: - Разделение или ссылки на слишком большое количество файлов (изображения, таблицы стилей, JS-скрипты), которые загружаются через отдельные запросы. - DDoS-атаки, флуд и спам-комментарии. | Объединить ресурсы в один файл, где это возможно. В случае DDoS-атаки важно определить ее тип и предпринять соответствующие меры для ее устранения. | |
504 | Слабое интернет-соединение между шлюзом и основным сервером. Это может быть связано с проблемами провайдера или в сетевой инфраструктуре. | Проверить интернет-соединение и убедиться в его стабильности. Если возникают проблемы с подключением - обратиться к своему интернет-провайдеру. |
Перегрузка сервера-шлюза по причине высокого трафика и недостаточных ресурсов. | Оптимизация кода для улучшения производительности или добавление дополнительных ресурсов на сервере. | |
В настройках сервера может быть указан слишком короткий интервал времени для ожидания ответа от сервера-посредника. | Увеличить его время в настройках сервера-посредника. |
Заключение
Даже на самых лучших сайтах иногда возникают проблемы и ошибки. Если вы хотите справиться с такой HTTP-ошибкой самостоятельно, необходимо разобраться в источнике ее возникновения. Новые знания помогут вам экономить не только время, но и ресурсы, так как не придется обращаться за помощью к технической поддержке провайдера.28 Apr 2024, 16:08:59