Главная Блог Хостинг Руководство по ошибкам HTTP: Как исправить распространённые серверные и клиентские проблемы
Руководство по ошибкам HTTP: Как исправить распространённые серверные и клиентские проблемы

Руководство по ошибкам HTTP: Как исправить распространённые серверные и клиентские проблемы

Содержание статьи:

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

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

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

Что такое коды состояния HTTP

Начнем с ключевых для этой статьи терминов: клиента, сервера и кодов состояния HTTP:

  • Клиент — это совокупность ПО и устройств, способных подключаться к интернету и запрашивать у сервера те или иные функции или данные.
  • Сервер — это устройство, предназначенное для хранения данных. Он принимает запросы от клиентов и отвечает на них, а также выполняет различные служебные функции в сети.
  • Код состояния HTTP — это трёхзначное число в строке заголовка ответа веб-сервера на запрос клиента, информирующая о результате запроса и о том, что клиент должен предпринять далее. За кодом (например 403 Forbidden) следует пояснение на английском языке.

Код состояния ответа HTTP информирует об успешности выполнения конкретного HTTP-запроса. Всего принято выделять 5 классов ответов от сервера:

  • Информационные ответы (100 – 199);
  • Успешные ответы (200 – 299);
  • Сообщения о перенаправлении (300 – 399);
  • Ошибки клиента (400 – 499);
  • Ошибки сервера (500 – 599).

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

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

Анализ журнала серверов Apache и Nginx и позволяет лучше понять процессы обработки запросов. Необходимые сведения можно найти в файлах access.log и error.log.

Ошибки клиента

Существует 100 основных ошибок клиента, однако наиболее распространены только первые из них, которые мы подробно рассмотрим ниже.

400 Bad Request

Данная ошибка возникает, когда сервер не в состоянии обработать запрос по причине чего-то, что воспринимается как ошибка посылающего его клиента. Речь может идти об ошибке в синтаксисе, неправильном формате или маршрутизации запроса.

Есть много причин, по которым возникает ошибка 400, однако чаще всего дело в:

  • Неисправности браузера (лечится обновлением, переустановкой и т.д.).
  • Чрезмерном количестве файлов куки и тяжелом кэше (помогает очистка кэша и куки в истории браузера).
  • Неправильном HTTP-запросе из-за ошибки клиента (например, при использовании cURL).

401 Unauthorized

С такой ошибкой пользователь может столкнуться, когда клиент запрашивает доступ на просмотр ресурса, который защищен HTTP-авторизацией. Для того, чтобы избавиться от появления ошибки от клиента требуется ввести актуальные логин (ID пользователя) и пароль. Найти их можно в файле .htpasswd, который обычно используется при защите файла, папки или всего веб-сайта с помощью пароля с использованием HTTP-аутентификации.

403 Forbidden

Эта ошибка возникает, когда клиент не авторизован и в силу этого не имеет прав на доступ к ресурсу. В отличии от 401 Unauthorized сервер идентифицирует личность клиента, однако отказывается предоставить запрошенный ресурс из-за отсутствия прав на, например, доступ к чтению какого-либо файла.

Если ваш сайт создан на сервере под управлением Windows Server, то скорее всего вы столкнулись с проблемами с индексным файлом. Вам нужно разместить файл index.php в корневой папке. Это делается через Control Panel => Web Options => Directory Indexes.

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

404 Not Found

Одна из самых популярных ошибок: сервер присылает такой ответ, когда не может найти ресурс, запрашиваемый клиентом. Причин возникновения ошибки 404 может быть несколько:

  • Если запрос делается через браузер, то проблема может заключаться в распознавании URL-адреса сайта. Убедитесь в правильности написания ссылки, которая отправляет клиента на сервер, а также в том, что клиент вводит верный URL. Если это не помогает, проверьте, поддерживает ли сервер символические ссылки.
  • В случае запроса через API адрес может быть указан верно, однако ресурс — действительно не существовать. (например запрашиваемый файл мог быть перемещен в другой каталог или удален с сервера). Не лишним будет проверить и верно ли корректно ли указано расположение корневого каталога (document root) в конфигурации сервера.
  • Также возможен вариант при котором сервер отправляет 404 вместо 403 Forbidden с целью сокрытия существования ресурса от неавторизованных пользователей. Т.е. у пользователя может не хватать прав доступа к определенному каталогу или файлу. Проблема решается предоставлением необходимых прав.

405 Method Not Allowed

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

Ошибки сервера

Теперь рассмотрим подробно основные ошибки сервера, с которыми сталкиваются посетители сайтов.

