yandex
Калькулятор ценТарифыАкцииДокументацияО насКарьера в Cloud.ruНовостиЮридические документыКонтактыРешенияРеферальная программаКейсыПартнерство с Cloud.ruБезопасностьEvolutionAdvancedEvolution StackОблако VMwareML SpaceВ чем отличия платформ?БлогОбучение и сертификацияМероприятияИсследования Cloud.ruЛичный кабинетВойтиЗарегистрироватьсяEvolution ComputeEvolution Managed KubernetesEvolution Object StorageEvolution Managed PostgreSQL®Облако для мобильных и веб‑приложенийАналитика данных в облакеEvolution Bare MetalEvolution SSH KeysEvolution ImageСайт в облакеEvolution DNSEvolution VPCEvolution Load BalancerEvolution Magic RouterEvolution DiskХранение данных в облакеEvolution Container AppsEvolution Artifact RegistryEvolution Managed ArenadataDBEvolution Managed TrinoEvolution Managed SparkАналитика данных в облакеEvolution ML InferenceEvolution Distributed TrainEvolution ML FinetuningEvolution NotebooksCurator Anti-DDoSCurator Anti‑DDoS+WAFUserGate: виртуальный NGFWStormWall: Anti-DDoSEvolution TagsEvolution Task HistoryCloud MonitoringCloud LoggingАренда GPUAdvanced Object Storage ServiceAdvanced Elastic Cloud ServerAdvanced Relational Database Service for PostgreSQLРазработка и тестирование в облакеAdvanced Image Management ServiceAdvanced Auto ScalingDirect ConnectCDNCross-platform connectionAdvanced Enterprise RouterAdvanced Cloud Backup and RecoveryAdvanced Data Warehouse ServiceAdvanced Elastic Volume ServiceAdvanced Cloud Container EngineAdvanced FunctionGraphAdvanced Container Guard ServiceAdvanced Software Repository for ContainerAdvanced Document Database Service with MongoDBAdvanced Relational Database Service for MySQLAdvanced Relational Database Service for SQL ServerCloud AdvisorAdvanced Server Migration ServiceAdvanced Data Replication ServiceAdvanced API GatewayAdvanced CodeArtsAdvanced Distributed Message Service for KafkaAdvanced Distributed Message Service for RabbitMQAdvanced DataArts InsightAdvanced CloudTableAdvanced MapReduce ServiceAdvanced Cloud Trace ServiceAdvanced Application Performance ManagementAdvanced Identity and Access ManagementAdvanced Enterprise Project Management ServiceVMware: виртуальный ЦОД с GPUVMware: виртуальный ЦОДУдаленные рабочие столы (VDI)VMware: сервер Bare MetalИнфраструктура для 1С в облакеУдаленные рабочие столыМиграция IT‑инфраструктуры в облако3D-моделирование и рендерингVMware: резервное копирование виртуальных машинVMware: резервный ЦОДVMware: резервное копирование в облакоVMware: миграция виртуальных машин
Поиск
Связаться с нами

Коды ошибок HTTP: что нужно знать о серверных и клиентских ошибках

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

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

Обзоры
Иллюстрация для статьи на тему «Коды ошибок HTTP: что нужно знать о серверных и клиентских ошибках»
Продукты из этой статьи:
Иконка-Advanced Auto Scaling
Advanced Auto Scaling
Иконка-Advanced Cloud Eye
Advanced Cloud Eye
Иконка-StormWall: Anti-DDoS+WAF
StormWall: Anti-DDoS+WAF

HTTP-сообщения и их структура

HTTP (HyperText Transfer Protocol) — это протокол передачи данных прикладного уровня, который нужен для взаимодействия пользователей и веб-ресурсов. Дословно HTTP расшифровывается как «протокол передачи гипертекста». То есть по нему передаются гипертекстовые документы, состоящие из файлов с разметкой и ссылками на другие страницы. Все эти документы написаны на языке гипертекстовой разметки HTML.

Стандартно в соединении по HTTP участвуют два устройства — клиент и сервер. Однако на практике в нем также принимают участие и устройства-посредники: интернет-шлюзы и прокси-серверы.

