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

В работе 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:
Убедиться, что URL введен правильно. Если обнаружится опечатка, нужно будет ввести правильный адрес и перейти по нему.
Проверить, действительно ли существует эта страница. Для этого можно зайти на карту сайта или поискать ее через другой поисковик.
Рассказать администратору о возникшей проблеме.
Администратору же нужно проверить ресурс на битые ссылки с помощью специальных сервисов и следовать их указаниям. Например, это могут быть Яндекс.Вебмастер, Screaming Frog или Dead Link Checker.
408 — Request Timeout
Этот код сервер присылает, когда заканчивается время ответа на запрос. Чаще всего ошибка происходит, если соединение с интернетом нестабильно.
Что нужно сделать пользователю:
Попробовать открыть другие сайты с того устройства, с которого открыли ресурс с ошибкой 408. Если это получилось, проблема, скорее всего, в сайте, где появилась ошибка.
Обновить страницу спустя некоторое время.
Проверить настройки прокси и другие параметры сетевого подключения. Поставить там стандартные настройки сети.
Сообщить администратору сайта, если ничего не помогло.
А администратор сайта для устранения ошибки 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 будут такими:
Изучить скрипты сайта. В первую очередь нужно обратить внимание на ошибки скрипта и его размер. Если ошибки есть, исправить их. Сократить скрипт, если он занимает слишком много памяти. Увеличить объем оперативной памяти, если есть такая возможность.
Перейти на сервер с лучшими техническими характеристиками. Например, объем оперативной памяти у серверов Bare Metal достигает 128 ГБ, а размеры хранилища данных — до 1 ТБ.
Поработать в панели CMS. Почитать логи, обратить внимание на сообщения об ошибках и события, которые им предшествовали. Например, если ошибку вызвал плагин, отключить или удалить его.
Поискать ошибки в файле .htaccess. Исправить ошибки, если они будут найдены.
Изучить характеристики 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 будут такими:
Откройте «Инструменты разработчика». Для этого нажмите F12, Ctrl+Shift+I или выберите в меню «Дополнительные инструменты» — «Инструменты разработчика».
Выберите раздел «Сеть». В столбце «Статус» будет код состояния HTTP для каждого из элементов страницы.

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

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

Как ошибки HTTP влияют на работу сайта и компании
Владельцу сайта важно следить за тем, чтобы у ресурса не было ошибок HTTP. Их наличие снижает популярность ресурса у пользователей и заставляет предположить, что сайт может быть мошенническим.
Отдельно важно учесть, что:
Если администратор временно выставил страницу-перенаправление с кодом HTTP 3xx, то ему нужно вернуть ее изначальный адрес в самое ближайшее время. В противном случае поисковые роботы начнут воспринимать временное перенаправление как постоянное.
Сайт, где много страниц с ошибками 4xx и 5xx, поисковики могут понизить в выдаче.
Коротко о кодах ошибок HTTP
При работе в интернете пользователи и владельцы сайтов могут сталкиваться с ошибками протокола HTTP в работе своих веб-ресурсов. О них сигнализируют специальные коды состояний или HTTP-статусы, состоящие из трех цифр. Они помогают выявить причину ошибки и быстро ее устранить.
Владельцу веб-ресурса минимизировать число HTTP-ошибок поможет использование сервера с хорошей производительностью, а также актуальных инструментов мониторинга.
Вам может понравиться


REST API: что это и как использовать

Как создать Telegram Web App: инструкция по разработке Mini App

Как привлекать клиентов и зарабатывать до 20% на рекомендациях: готовые инструменты

Лучшие дистрибутивы Linux: выбор популярных версий

Система управления базами данных (СУБД): что это такое и зачем нужна

Все о Telegram-ботах: какие бывают и как их сделать самому

VPS/VDS: что это такое и чем они отличаются? Полное руководство

Что такое NVMe и как он отличается от SATA SSD и M.2

Микросервисная архитектура: чем она хороша и кому нужна

Как развернуть WordPress в облаке: инструкция для новичков

Применение LLM в бизнесе: опыт лидеров и роль облачного провайдера

Центры обработки данных (ЦОД): что это и как они работают

Какие новости за январь — дайджест Cloud.ru

Команда grep в Linux: как искать строки и шаблоны

PostgreSQL: что это за СУБД и чем она хороша

Что может chmod: как управлять доступами к файлам и папкам в Linux

Как узнать IP-адрес в Linux через командную строку

Как узнать IP-адрес своего компьютера

Система MySQL: что это и для чего нужна

Команды kill и killall в Linux: как завершить ненужные процессы

Работа с файлами в Linux: их создание и организация через терминал

Стандарт Tier III для дата-центра: что значит и почему это круто

Какие новости за декабрь и начало января — дайджест Cloud.ru

Что такое FTP-протокол и как настроить FTP сервер

