Коды ошибок HTTP – список ошибок сервера и клиента

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

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

В этой статье мы разберем, какие виды ошибок зашифрованы в ответах и почему эти ошибки возникают.

Ошибки 4xx (400-414)

Ответы с кодами от 400 до 414 называют "ошибками на стороне клиента". Сервер дает понять, что что-то не так с самим запросом. Несмотря на классификацию, такие ошибки часто необходимо исправлять вебмастеру, а не пользователю. Их причиной могу быть неправильные настройки веб-сервера, скриптов сайта и т. п.

Ошибка 400

Расшифровывается как "неверный запрос". Код ошибки 400 говорит о том, что запрос составлен неправильно, и сервер не может его понять. Если вы формируете запрос вручную, то, возможно, указали неверный URL. Но чаще всего запрос повреждается в результате технического сбоя или искажения данных при передаче. Это может произойти по нескольким причинам:

Ошибка 401

Пояснение – "не авторизовано". Код ошибки 401 означает, что запрос направлен к защищенным ресурсам, для которых требуется аутентификация. Сервер ожидает получить логин и пароль, но в запросе их нет.

Ошибка 403

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

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

Ошибка 404

Самый популярный код ошибки – 404. Переводится как "не найдено". Такой ответ сервер отсылает, если не находит документ, файл или страницу по указанному пользователем адресу. Возможные причины:

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

Ошибка 405

Расшифровка – "метод не поддерживается". Для каждого типа операций (загрузка, передача данных) http-протокол предусматривает использование своего метода (GET, POST и т. д.). Ошибка означает, что запрос на сервер выполнен с использованием неправильного метода. От клиента здесь мало что зависит, причины – в настройках веб-сервера. Например:

Ошибка ​406

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

Причина может быть в:

Ошибка 407

Пояснение переводится как "нужна аутентификация прокси". Возникает, если доступ в сеть или к определенным сайтам осуществляется через прокси-сервер, но в запросе нет данных для авторизации на нем. Пользователю нужно пройти аутентификацию. Обычно в тексте ответа с кодом 407 содержатся подсказки – как это сделать.

Ошибка 408

Переводится как "истекло время запроса". Может возникнуть при передаче больших файлов, временного сбоя интернет-подключения, перегрузке сервера в данный момент и т. д. Чаще всего никаких действий от вебмастера не требуется, за исключением случаев, когда 408 ошибка появляется часто и есть подозрение, что сервер не справляется с текущей нагрузкой. Тогда стоит подумать об аренде дополнительных ресурсов хостинга или переходе на более подходящий тарифный план.

Со стороны пользователя чаще всего устранить проблему можно простой перезагрузкой страницы. Также можно попробовать зайти на сайт позже или проверить стабильность интернет-соединения.

Ошибка 409

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

В некоторых случаях причиной может быть:

Чаще всего ошибку можно устранить, просто загрузив корректный файл.

Ошибка 410

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

Исправлять чаще всего ничего не нужно. Наоборот, рекомендуется прописывать код ответа 410 для документов или страниц, которые были удалены, чтобы поисковые роботы не тратили на них лимит сканирования при переобходе сайта.

Ошибка 411

Расшифровывается как "требуется длина". Такая ситуация может возникнуть при передаче файлов определенными методами и выставленных ограничениях на передаваемый объем. В этих случаях серверу нужен параметр Content-Length, и он ожидает увидеть его в запросе.

Ошибка 412

Расшифровывается как "предварительное условие не выполнено". Причину ошибки нужно искать в заголовках запроса. Иногда там прописываются различные условия, и сервер обязан проверить их соблюдение перед обработкой запроса. Если при проверке сервер выявляет, что условия не могут быть выполнены, не соблюдаются, он отклоняет запрос и высылает ответ с кодом 412.

Самая простая причина – проблема в браузере пользователя. Достаточно почистить кеш и куки, чтобы ошибка исчезла.

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

Ошибка 413

Если ограничения выставлены корректно, то пользователю нужно порекомендовать:

Ошибка 414

Перевод пояснения – "URL слишком длинный". Сервер не может взять в обработку слишком длинный веб-адрес, и поэтому отклоняет запрос.

Ошибка может возникнуть, например, при некорректно настроенном коде CMS, когда при каждом переходе со страницы на страницу в административной панели сайта к URL дописывается фрагмент с параметрами. Таким образом ссылка становится все длиннее и длиннее, пока не превышает лимит.

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

Ошибки на стороне сервера 5xx