Примерно так устройства взаимодействуют по HTTP-протоколуПримерно так устройства взаимодействуют по HTTP-протоколу
Дарим до 20 000 бонусов
Дарим до 20 000 бонусов
4 000 бонусов — физическим лицам, 20 000 бонусов — юридическим

В работе HTTP использует специальные HTTP-сообщения, которые делятся на две группы.

  • Запросы (HTTP Requests). Их отправляет ПО — например, браузер — пользователя, интерпретируя его действия и сообщая серверу о необходимости предоставить данные. Чтобы сервер смог выполнить эту задачу, HTTP-запрос выполняется специальными методами GET, HEAD, POST, DELETE и другими. 

  • Ответы (HTTP Responses). Реакция сервера на запросы клиента.

Само HTTP-сообщение включает в себя три составляющих:

  • Стартовая строка (start line) содержит сведения о версии HTML.

  • Заголовок (HTTP Header) — часть, которая  либо конкретизирует запрос, либо описывает содержимое тела сообщения.

  • Тело сообщения (опционально) — фрагмент, в котором могут содержаться связанные с запросом данные или передаваемый в ответе HTML-документ.

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

Информационные коды

Коды этой группы начинаются с «1». Они носят исключительно информационный характер и не влияют на обработку запроса. 

Примеры информационных кодовПримеры информационных кодов

Коды успешных запросов

Если HTTP-запрос прошел успешно, его код будет начинаться с цифры 2.

Примеры кодов для обозначения успешного завершения процессовПримеры кодов для обозначения успешного завершения процессов

Коды перенаправления

Начинающиеся на 3 коды HTTP нужны, чтобы оповещать пользователей о потребности перехода на другой ресурс для выполнения запроса. Адрес этого ресурса записывается в заголовке Location.

Примеры кодов об ошибкахПримеры кодов об ошибках

Коды клиентских ошибок

Коды HTTP, которые сообщают об ошибке на стороне клиента, начинаются на цифру 4. При этом если HTTP-запрос не использует метод HEAD, сервер отправляет пользователю пояснение в гипертекстовом формате. 

Далее чуть подробнее обсудим, какие коды клиентских ошибок бывают и о чем они сигнализируют. 

400 — Bad Request

Эту ошибку можно наблюдать, если клиент направил серверу сообщение с синтаксической ошибкой, а сервер не смог его обработать. 

Типичные причины возникновения ошибки 400 такие:

  • Попытка загрузить на сервер слишком крупный файл.

  • Искаженные cookie-файлы. При посещении сайта пользователем сервер сравнивает его cookie со своими данными. Поэтому использование битых cookie сервер воспринимает как попытку нарушить свою безопасность.

  • Определение заголовков запроса как некорректных.

  • Ошибки в URL — адресе ресурса в интернете.

Чтобы устранить ошибку 404, посетитель сайта может предпринять следующие шаги:

  • Убедиться, что адрес ресурса набран правильно. 

  • Очистить файлы cookie в настройках браузера. 

  • Сжать большие файлы. 

  • Проверить компьютер на вирусы.

  • Очистить устройство от временных файлов.

  • Загрузить свежие обновления ОС.

Также стоит учесть, что иногда ошибка 400 может возникать из-за проблем на сервере. 

К таковым относятся:

  • неверная установка требований к HTTP-заголовкам;

  • некорректная работа плагинов CMS, влияющая на изменения в базе данных;

  • ошибки в программном коде сайта.

401 — Unauthorized

Код 401 возникает, если пользователь вводит неверный логин и пароль или в том случае, когда их нет в базе данных системы. 

Еще одна причина ошибки 401 — срабатывание защиты сайта от ботов. Это актуально в том случае, если у ресурса нет специального сообщения для этой защиты.

Чтобы устранить эту ошибку, пользователю нужно проверить правильность введенных логина и пароля. Если пара логин-пароль сохранена в менеджере паролей, нужно заглянуть туда и проверить ее. Если же после их проверки ошибка 401 сохраняется, следует обратиться к администратору ресурса.

403 — Forbidden

Эта ошибка появляется, если доступ к странице запрещен для посетителя. 