Белые и серые IP, динамические и статические - в чем различие

Как защищать сайты и приложения в облаке от DDoS-атак

Какие новости за ноябрь — дайджест Cloud.ru

BAT-файлы: что это такое, зачем они нужны и как их создавать

Гайд по протоколу HTTP: расшифровка, структура и механизм работы

Межсетевой экран, firewall и брандмауэр: что это, в чем между ними разница и зачем они нужны

Kubernetes на Cloud.ru Evolution: возможности и преимущества

Какие новости за октябрь — дайджест Cloud.ru

Как создать сетевую архитектуру для размещения межсетевых экранов на платформе Облако VMware

Рассказать про технологии лампово, или Как мы провели конференцию GoCloud Tech для инженеров и...

Какие новости за сентябрь — дайджест Cloud.ru

Высокоресурсные вычисления: роль суперкомпьютеров в жизни и бизнесе

Реферальная программа Cloud.ru: как устроена и как на ней зарабатывать

Сетевая модель OSI: что это такое и зачем она нужна

Какие новости за август — дайджест Cloud.ru

Сетевые протоколы передачи данных — что это такое и какие бывают

Какие новости за июль — дайджест Cloud.ru

Как новые возможности в юридических документах Cloud.ru облегчают работу с договорами и не только

Какие новости за июнь — дайджест Cloud.ru

Как обновления VMware Cloud Director облегчают управление и делают работу с инфраструктурой в ...

Как мы рассчитывали «Панораму российского IT-рынка» за 2022 год

Как снизить риски утечки данных и санкций госрегуляторов: 152-ФЗ в Cloud.ru

Бесплатный курс по работе с Cloud.ru Advanced: рассказываем, в чем польза, кому подойдет и как...

Как модель Anything as a Service упрощает IT-процессы

Снижение рисков на производстве: AI-сервис распознает нарушения ношения СИЗ

Kandinsky 2.1: новый уровень в генерации изображений по текстовому описанию

Облачные сервисы для стартапов: как пройти путь от идеи до цифрового продукта и не разориться

Создать пользователя, настроить 2FA, связаться с поддержкой — новые возможности личного кабине...

VDI: что это, как работает и в чем выгода для бизнеса

Как защитить облачную инфраструктуру — рассказываем на примере межсетевого экрана нового покол...

Как начать использовать AI/ML на практике

Бессерверные вычисления: что это за технология и кому она нужна

Чек-лист: как обеспечить безопасность облачной инфраструктуры

Искусственный интеллект

Что такое IaaS?

Что такое PaaS

Machine Learning

Data Science

Машинное обучение без учителя

Классическое машинное обучение

Нейронные сети

Глубокое обучение

Защита персональных данных: как легче соблюдать закон с Cloud.ru и сохранять спокойствие

Как сохранить IT-инфраструктуру и бизнес: руководство к действию

Машинное обучение и Big Data в кибербезопасности

Ответы на актуальные вопросы

Что такое DDoS-атаки, чем они опасны и как от них защититься

Аудит информационной безопасности: что это, зачем и когда его проводить

Межсетевые экраны: UTM, NGFW-системы, NTA, NDR

Обзор межсетевых экранов, систем IPS и IDS

PostgreSQL vs MySQL: какая система подходит вашему бизнесу

Основы резервного копирования

Специальное предложение «180 дней тестового периода резервного копирования» для всех клиентов
Платформа SberCloud Advanced теперь обеспечивает максимальный уровень защиты персональных данных

Что такое объектное хранилище S3 и как его используют

Customer Enablement: как SberCloud работает с клиентами, чтобы сделать миграцию в облако комфо...

Сеть доставки контента CDN: новые функциональные возможности и преимущества

Объясняем на кейсах: польза CDN для бизнеса

Новая Windows Server 2022 в облаке SberCloud — новые возможности клиентов

Запуск нового сервиса Managed OpenShift в облачной среде SberCloud

Как работает технология DNS

SberCloud Advanced запустила третью ресурсную зону доступности для комфортной работы клиентов

PostGIS в PostgreSQL — как можно использовать

GitLab для начинающих: как и для чего используется

Краткий обзор методологии CI/CD: принципы, этапы, плюсы и минусы

Персональные данные: правильно обрабатываем и храним

Кто и зачем использует облачные модели IaaS и PaaS

152-ФЗ в облаке: хранение персональных данных в облаке

Как работает CDN (Content Delivery Network)?

Service Level Agreement (SLA): все о соглашении об уровне сервиса

Что такое «интернет поведения» (IoB)?

Чек-лист: 6 шагов для успешной миграции в облако

Машинное обучение: просто о сложном

Профессия DevOps-инженер: кто это и чем занимается

Гайд по Kubernetes. Эпизод I: k8s для неразработчиков

Публичные, частные и гибридные облака: в чем разница?