500 Internal Server Error

Ошибка сервера 500 сообщает о наличии неизвестных внутренних причин по которым сервер не может выполнить пользовательский запрос. Иногда этот код ошибки приходит в ситуациях, описываемых другими ошибками категории 500 — 599.

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

Друга причина — неподдерживаемые директивы или неправильные инструкции в файле .htaccess.

501 Not Implemented

Ошибка, родственная: 405 Method Not Allowed. Возникает, когда сервер не может обработать запрос, потому что не поддерживает его метод. Необходимо чтобы два основных метода запросов из девяти существующих — GET (запрос информации о ресурсе) и HEAD (запрос заголовков ресурса) — всегда поддерживались сервером и, следовательно, не возвращали этот код.

502 Bad Gateway

Ошибка 502 Bad Gateway, как правило, возникает из-за получения некорректного ответа от вышестоящего по иерархии сервера. Иными словами, 502 может прийти от сервера, выступающего в качестве шлюза, если в ходе обработки запроса он получил недопустимый ответ от целевого сервера.

Для решения проблемы попробуйте перезапустить службы сервера, почистить кэш и куки; убедитесь в отсутствии проблем с браузером. Иногда к ошибке 502 приводя проблемы с DNS-сервером и в таком случае рекомендуется изменить его.

503 Service Unavailable

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

504 Gateway Timeout

Ошибку 504 может прислать сервер, выступающий шлюзовым, если в процессе обработки запроса он не смог вовремя получить ответ от целевого сервера. В числе причин появления ошибки сервера 504 можно назвать:

  • сетевые неполадки: например, между основным сервером и шлюзом нестабильное интернет-соединение;
  • перегрузку сервера-шлюза, в силу которой он не может корректно обрабатывать запросы;
  • слишком короткий период ожидания ответа от шлюза (можно изменить в настройках сервера).

505 HTTP Version Not Supported

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

Как проверять коды ошибок HTTP

Существуют как встроенные в браузеры инструменты, так и специальные сервисы, позволяющие проверять коды ошибок состояния HTTP.

  • Браузерные инструменты. Рассмотрим этот способ на примере Google Chrome. Здесь ознакомиться с кодом ответа можно посмотреть в графе Status в разделе Network. Алгоритм следующий: откройте нужную страницу и нажмите F12, после чего появится окно с консолью и нужной информацией.
  • Специализированные сервисы. В числе таких сервисов можно назвать bertal, 2ip, cy-pr, whois, 4seo. Алгоритм работы с ними, как правило, следующий: на сайте сервиса в нужно поле вводятся URL нужных сайтов и запускается проверка, после чего на экране появляется отчет с кодами ответа серверов.

Резюме

В этой публикации мы рассказали о кодах состояния HTTP, сосредоточившись на основных ошибках клиента, ошибках сервера, причинах их появления и способах устранения. Резюмируя, еще раз скажем, что причина ошибок может крыться в неправильной конфигурации сервера, проблемах с БД, дырами в безопасности и т.д.

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

 


Статья добавлена 3 недели назад. Автор - Blog Admin

поделиться статьей

Подпишитесь на новые статьи от Maxiplace


Смежные статьи

article
Защита от ботов и DDoS-атак для сайта

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

23.09.2021
article
Инструкция для Webasyst: перенос сайта на другой хостинг

Перенос сайта Webasyst на другой хостинг  - проблема, которая часто возникает при естественном росте интернет-магазинов. Webasyst зарекомендовал себя как одна из самых гибких cms-платформ, особенно благодаря действительно качественному модулю для построения интернет-магазинов (shop-script). Перенос таких ресурсов можно произвести без потерь и лишних усилий, и в этой статье мы расскажем, как.

22.09.2021
article
Как открыть свой интернет-магазин с нуля: пошаговая инструкция 2021

Рассказываем, как открыть свой интернет-магазин - о вариантах налогообложения, грамотном выборе сферы работы, поставщиков, создании портрета целевой аудитории, подборе названия и CMS

12.08.2021
article
Интернет-магазин на Webasyst: создание сайта, плюсы и минусы

Как создать интернет-магазин на Webasyst с нуля: функционал системы, настройка проекта, цены на разные тарифы, а также все плюсы и минусы площадки

09.08.2021
article
Интернет-платформа для интернет-магазина: топ лучших CMS 2021

Помогаем сделать выбор интернет-платформы для вашего интернет-магазина: разбираемся в плюсах и минусах самых известных платных и бесплатных систем

19.07.2021