Почему может появиться код 403:

  • Запрет доступа администраторами сервера. Он может быть установлен по IP-адресу, формату файлов, статусу посетителя и так далее.

  • Некорректное расположение файлов на сайте.

  • Ошибки файлов index и .htaccess (на хостинге Linux). Например, index может быть размещен не в корневой папке или иметь другое название.

  • Хостинг не поддерживает технологии, которые использует владелец сервера.

  • Сайт заблокирован провайдером.

Если посетитель сайта столкнулся с ошибкой 403, прежде всего ему нужно открыть страницу, где появился этот код, с разных устройств. Если на другом устройстве ошибка не появится, скорее всего, проблема в девайс.

Также клиент в этой ситуации может принять следующие меры:

  • подождать 15–30 секунд и обновить страницу;

  • посмотреть на URL и убедиться, что он введен верно;

  • если ни один из этих шагов не помог — связаться с администратором ресурса.

Администратор сайта может предпринять следующие меры:

  • Посмотреть настройки доступа к странице с ошибкой и установить настройки так, чтобы на страницу смогли зайти те, кто получает код 403.

  • Открыть корневую папку сайта, поместить туда файл главной страницы и дать ему имя index.

  • Спросить у провайдера, не приостановлено ли обслуживание сайта. Если да, то узнать причины и выяснить, что нужно сделать для возобновления обслуживания.

  • Проверить размещение файлов на сайте. Поставить их на нужные места, если нарушены правила их расположения.

404 — Not Found

404 — самая известная ошибка HTTP. Она сообщает о том, что запрашиваемой страницы нет на сервере. 

Что приводит к коду 404:

  • Ошибки пользователя при вводе URL страницы. Например, он мог опечататься, неправильно выбрать раскладку или регистр.

  • Владелец сайта удалил страницу или переместил ее на другой URL. При этом пользователю известен только старый адрес. Также старую ссылку может выдать поисковик, который не успел обновить выдачу.

  • Неправильное структурирование сайта. Ссылки на сайте ведут в несуществующие директории. При этом действующие ссылки на странице не прописаны.

  • Различные сбои в работе сервера.

У ошибки 404 масса вариантов дизайнерского оформленияУ ошибки 404 масса вариантов дизайнерского оформления

Что может предпринять пользователь, чтобы избавиться от ошибки 404:

  • Убедиться, что URL введен правильно. Если обнаружится опечатка, нужно будет ввести правильный адрес и перейти по нему.

  • Проверить, действительно ли существует эта страница. Для этого можно зайти на карту сайта или поискать ее через другой поисковик.

  • Рассказать администратору о возникшей проблеме.

Администратору же нужно проверить ресурс на битые ссылки с помощью специальных сервисов и следовать их указаниям. Например, это могут быть Яндекс.Вебмастер, Screaming Frog или Dead Link Checker

408 — Request Timeout

Этот код сервер присылает, когда заканчивается время ответа на запрос. Чаще всего ошибка происходит, если соединение с интернетом нестабильно.

Что нужно сделать пользователю:

  1. Попробовать открыть другие сайты с того устройства, с которого открыли ресурс с ошибкой 408. Если это получилось, проблема, скорее всего, в сайте, где появилась ошибка.

  2. Обновить страницу спустя некоторое время.

  3. Проверить настройки прокси и другие параметры сетевого подключения. Поставить там стандартные настройки сети.

  4. Сообщить администратору сайта, если ничего не помогло.

А администратор сайта для устранения ошибки 408 может сперва соединение сервера с интернетом. А затем сократить время ожидания и обработки запроса: например, изменить параметр Timeout в Apache или сократить SQL-запросы.

429 — Too Many Requests

Сервер выдает код 429, если пользователь отправляет слишком много запросов за единицу времени. Ответ сервера при этом содержит пояснение, а также может включать заголовок Retry-After — в нем указывается время, которое необходимо подождать, прежде чем повторять запрос.

Ситуации, которые приводят к ошибке 429, могут быть разными. Например:

  • Клиент пытается зайти на сайт несколько раз. Например, он забыл пароль и делает несколько попыток ввести логин с разными вариантами пароля. В итоге сервер блокирует посещение.

  • На сайт зашло слишком много посетителей за короткий отрезок времени.

  • SEO-специалисты применили интенсивные методы сканирования сайта, например, парсинг.

  • На сайт ведется DDoS-атака — кибератака с целью довести до отказа веб-систему или затруднить доступ к ней. При работе с облаком защититься от таких атак может помочь специальный сервис Сloud.ru.

