Почему возникают ошибки на сайте, что они значат и как их исправить

27.09.2020
Наверняка вы сталкивались с ситуацией, когда при попытке зайти на сайт вместо нужной страницы он выдавал то ошибку 404, то 503, то 500, то 403. Что же означают все эти магические цифры, и что делать владельцу сайта, если пользователи сталкиваются с ними? Раскрываем все тайны в этом материале.

Ошибки клиента (браузера)

400: Bad Request

Код «Неверный запрос» означает, что в HTTP-запросе содержится синтаксическая ошибка. Несколько примеров, когда такое может произойти и какие действия стоит предпринять:

  • У пользователя повреждены файлы cookie — посоветуйте почистить кэш и файлы cookie.
  • Внутренняя ошибка браузера — можно попробовать обновить или переустановить браузер.
  • Опечатка при вводе запроса вручную (например в консольных командах wget или curl).

401: Unauthorized

Код «Не авторизованный» возникает в случае проблем с аутентификацией или авторизацией на сайте. Например, посетитель пытается посмотреть свой профиль в интернет-магазине, но не ввёл логин и пароль или указал их с ошибкой. В этом случае код ответа 401 будет отправляться до тех пор, пока он не предоставит правильные учётные данные.

Если же ошибка не исчезает, администратору сайта стоит проверить, не повреждён ли файл .htpasswd с данными для входа пользователей.

403: Forbidden

Ошибка подключения к сайту «Запрещено» говорит о том, что у посетителя нет доступа к запрашиваемому ресурсу, файлу или странице. Такая ситуация обычно возникает по разным причинам:

  • Нет прав на открытие файла. Убедитесь, что у пользователя есть права на чтение файла (команда chmod вам в помощь).
  • Запрет доступа в .htaccess. Возможно, вы ограничили доступ к сайту каким-либо IP-адресам в файле .htaccess.
  • Нет индексного файла в запрашиваемой директории. Попробуйте создать индексный файл или включить листинг директорий в конфигурации веб-сервера.

404: Not Found

Пожалуй, самая известная ошибка, с которой сталкивались почти все пользователи Интернета. Она означает, что сервер не может найти запрашиваемый ресурс, или, проще говоря, — «такой страницы не существует».

Если вы уверены, что ошибка 404 на сайте возникать не должна, проверьте ссылку на наличие опечаток и удостоверьтесь, что файл страницы не перемещён и не удалён. Также проблема может быть в отсутствии доступа пользователя к папке, где находится файл — чтобы включить его, нужно добавить разрешение на чтение и выполнение для каталога.

Ошибки сервера (хостинга)

500: Internal Server Error

«Внутренняя ошибка сервера» часто появляется, когда сбой нельзя отнести ни к одной другой известной ошибке класса 5**. Код ошибки 500 сайта означает, что проблема, скорее всего, кроется в настройках сервера.

Наиболее распространенные причины неполадок:

  1. Допущена ошибка в файле .htaccess. Попробуйте переименовать его и проверить, работает ли сайт.
  2. Отсутствие необходимых пакетов, некорректно выбрана версия PHP. Возможно, следует поменять версию PHP или установить необходимые модули.
  3. Ошибка в коде сайта. Если раньше всё работало, восстановите сайт из резервной копии.

502: Bad Gateway

Если ошибка 502 при открытии сайта возникает регулярно, то стоит обратиться в службу техподдержки хостинг-провайдера. При этом подробно опишите действия, которые приводят к возникновению проблемы и укажите, во сколько она обнаружена (если вы обращаетесь в техподдержку REG.RU, то указывайте московское время).

503: Service Unavailable

Код «Сервис недоступен» на виртуальном хостинге означает, что превышен лимит на количество HTTP-запросов (со всеми лимитами можно ознакомиться в технических характеристиках хостинга). Ошибка может возникнуть, например, если при формировании страницы ваш код делает очень много обращений к изображениям, стилям и другим файлам. Возможные решения — либо оптимизировать код и уменьшить число HTTP-запросов, либо перейти на более производительный тариф хостинга.

504: Gateway Timeout

Ошибку можно расшифровать как «время ожидания ответа сервера истекло». Она возникает, когда веб-сервер не может получает ответ от сайта за установленный отрезок времени (по умолчанию 300 секунд).

Обычно так происходит, когда скрипты сайта выполняются слишком долго (например выгрузка базы данных). В этом случае можно обратиться к сайту, минуя веб-сервер, через порт 8081 (для сайтов, работающих на панели управления ISPmanager) или 8080 (для cPanel и Plesk). Если же вы хотите вручную настроить интервалы для ожидания ответа сайта, это можно сделать только на VPS, где доступны более гибкие настройки сервера.


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

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