Следующая категория ошибок – на стороне сервера (с 500 по 560). Ответ с таким кодом говорит, что запрос корректный, и отвечает всем требованиям сервера, но сам сервер по своим причинам не может его обработать. Разберем коротко каждую из ошибок.

Ошибка 500

Ошибка 501

Означает "не реализовано". Сервер не понимает метод запроса, или не имеет функциональности для его обработки. Не стоит путать с 405 ошибкой – в ее случае метод просто используется неправильно (не к тем данным или неправильным способом), однако сервер его знает.

Ошибка 502

Означает "ошибка шлюза". Если запрос проходит через несколько серверов (через прокси), и какой-то из них не может обработать запрос, то первый сервер отдает такую ошибку. Возможные причины:

Ошибка 503

Пояснение переводится как как "сервис недоступен". Возможные причины:

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

Ошибка 504

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

Ошибка 505

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

Ошибка 506

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

Ошибка 503

Что означает код ошибки «http error 503 the service is unavailable»?

В появлении ошибки 503 многие обвиняют сервер. Коды 5xx ошибок относятся к категории серверных, но возникают не только из-за проблем в его работе. Вот так обычно выглядит эта ошибка:

503я ошибка

Код 503 означает, что сервер, где базируется ресурс, не принимает запросы на заданный адрес. Процедура приема запросов происходит беспрерывно, для всех аккаунтов выделено лимитированное число процессов для обработки запросов. Обработка запросов происходит поочередно. На длину очереди установлено ограничение. При превышении лимита прием запросов прекращается, а пользователю возвращают «error 503». Для решения проблемы достаточно прекратить подачу запросов с аккаунта.

Как узнать, кто виноват в ошибке 503?

Если Вы видите ошибку «http error 503 the service is unavailable» — и не знаете, проблема ли это избыточной нагрузки на Ваш сайт, или запросами перегружен сервер хостера, попробуйте открыть «соседей» по IP адресу.

Узнать их можно онлайн, например, на сервисе cy-pr. com:

соседи по ип

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

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

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

Передача больших файлов с использованием скриптов.

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

Удаленный сервер возвратил ошибку 503 — сервер недоступен из-за большого количества запросов к внешним ресурсам.

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

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

Например, автор этого сайта явно переборщил с информерами:

информеры

Конечно, это не станет причиной 503-й ошибки, но при каждой загрузке страницы – это лишних 15 внешних запросов, а рост одновременных запросов рано или поздно приведет к тому, что сайт станет недоступен.

Неоптимизированные «тяжелые» или устаревшие модули CMS

Если сервер возвратил 503 ошибку, можно попробовать поочередно отключать модули, плагины, надстройки и другие дополнения. При этом вы заметите изменение скорости загрузки сайта. Это наблюдение позволит принять решение о замене или исправлении поврежденного дополнения. Удалите или отключите устаревшие или ненужные вам дополнения, если они включены в дистрибутивы CMS.

Медленные запросы к базе данных MySQL

Проблему решают несколькими путями: используют кэширование, оптимизируют запросы, индексируют таблицы данных по столбцам (упорядочить и сортировать). Если принятые меры окажутся недейственными, то стоит рассмотреть вариант замены скрипта на болееоптимальный вариант.

Вы можете купить домены RU, РФ, SU со скидкой!

Большое число одновременных запросов к серверу

Старайтесь свести к минимальному значению сумму запросов. Запросы создают не только пользователи вашего ресурса. Они поступают от индексирующих поисковых роботов и др. Число запросов увеличивается, если использовано чрезмерное число URL на файлы, загруженные с излишним количеством запросов.

Выходом станет объединение всех файлов в один. Запросы отправляются из чатов, из блоков сайта, при открытии множества браузерных вкладок, при применении iframe кодов на ресурсе, его использовании прочими сайтами. Увеличивают число запросов и Dos-атаки, флуд, спам.

Почтовая рассылка

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

Если Вы всерьез ведете интересную рассылку – рекомендуем использовать сервисы, позволяющие отслеживать ее эффективность, например mailchimp, предлагающий отправку 12 000 писем в месяц бесплатно:

рассылка

Большое число одновременных запросов к серверу

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

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

Пример задания, выполняющегося долгое время – синхронизация данных для интернет-магазинов с более чем 50 000 позиций. Поскольку каждый товар имеет от 20 до 100 полей в базе данных (от арткула до ссылок на дополнительные фото и условия доставки) – синхронизация данных может выполняться долго, при этом она создает десятки тысяч запросов к серверу.

Источники:

https://hoster. ru/articles/kody-oshibok-http-spisok-oshibok-servera-i-klienta

https://ipipe. ru/info/oshibka-503

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: