Нередки ситуации, когда компьютер пользователя теряет возможность для получения информации или отправки запросов по причине потери соединения с сервером. Разрыв соединения может возникать из-за слишком больших нагрузок на сервер, нестабильного интернет-соединения, неполадок у провайдера, физических поломок и т.д. Большая часть подобных сбоев именуется ошибками, имеющими специальную номенклатуру.
Из-за ошибок соединения с сервером может теряться важная информация и расходоваться время на восстановление подключения, что ведет к негативным последствиям для бизнеса: от потери клиентской лояльности до необходимости обращаться к специалистам по устранению неполадок.
В этой статье мы разберем основные ошибки сервера и клиента, а также причины их возникновения. Мы уже частично затрагивали эту тему в публикации по ошибкам WordPress, однако сегодня рассмотрим проблему более широко.
Начнем с ключевых для этой статьи терминов: клиента, сервера и кодов состояния HTTP:
Код состояния ответа HTTP информирует об успешности выполнения конкретного HTTP-запроса. Всего принято выделять 5 классов ответов от сервера:
Клиент может быть не знаком с тем или иным кодом ответа HTTP, однако он должен отреагировать согласно категории кода. Нас интересуют последние две из них — ошибки клиента и ошибки сервера.
Обратите внимание на то, что коды ошибок HTTP выдает приложение, обслуживающее запросы клиента. Иными словами, от того как это ПО обрабатывает ту или иную ошибку зависит какой именно код будет ей присвоен.
Анализ журнала серверов Apache и Nginx и позволяет лучше понять процессы обработки запросов. Необходимые сведения можно найти в файлах access.log и error.log.
Существует 100 основных ошибок клиента, однако наиболее распространены только первые из них, которые мы подробно рассмотрим ниже.
Данная ошибка возникает, когда сервер не в состоянии обработать запрос по причине чего-то, что воспринимается как ошибка посылающего его клиента. Речь может идти об ошибке в синтаксисе, неправильном формате или маршрутизации запроса.
Есть много причин, по которым возникает ошибка 400, однако чаще всего дело в:
С такой ошибкой пользователь может столкнуться, когда клиент запрашивает доступ на просмотр ресурса, который защищен HTTP-авторизацией. Для того, чтобы избавиться от появления ошибки от клиента требуется ввести актуальные логин (ID пользователя) и пароль. Найти их можно в файле .htpasswd, который обычно используется при защите файла, папки или всего веб-сайта с помощью пароля с использованием HTTP-аутентификации.
Эта ошибка возникает, когда клиент не авторизован и в силу этого не имеет прав на доступ к ресурсу. В отличии от 401 Unauthorized сервер идентифицирует личность клиента, однако отказывается предоставить запрошенный ресурс из-за отсутствия прав на, например, доступ к чтению какого-либо файла.
Если ваш сайт создан на сервере под управлением Windows Server, то скорее всего вы столкнулись с проблемами с индексным файлом. Вам нужно разместить файл index.php в корневой папке. Это делается через Control Panel => Web Options => Directory Indexes.
Также ошибка 403 может появляться в ситуации установления запрета с помощью файла .htaccess для доступа к ресурсам с определенных IP-адресов — рекомендуется проверять настройки .htaccess для того, чтобы избежать подобных проблем.
Одна из самых популярных ошибок: сервер присылает такой ответ, когда не может найти ресурс, запрашиваемый клиентом. Причин возникновения ошибки 404 может быть несколько:
Еще одна распространенная ошибка клиента, возникающая в ситуациях, когда HTTP-метод запроса известен серверу, однако не поддерживается целевым ресурсом. В качестве примера можно привести ситуацию, когда API не разрешает вызвать DELETE для удаления ресурса.
Теперь рассмотрим подробно основные ошибки сервера, с которыми сталкиваются посетители сайтов.
Ошибка сервера 500 сообщает о наличии неизвестных внутренних причин по которым сервер не может выполнить пользовательский запрос. Иногда этот код ошибки приходит в ситуациях, описываемых другими ошибками категории 500 — 599.
В числе основных причин появления внутренней ошибки сервера 500 можно назвать недостаточные права доступа для чтения тех или иных каталогов и файлов, в результате чего становится невозможным запуск необходимого скрипта.
Друга причина — неподдерживаемые директивы или неправильные инструкции в файле .htaccess.
Ошибка, родственная: 405 Method Not Allowed. Возникает, когда сервер не может обработать запрос, потому что не поддерживает его метод. Необходимо чтобы два основных метода запросов из девяти существующих — GET (запрос информации о ресурсе) и HEAD (запрос заголовков ресурса) — всегда поддерживались сервером и, следовательно, не возвращали этот код.
Ошибка 502 Bad Gateway, как правило, возникает из-за получения некорректного ответа от вышестоящего по иерархии сервера. Иными словами, 502 может прийти от сервера, выступающего в качестве шлюза, если в ходе обработки запроса он получил недопустимый ответ от целевого сервера.
Для решения проблемы попробуйте перезапустить службы сервера, почистить кэш и куки; убедитесь в отсутствии проблем с браузером. Иногда к ошибке 502 приводя проблемы с DNS-сервером и в таком случае рекомендуется изменить его.
Еще одна распространенная ошибка, сообщающая о том, что в текущий момент сервер не может обработать запрос. Как правило, это связано с техническими работами на сервере или пиковыми нагрузками. Хорошим тоном со стороны владельцев ресурсов является отправлять пользователям вместе с кодом ошибки информацию о характере проблемы и временем до ее устранения. Также в заголовках есть смысл указывать информацию о кэшировании, т.к. подвергать ему эти временные ответы не нужно.
Ошибку 504 может прислать сервер, выступающий шлюзовым, если в процессе обработки запроса он не смог вовремя получить ответ от целевого сервера. В числе причин появления ошибки сервера 504 можно назвать:
Ошибка, с помощью которой сервер сообщает, что он не поддерживает HTTP-протокол, используемый клиентом. Если стандартные меры (очистка кэша, обновление сетевых драйверов, выдача браузеру больше прав в брандмауэре и антивирусе) не помогают, то проблема на стороне сервера, а не клиента. В этом случае владельцам ресурса нужно задуматься о том, чтобы обновить ПО сервера и перенастроить его. В крайнем же случае всегда можно сменить хостинг. В «Максиплейс» вы можете получить готовый сервер в облаке за несколько минут без капитальных стартовых вложений, помещения и инженеров.
Существуют как встроенные в браузеры инструменты, так и специальные сервисы, позволяющие проверять коды ошибок состояния HTTP.
В этой публикации мы рассказали о кодах состояния HTTP, сосредоточившись на основных ошибках клиента, ошибках сервера, причинах их появления и способах устранения. Резюмируя, еще раз скажем, что причина ошибок может крыться в неправильной конфигурации сервера, проблемах с БД, дырами в безопасности и т.д.
На стороне владельца сайта необходимо своевременно проводить диагностику и проверять серверные параметры для того, чтобы у посетителей ресурса не возникало проблем с доступом к нему. Не забывайте, что корректная настройка сервера — одновременно залог стабильности ваших бизнес-процессов и непростая задача, доверить решение которой лучше профессионалам. Квалифицированные инженеры, работающие в «Максиплейс» охотно предложат вам свою помощь в устранении любых ошибок на сервере, а также все виды технического консалтинга.
Статья добавлена 6 месяцев назад. Автор - Blog Admin