Если пользователь получил код 429, ему придется подождать, пока сервер не снимет запрет на запросы. И впредь делать запросы не так часто. Если ошибка вызвана сканированием сайта, то нужно настроить интенсивность этой операции.

Администратору же нужно:

  • Ограничить скорость запросов с одного IP-адреса.

  • Кэшировать ответы. Запросы будут направляться в кэш с заранее заготовленным ответом, а не на основную часть сервера.

  • Увеличить мощности сервера, чтобы он имел возможность справиться с возросшим числом запросов.

Серверные ошибки

На цифру 5 начинаются ошибки на стороне самого сервера. При их возникновении посетителю сайта нужно обновить страницу через некоторое время или очистить кэш сайта в браузере. Если не помогло, обратиться к владельцу сайта. 

Какими бывают серверные ошибки и что с ними делать администратору сайта — разберемся далее.

500 — Internal Server Error

Код 500 создан для обозначения сбоя ответа сервера в тех случаях, когда точную причину он выявить не может. Тем не менее самые частые факторы, которые могут привести к ошибке 500, известны. Среди них могут быть:

  • недостаток памяти для выполнения скриптов или ошибка в них;

  • неправильная работа CMS, например, конфликты плагинов;

  • ошибки в файле .htaccess;

  • отсутствие поддержки CMS версией PHP, которой пользуется сервер.

Действия по устранению типичных причин ошибки 500 будут такими:

  1. Изучить скрипты сайта. В первую очередь нужно обратить внимание на ошибки скрипта и его размер. Если ошибки есть, исправить их. Сократить скрипт, если он занимает слишком много памяти. Увеличить объем оперативной памяти, если есть такая возможность.

  2. Перейти на сервер с лучшими техническими характеристиками. Например, объем оперативной памяти у серверов Bare Metal достигает 128 ГБ, а размеры хранилища данных — до 1 ТБ.

  3. Поработать в панели CMS. Почитать логи, обратить внимание на сообщения об ошибках и события, которые им предшествовали. Например, если ошибку вызвал плагин, отключить или удалить его.

  4. Поискать ошибки в файле .htaccess. Исправить ошибки, если они будут найдены.

  5. Изучить характеристики CMS и найти информацию, какие версии PHP он поддерживает. Также почитать о том, с какими CMS работает версия PHP на сервере.

502 — Bad Gateway

Посетитель получает ошибку 502, если сервер, с которым он связывается, является интернет-шлюзом или прокси-сервером. При этом этот сервер получает отказ от основного сервера. 

К этой ошибке чаще всего приводят такие факторы:

  • Большая нагрузка на сервер. С этим может столкнуться как сервер-шлюз, так и основной сервер.

  • Срабатывание брандмауэра на сервере. Например, он может блокировать определенного интернет-провайдера.

  • Некорректная работа браузера у посетителя.

  • Проблемы с подключением к интернету. Сюда относятся, например, неправильная настройка DNS-адресов или прерывание соединения.

  • Нарушения сетевой связности. 

Как администратор сайта может устранить ошибку 502:

  • Увеличить мощность сервера. Например, для этого можно перейти на более продвинутый тариф облачного сервера. Или использовать сервис для автомасштабирования ресурсов в сочетании с балансировщиком нагрузки, распределяющим входящий трафик между серверами. 

  • Проверить подключение сервера к интернету. Исправить неполадки, если они будут обнаружены.

  • Если брандмауэр блокирует ряд провайдеров, поставить исключения на них.

503 — Service Unavailable

Код 503 сервер отправляет, если не может обработать запрос по техническим причинам. 

К ошибке 503, как правило, приводят такие факторы:

  • много запросов от клиента, с которыми сервер не может справиться;

  • конфликты между плагинами и расширениями CMS;

  • сложные скрипты, которые дополнительно нагружают сервер;

  • передача слишком больших файлов по HTTP;

  • нарушения сетевой связности. 

Какие меры можно предпринять, чтобы исправить ошибки, вызывающие код 503:

  • Снизить нагрузку на сервер: например, настроить параметр Retry-After. Он установит время, через которое посетитель сможет выполнить новый запрос. Еще один способ — увеличить мощности сервера.

  • Найти дополнения CMS, которые вызывают ошибку, и отключить их. Упростить сложные скрипты. Передавать крупные файлы по протоколу FTP.

504 — Gateway Timeout

Код 504 отправляет сервер-шлюз, который не дождался ответа от основного сервера. 

Почему так происходит:

  • Резко увеличилось число запросов от клиентов. Сервер не успевает справиться с ними.

  • Ошибки элементов CMS.

  • Проблемы соединения сервер-шлюза и основного сервера.

  • Сервер недавно перенесли на другой IP-адрес. Запросы какое-то время будет принимать старый DNS-адрес, который не сможет направить их на новый IP.

  • Нарушения сетевой связности.

Как исправить:

  • Подождать, пока станет меньше посетителей ресурса, или применить параметр Retry-After.

  • Проверить подключение между основным сервером и сервером-шлюзом.

  • Посмотреть конфигурацию CMS. Обратить внимание на проблемные элементы, отключить или удалить их.

  • Если ресурс был перенесен на другой IP, просто дождаться обновления DNS.

Проблемы сетевой связности поможет исключить StormWall: Anti-DDoS+WAF. Этот продукт даст комплексную защиту ресурсу и веб-приложениям.

507 — Insufficient Storage

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

Как узнать код состояния HTTP

Есть несколько способов проверки кода HTTP. Поговорим о каждом из них.

Проверка в браузере

Иногда соединение с сайтом нарушается из-за проблем, которые отображаются в коде HTTP. В этом случае код будет показан в заголовке страницы сайта.

Проверка в DevTools

Инструменты разработчика (или DevTools) — это раздел браузера для просмотра подробной информации о сайте. В этом разделе можно посмотреть HTML-код страницы, изучить и загрузить каждый файл, который в нем используется, посмотреть логи. Также там можно и посмотреть код состояния HTTP. 

Действия для Google Chrome будут такими:

  1. Откройте «Инструменты разработчика». Для этого нажмите F12, Ctrl+Shift+I или выберите в меню «Дополнительные инструменты» — «Инструменты разработчика».

  2. Выберите раздел «Сеть». В столбце «Статус» будет код состояния HTTP для  каждого из элементов страницы.

Коды HTTP в инструментах разработчика Google ChromeКоды HTTP в инструментах разработчика Google Chrome

Чтобы посмотреть HTTP-статус в Mozilla Firefox, нужно выполнить те же действия, что и в Chrome. Только таблица с элементами и статусом будет в нижней части окна.

Коды HTTP в инструментах разработчика Mozilla FirefoxКоды HTTP в инструментах разработчика Mozilla Firefox

Проверка в веб-сервисах

Для проверки HTTP-статуса можно обратиться к онлайн-сервисам. На Яндекс.Вебмастер URL можно проверить с помощью поискового робота, а также параметра If-Modified-Since. При этом для получения кода HTTP и других характеристик ответа сайта следует выбрать нужные параметры и нажать «Проверить».

Проверка кода HTTP в Яндекс.ВебмастерПроверка кода HTTP в Яндекс.Вебмастер

Как ошибки HTTP влияют на работу сайта и компании

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

Отдельно важно учесть, что:

  • Если администратор временно выставил страницу-перенаправление с кодом HTTP 3xx, то ему нужно вернуть ее изначальный адрес в самое ближайшее время. В противном случае поисковые роботы начнут воспринимать временное перенаправление как постоянное. 

  • Сайт, где много страниц с ошибками 4xx и 5xx, поисковики могут понизить в выдаче.

Коротко о кодах ошибок HTTP

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

Владельцу веб-ресурса минимизировать число HTTP-ошибок поможет использование сервера с хорошей производительностью, а также актуальных инструментов мониторинга.

Продукты из этой статьи:
Иконка-Advanced Auto Scaling
Advanced Auto Scaling
Иконка-Advanced Cloud Eye
Advanced Cloud Eye
Иконка-StormWall: Anti-DDoS+WAF
StormWall: Anti-DDoS+WAF
5 марта 2025

Вам может понравиться