Если вы являетесь владельцем сайта, который вдруг начал выдавать подобные ошибки, вам важно понимать, что они означают, причину их возникновения и способ их устранения.
Часто на различных форумах в интернете можно увидеть обсуждения на тему устранения ошибок на сайте. Порой возникшие проблемы незначительны и могут быть решены пользователем самостоятельно, без обращения к специалистам.
Для того, чтобы знать, что делать в непредвиденной ситуации, стоит познакомиться с описанием самых распространенных ошибок, а также прочитать руководство по их устранению.
Типы ошибок
Ошибки протокола HTTP возникают в случае, если веб-сервер по какой-то причине не может успешно отправить пользователю запрашиваемый документ. В этом случае сервер сообщит пользователю в HTTP-заголовке код возникшей ошибки.
Коды ошибок бывают положительными и отрицательными или успешными и не успешными.
Всего существует 4 типа кодов (хх — сочетание любых цифр):
- 2xx — запрос выполнен успешно
- 3xx — запрос успешно перенаправлен — тоже положительный код.
- 4xx — ошибка — документ не был отправлен пользователю, так как произошла критическая ошибка. Класс кодов 4xx предназначен для указания ошибок со стороны клиента.
- 5xx — ошибка сервера — критическая ошибка на сервере. Коды 5xx выделены под случаи неудачного выполнения операции по вине сервера.
Наибольший интерес для владельца сайта представляют коды, указывающие на ошибки со стороны клиента или сервера. Причины возникновения и способы устранения данных ошибок представлены ниже.
Ошибка 400 — “Плохой запрос”
При переходе на сайт браузер может выдавать “400 Bad Request”. Это означает, что сервер обнаружил синтаксическую ошибку в запросе, который ввел пользователь. Однако, подобная ошибка может появляться не только когда вы вводите адрес сайта, но и, например, при входе в панель управления вашим сайтом. Причин возникновения может быть несколько:
- Блокировка браузера антивирусом
- Блокировка брендмауэра Windows браузером
- Большое количество файлов cookies и данных в сache
- Перебои в работе интернета
Для того, чтобы определить, какой из перечисленных вариантов относится к вашей ситуации, необходимо провести п проверку каждого из них до полного устранения проблемы. Начнем с первой возможной причины.
Блокировка браузера
- Изучите настройки вашего антивируса в разделе под названием “Правила для приложений” или схожим с ним.
- Проверьте, есть ли ваш браузер в списке и каков уровень доверия к нему
- Повысьте уровень доверия к вашему браузеру, если он низкий
- Сохраните новые настройки и попробуйте снова зайти в панель управления
Если ошибка сохраняется, то переходите к проверке следующей причины.
Блокировка брендмауэра Windows
- Попробуйте отключить брендмауэр на время: меню Пуск — Панель управления — Система и безопасность — Брандмауэр Windows — Включение и отключение
- очистите кэш и куки
- обновите страницы с ошибкой
- Если проблема устранена, то для завершения добавьте в брандмауэр разрешенные программы: Пуск — Панель управления — Система и безопасность — Брандмауэр — Разрешение запуска программы через брандмауэр.
Если проблема осталась — продолжайте проверку.
Cache и cookies
- Удалите cookies и очистите cache: нажмите Shift + Ctrl + Delete в то время, когда браузер открыт.
- Удалите ненужные файлы
- Проверьте работу вашего браузера
Перебои в работе интернета
- Свяжитесь со своим интернет-провайдером и узнайте, проводятся ли у них какие-то работы
- Уточните, сколько времени займут работы
Ошибка 403 — Доступ запрещен
Ошибка 403 означает, что сервер не может выполнить запрос из-за запрета на доступ к запрашиваемым файлам или страницам. Эта ошибка может возникать по ряду причин. Рассмотрим самые распространенные:
- Индексный файл index.html не загружен в директорию public_html вашего сайта или является некорректным. Для устранения этой ошибки создайте файл с именем index.html или переименуйте уже имеющийся файл. Возможные варианты для имени файла: index.html, index.htm, или index.php.
- Для директории, в которой находится запрашиваемый файл, установлены такие права, что веб-сервер Apache не смог прочитать файл на диске сервера. Для устранения этой ошибки попробуйте изменить права доступа в разделе, отвечающем за настройку прав.
- Файлы сайта загружены в неправильную директорию. Для устранения этой ошибки проверьте, располагаются ли файлы сайта в директории site/public_html, где site — название вашего сайта.
Ошибка 404 — Файл не найден
Ошибка 404 означает, что сервер не может найти данные по запросу пользователя.
Причины возникновения данной ошибки:
- Некорректный URL, введенный в адресное поле браузера. Для устранения данной ошибки проверьте, корректно ли указана ссылка.
- Файл, запрашиваемый по URL, отсутствует на сервере. Для устранения этой ошибки необходимо проверить наличие запрашиваемого файла в директории public_html вашего сайта.
Ошибка 500 — Внутренняя ошибка сервера
Ошибка 500 означает, что на сервере есть внутренняя ошибка. Эта проблема может возникнуть по двум причинам:
- Невозможно запустить скрипт. Скорее всего указаны неправильные права доступа на папки и файлы. Если на PHP файлы скриптов, размещенных на вашем хостинге, стоят права доступа 777, то исполнение данных скриптов может быть заблокировано сервером. Происходит это из-за того, что права доступа 777 позволяют всем производить любые изменения с данным файлом, что существенно влияет на безопасность и целостность вашего сайта. Для устранения этой ошибки следует проверить права доступа на папки и файлы сайта. Для папок рекомендовано установить права доступа 755, для исполняемых скриптов 600, а для всех остальных файлов 644.
- Неправильная инструкция в файле .htaccess или наличие в нём неподдерживаемых директив. Возможно, вы ошиблись в написании названия нужной директивы или параметров к ней. Данную ошибку можно устранить, включив лог ошибок error.log. Веб-сервер укажет вам, какую конкретно директиву он посчитал ошибочной — ее нужно будет исправить.
Ошибка 502 — Bad Gateway
Данная ошибка — результат запроса, при котором был получен недопустимый ответ от сервера. Причин возникновения проблемы может быть несколько:
- Проблемы в работе прокси-сервера. Для устранения этой ошибки попробуйте набрать в адресной строке браузера ссылку на какой-либо другой сайт. Тем самым вы можете проверить, есть ли доступ в Интернет вообще. Если вы обнаружили, что доступ в Интернет есть, но ваше обращение к конкретному сайту все равно дает ошибку 502, попробуйте удалить файлы cookies в браузере.
- Нехватка ресурсов сервера. Это может означать, что нагрузка на сервер превышает ресурсы, доступные на выбранном тарифе хостинга. Уточните у своего хостинг-провайдера о тарифах с большим объемом ресурсов и, в случае необходимости, увеличьте оперативную память или доступный объем диска.
Ошибка 503 — Service Temporarily Unavailable
У каждого аккаунта на сервере хостинга есть определенное количество рабочих процессов, выделенное в соответствии с выбранным тарифным планом. Работа с запросами ведется в порядке очереди, они поступают на сервер, где легкие запросы обрабатываются мгновенно, а тяжелые – медленно. Всякая очередь ограничена тем или иным количеством запросов. Если новый запрос находится за пределами этой границы, принят он не будет и вместо результата браузер выдаст оповещение “Сервис временно недоступен”.
Чтобы исправить данную ошибку нужно знать причины, по которым она может появляться:
- Зависание скриптов при передаче больших статичных файлов через PHP. Скрипты работают определенное время, а не постоянно. При окончании времени работы скрипта прерывается передача файла, соответственно файл не будет передан полностью, а также запрос оставит процесс веб-сервера работать еще длительное время. Устранить ошибку вы сможете посредством следующих шагов:
- Проверить все компоненты и плагины вашей CMS, отключая их по очереди, и найдите самые тяжёлые или испорченные, при работе которых загрузка сайта замедляется. По возможности откажитесь от таких компонентов, либо поищите более быстрый аналог.
- Проверить наличие у вас медленных запросов- в папке logs вашего аккаунта создается файл mysql-slow.log. Информация в этом файле обновляется раз в сутки и содержит только самые проблемные SQL-запросы.
- Если в PHP-скриптах используются Include-функции, загружающие части движка, расположенные на одном аккаунте, убедитесь, что в них используется локальный путь, а не URL вида «http://…». Наличие URL заставляет сервер делать дополнительный HTTP-запрос — это занимает лишнее время и сильно замедляет загрузку сайта.
- Большое количество запросов к серверу. Причин возникновения таких запросов несколько:
- Загружаемый ресурс разбит/содержит ссылки на слишком больше число файлов (картинки, таблицы стилей JS-скрипты), которые подгружаются через отдельные запросы. В этом случае следует объединить ресурсы в один файл, где это возможно.
- DDoS-атаки, флуды, спамы в комментарии так же могут вызывать большое количество запросов. В случае DDoS-атаки, необходимо определить ее тип, и, согласно ее уровню, предпринять действия по устранению. Подробнее о том, что необходимо делать, если ваш сайт под DDoS-атакой, мы писали в одной из статей нашего блога.
Действия при появлении ошибки
Перечисленные ошибки могут возникать довольно часто, поэтому знание причин их возникновения и способов устранения помогут вам самостоятельно решить появившуюся проблему, экономя время на ожидании ответа и поиска причины технической поддержкой.
Выберите надежный и мощный хостинг.
Большинство пользователей интернета знакомы с ошибками, которые иногда возникают при работе с сайтом или поиске той или иной информации в поисковых системах. Если вы являетесь владельцем сайта, который вдруг начал выдавать подобные ошибки, вам важно понимать, что они означают, причину их возникновения и способ их устранения.
Часто на различных форумах в интернете можно увидеть обсуждения на тему устранения ошибок на сайте. Порой возникшие проблемы незначительны и могут быть решены пользователем самостоятельно, без обращения к специалистам.
Для того, чтобы знать, что делать в непредвиденной ситуации, стоит познакомиться с описанием самых распространенных ошибок, а также прочитать руководство по их устранению.
Типы ошибок
Ошибки протокола HTTP возникают в том случае, если веб-сервер по какой-то причине не может успешно отправить пользователю запрашиваемый документ. В этом случае сервер сообщит пользователю в HTTP-заголовке код возникшей ошибки.
Коды ошибок бывают положительными и отрицательными или успешными и не успешными.
Всего существует 4 типа кодов (хх — сочетание любых цифр):
- 2xx — запрос выполнен успешно;
- 3xx — запрос успешно перенаправлен (тоже положительный код);
- 4xx — ошибка — документ не был отправлен пользователю, так как произошла критическая ошибка. Класс кодов 4xx предназначен для указания ошибок со стороны клиента;
- 5xx — ошибка сервера — критическая ошибка на сервере. Коды 5xx выделены под случаи неудачного выполнения операции по вине сервера.
Наибольший интерес для владельца сайта представляют коды, указывающие на ошибки со стороны клиента или сервера. Причины возникновения и способы устранения данных ошибок представлены ниже.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Ошибка 400
Bad Request
При переходе на сайт браузер может выдавать “400 Bad Request”. Это означает, что сервер обнаружил синтаксическую ошибку в запросе, который ввел пользователь. Однако подобная ошибка может появляться не только, когда вы вводите адрес сайта, но и, например, при входе в панель управления вашим сайтом. Причин возникновения может быть несколько:
- блокировка браузера антивирусом;
- блокировка брендмауэра Windows браузером;
- большое количество файлов cookies и данных в сache;
- перебои в работе интернета.
Для того, чтобы определить, какой из перечисленных вариантов относится к вашей ситуации, необходимо провести проверку каждого из них до полного устранения проблемы. Начнем с первой возможной причины.
Блокировка браузера
- Изучите настройки вашего антивируса в разделе под названием “Правила для приложений” или схожим с ним.
- Проверьте, есть ли ваш браузер в списке, и каков уровень доверия к нему.
- Повысьте уровень доверия к вашему браузеру, если он низкий.
- Сохраните новые настройки и попробуйте снова зайти в панель управления.
Если ошибка сохраняется, то переходите к проверке следующей причины.
Блокировка брендмауэра Windows
- Попробуйте отключить брендмауэр на время: меню Пуск — Панель управления — Система и безопасность — Брандмауэр Windows — Включение и отключение.
- Очистите кэш и куки.
- Обновите страницы с ошибкой.
- Если проблема устранена, то для завершения добавьте в брандмауэр разрешенные программы: Пуск — Панель управления — Система и безопасность — Брандмауэр — Разрешение запуска программы через брандмауэр.
Если проблема осталась — продолжайте проверку.
Cache и cookies
- Удалите cookies и очистите cache: нажмите Shift + Ctrl + Delete в то время, когда браузер открыт.
- Удалите ненужные файлы.
- Проверьте работу вашего браузера.
Перебои в работе интернета
- Свяжитесь со своим интернет-провайдером и узнайте, проводятся ли у них какие-то работы.
- Уточните, сколько времени займут работы.
Ошибка 403
Forbidden
Ошибка 403 означает, что сервер не может выполнить запрос из-за запрета на доступ к запрашиваемым файлам или страницам. Эта ошибка может возникать по ряду причин. Рассмотрим самые распространенные:
- Индексный файл index.html не загружен в директорию public_html вашего сайта или является некорректным. Для устранения этой ошибки создайте файл с именем index.html или переименуйте уже имеющийся файл. Возможные варианты для имени файла: index.html, index.htm или index.php.
- Для директории, в которой находится запрашиваемый файл, установлены такие права, что веб-сервер Apache не смог прочитать файл на диске сервера. Для устранения этой ошибки попробуйте изменить права доступа в разделе, отвечающем за настройку прав.
- Файлы сайта загружены в неправильную директорию. Для устранения этой ошибки проверьте, располагаются ли файлы сайта в директории site/public_html, где site — название вашего сайта.
Ошибка 404
Not Found
Ошибка 404 означает, что сервер не может найти данные по запросу пользователя.
Причины возникновения данной ошибки:
- Некорректный URL, введенный в адресное поле браузера. Для устранения данной ошибки проверьте, корректно ли указана ссылка.
- Файл, запрашиваемый по URL, отсутствует на сервере. Для устранения этой ошибки необходимо проверить наличие запрашиваемого файла в директории public_html вашего сайта.
Ошибка 500
Internal Server Error
Ошибка 500 означает, что на сервере есть внутренняя ошибка. Эта проблема может возникнуть по двум причинам:
- Невозможно запустить скрипт. Скорее всего, указаны неправильные права доступа на папки и файлы. Если на PHP файлы скриптов, размещенных на вашем хостинге, стоят права доступа 777, то исполнение данных скриптов может быть заблокировано сервером. Происходит это из-за того, что права доступа 777 позволяют всем производить любые изменения с данным файлом, что существенно влияет на безопасность и целостность вашего сайта. Для устранения этой ошибки следует проверить права доступа на папки и файлы сайта. Для папок рекомендовано установить права доступа 755, для исполняемых скриптов 600, а для всех остальных файлов 644.
- Неправильная инструкция в файле .htaccess или наличие в нём неподдерживаемых директив. Возможно, вы ошиблись в написании названия нужной директивы или параметров к ней. Данную ошибку можно устранить, включив лог ошибок error.log. Веб-сервер укажет вам, какую конкретно директиву он посчитал ошибочной — ее нужно будет исправить.
Ошибка 502
Bad Gateway
Данная ошибка — результат запроса, при котором был получен недопустимый ответ от сервера. Причин возникновения проблемы может быть несколько:
- Проблемы в работе прокси-сервера. Для устранения этой ошибки попробуйте набрать в адресной строке браузера ссылку на какой-либо другой сайт. Тем самым вы можете проверить, есть ли доступ в Интернет вообще. Если вы обнаружили, что доступ в Интернет есть, но ваше обращение к конкретному сайту все равно дает ошибку 502, попробуйте удалить файлы cookies в браузере.
- Нехватка ресурсов сервера. Это может означать, что нагрузка на сервер превышает ресурсы, доступные на выбранном тарифе хостинга. Уточните у своего хостинг-провайдера информацию о тарифах с большим объемом ресурсов и, в случае необходимости, увеличьте оперативную память или доступный объем диска.
Ошибка 503
Service Temporarily Unavailable
У каждого аккаунта на сервере хостинга есть определенное количество рабочих процессов, выделенное в соответствии с выбранным тарифным планом. Работа с запросами ведется в порядке очереди, они поступают на сервер, где легкие запросы обрабатываются мгновенно, а тяжелые – медленно. Всякая очередь ограничена тем или иным количеством запросов. Если новый запрос находится за пределами этой границы, принят он не будет, и вместо результата браузер выдаст оповещение “Сервис временно недоступен”.
Чтобы исправить данную ошибку нужно знать причины, по которым она может появляться:
1. Зависание скриптов при передаче больших статичных файлов через PHP. Скрипты работают определенное время, а не постоянно. При окончании времени работы скрипта прерывается передача файла, соответственно, файл не будет передан полностью, а также запрос оставит процесс веб-сервера работать еще длительное время. Устранить ошибку вы сможете посредством следующих шагов:
- Проверить все компоненты и плагины вашей CMS, отключая их по очереди, и найдите самые тяжёлые или испорченные, при работе которых загрузка сайта замедляется. По возможности откажитесь от таких компонентов или поищите более быстрый аналог.
- Проверить наличие у вас медленных запросов — в папке logs вашего аккаунта создается файл mysql-slow.log. Информация в этом файле обновляется раз в сутки и содержит только самые проблемные SQL-запросы.
- Если в PHP-скриптах используются Include-функции, загружающие части движка, расположенные на одном аккаунте, убедитесь, что в них используется локальный путь, а не URL вида «http://…». Наличие URL заставляет сервер делать дополнительный HTTP-запрос — это занимает лишнее время и сильно замедляет загрузку сайта.
2. Большое количество запросов к серверу. Причин возникновения таких запросов несколько:
- Загружаемый ресурс разбит/содержит ссылки на слишком больше число файлов (картинки, таблицы стилей JS-скрипты), которые подгружаются через отдельные запросы. В этом случае следует объединить ресурсы в один файл, где это возможно.
- DDoS-атаки, флуды, спамы в комментарии также могут вызывать большое количество запросов. В случае DDoS-атаки необходимо определить ее тип, и, согласно ее уровню, предпринять действия по устранению. Подробнее про DDoS-атаки вы можете прочитать в статье «DDoS-атаки: взгляд со стороны Timeweb».
Расшифровка 55 состояний прикладного протокола HTTP (протокол передачи гипертекста): от информационных сообщений до ошибок.
Во время запроса информации с удаленного веб-сервера может возникнуть ошибка. Тогда веб-сервер посылает в ответ код ошибки HTTP. Например 404 — Not Found (ресурс не найден).
Коды состояния HTTP состоят из трех цифр от 100 и до 510. Они делятся на следующие группы:
- Информационные (100-105).
- Успешные (200-226).
- Перенаправление (300-307).
- Ошибка клиента (400-499).
- Ошибка сервера (500-510).
Чтобы получить сведения об ошибке, введите её код в поле поиска по странице. Для этого нажмите сочетание клавиш CTRL + F и укажите номер.
100
Continue
Cервер удовлетворён начальными сведениями о запросе, клиент может продолжать пересылать заголовки. Появился в HTTP/1.1.
101
Switching Protocols
Сервер предлагает перейти на более подходящий для указанного ресурса протокол; список предлагаемых протоколов сервер обязательно указывает в поле заголовкаUpdate. Если клиента это заинтересует, то он посылает новый запрос с указанием другого протокола. Появился в HTTP/1.1.
102
Processing
Запрос принят, но на его обработку понадобится длительное время. Используется сервером, чтобы клиент не разорвал соединение из-за превышения времени ожидания. Клиент при получении такого ответа должен сбросить таймер и дожидаться следующей команды в обычном режиме. Появился в WebDAV.
200
ОК
Успешный запрос. Если клиентом были запрошены какие-либо данные, то они находятся в заголовке и/или теле сообщения. Появился в HTTP/1.0.
201
Created
В результате успешного выполнения запроса был создан новый ресурс. Сервер должен указать его местоположение в заголовке Location. Серверу рекомендуется[источник не указан 336 дней] ещё указывать в заголовке характеристики созданного ресурса (например, в поле Content-Type). Если сервер не уверен, что ресурс действительно будет существовать к моменту получения данного сообщения клиентом, то лучше использовать ответ с кодом 202. Появился в HTTP/1.0.
202
Accepted
Запрос был принят на обработку, но она не завершена. Клиенту не обязательно дожидаться окончательной передачи сообщения, так как может быть начат очень долгий процесс. Появился в HTTP/1.0.
203
Non-Authoritative Information
Аналогично ответу 200, но в этом случае передаваемая информация была взята не из первичного источника (резервной копии, другого сервера и т. д.) и поэтому может быть неактуальной. Появился в HTTP/1.1.
204
No Content
Сервер успешно обработал запрос, но в ответе были переданы только заголовки без тела сообщения. Клиент не должен обновлять содержимое документа, но может применить к нему полученные метаданные. Появился в HTTP/1.0.
205
Reset Content
Сервер обязывает клиента сбросить введённые пользователем данные. Тела сообщения сервер при этом не передаёт и документ обновлять не обязательно. Появился в HTTP/1.1.
206
Partial Content
Сервер удачно выполнил частичный GET-запрос, возвратив только часть сообщения. В заголовке Content-Range сервер указывает байтовые диапазоны содержимого. Особое внимание при работе с подобными ответами следует уделить кэшированию. Появился в HTTP/1.1. (подробнее…)
207
Multi-Status
Сервер передаёт результаты выполнения сразу нескольких независимых операций. Они помещаются в само тело сообщения в виде XML-документа с объектом multistatus. Не рекомендуется размещать в этом объекте статусы из серии 1xx из-за бессмысленности и избыточности. Появился в WebDAV.
226
IM Used
Заголовок A-IM от клиента был успешно принят и сервер возвращает содержимое с учётом указанных параметров. Введено в RFC 3229 для дополнения протокола HTTP поддержкой дельта-кодирования.
300
Multiple Choices
По указанному URI существует несколько вариантов предоставления ресурса по типу MIME, по языку или по другим характеристикам. Сервер передаёт с сообщением список альтернатив, давая возможность сделать выбор клиенту автоматически или пользователю. Появился в HTTP/1.0.
301
Moved Permanently
Запрошенный документ был окончательно перенесен на новый URI, указанный в поле Location заголовка. Некоторые клиенты некорректно ведут себя при обработке данного кода. Появился в HTTP/1.0.
302
Found, Moved Temporarily
Запрошенный документ временно доступен по другому URI, указанному в заголовке в поле Location. Этот код может быть использован, например, приуправляемом сервером согласовании содержимого. Некоторые клиенты некорректно ведут себя при обработке данного кода. Введено в HTTP/1.0.
303
See Other
Документ по запрошенному URI нужно запросить по адресу в поле Location заголовка с использованием метода GET несмотря даже на то, что первый запрашивался иным методом. Этот код был введён вместе с 307-ым для избежания неоднозначности, чтобы сервер был уверен, что следующий ресурс будет запрошен методом GET. Например, на веб-странице есть поле ввода текста для быстрого перехода и поиска. После ввода данных браузер делает запрос методом POST, включая в тело сообщения введённый текст. Если обнаружен документ с введённым названием, то сервер отвечает кодом 303, указав в заголовке Location его постоянный адрес. Тогда браузер гарантировано его запросит методом GET для получения содержимого. В противном случае сервер просто вернёт клиенту страницу с результатами поиска. Введено в HTTP/1.1.
304
Not Modified
Сервер возвращает такой код, если клиент запросил документ методом GET, использовал заголовок If-Modified-Since или If-None-Match и документ не изменился с указанного момента. При этом сообщение сервера не должно содержать тела. Появился в HTTP/1.0.
305
Use Proxy
Запрос к запрашиваемому ресурсу должен осуществляться через прокси-сервер, URI которого указан в поле Location заголовка. Данный код ответа могут использовать только исходные HTTP-сервера (не прокси). Введено в HTTP/1.1.
306
(зарезервировано)
использовавшийся раньше код ответа, в настоящий момент зарезервирован. Упомянут в RFC 2616 (обновление HTTP/1.1).
307
Temporary Redirect
Запрашиваемый ресурс на короткое время доступен по другому URI, указанный в поле Location заголовка. Этот код был введён вместе с 303 вместо 302-го для избежания неоднозначности. Введено в RFC 2616 (обновление HTTP/1.1).
400
Bad Request
Сервер обнаружил в запросе клиента синтаксическую ошибку. Появился в HTTP/1.0.
401
Unauthorized
Для доступа к запрашиваемому ресурсу требуется аутентификация. В заголовке ответ должен содержать поле WWW-Authenticate с перечнем условий аутентификации. Клиент может повторить запрос, включив в заголовок сообщения поле Authorization с требуемыми для аутентификации данными.
402
Payment Required
Предполагается использовать в будущем. В настоящий момент не используется. Этот код предусмотрен для платных пользовательских сервисов, а не для хостинговыхкомпаний. Имеется в виду, что эта ошибка не будет выдана хостинговым провайдером в случае просроченной оплаты его услуг. Зарезервирован, начиная с HTTP/1.1.
403
Forbidden
Сервер понял запрос, но он отказывается его выполнять из-за ограничений в доступе для клиента к указанному ресурсу. Если для доступа к ресурсу требуется аутентификация средствами HTTP, то сервер вернёт ответ 401 или 407 при использовании прокси. В противном случае ограничения были заданы администратором сервера или разработчиком веб-приложения и могут быть любыми в зависимости от возможностей используемого программного обеспечения. В любом случае клиенту следует сообщить причины отказа в обработке запроса. Наиболее вероятными причинами ограничения может послужить попытка доступа к системным ресурсам веб-сервера (например, файлам .htaccess или .htpasswd) или к файлам, доступ к которым был закрыт с помощью конфигурационных файлов, требование аутентификации не средствами HTTP, например, для доступа к системе управления содержимым или разделу для зарегистрированных пользователей либо сервер не удовлетворён IP-адресом клиента, например, при блокировках. Появился в HTTP/1.0.
404
Not Found
Самая распространенная ошибка при пользовании Интернетом, основная причина — ошибка в написании адреса Web-страницы. Сервер понял запрос, но не нашёл соответствующего ресурса по указанному URI. Если серверу известно, что по этому адресу был документ, то ему желательно использовать код 410. Ответ 404 может использоваться вместо 403, если требуется тщательно скрыть от посторонних глаз определённые ресурсы. Появился в HTTP/1.0.
405
Method Not Allowed
Указанный клиентом метод нельзя применить к текущему ресурсу. В ответе сервер должен указать доступные методы в заголовке Allow, разделив их запятой. Эту ошибку сервер должен возвращать, если метод ему известен, но он не применим именно к указанному в запросе ресурсу, если же указанный метод не применим на всём сервере, то клиенту нужно вернуть код 501 (Not Implemented). Появился в HTTP/1.1.
406
Not Acceptable
Запрошенный URI не может удовлетворить переданным в заголовке характеристикам. Если метод был не HEAD, то сервер должен вернуть список допустимых характеристик для данного ресурса. Появился в HTTP/1.1.
407
Proxy Authentication Required
Ответ аналогичен коду 401 за исключением того, что аутентификация производится для прокси-сервера. Механизм аналогичен идентификации на исходном сервере. Появился в HTTP/1.1.
408
Request Timeout
Время ожидания сервером передачи от клиента истекло. Клиент может повторить аналогичный предыдущему запрос в любое время. Например, такая ситуация может возникнуть при загрузке на сервер объёмного файла методом POST или PUT. В какой-то момент передачи источник данных перестал отвечать, например, из-за повреждения компакт-диска или потеря связи с другим компьютером в локальной сети. Пока клиент ничего не передаёт, ожидая от него ответа, соединение с сервером держится. Через некоторое время сервер может закрыть соединение со своей стороны, чтобы дать возможность другим клиентам сделать запрос. Этот ответ не возвращается, когда клиент принудительно остановил передачу по команде пользователя или соединение прервалось по каким-то иным причинам, так как ответ уже послать невозможно. Появился в HTTP/1.1.
409
Conflict
Запрос не может быть выполнен из-за конфликтного обращения к ресурсу. Такое возможно, например, когда два клиента пытаются изменить ресурс с помощью метода PUT.Появился в HTTP/1.1.
410
Gone
Такой ответ сервер посылает, если ресурс раньше был по указанному URL, но был удалён и теперь недоступен. Серверу в этом случае неизвестно и местоположение альтернативного документа, например, копии). Если у сервера есть подозрение, что документ в ближайшее время может быть восстановлен, то лучше клиенту передать код 404. Появился в HTTP/1.1.
411
Length Required
Для указанного ресурса клиент должен указать Content-Length в заголовке запроса. Без указания этого поля не стоит делать повторную попытку запроса к серверу по данному URI. Такой ответ естественен для запросов типа POST и PUT. Например, если по указанному URI производится загрузка файлов, а на сервере стоит ограничение на их объём. Тогда разумней будет проверить в самом начале заголовок Content-Length и сразу отказать в загрузке, чем провоцировать бессмысленную нагрузку, разрывая соединение, когда клиент действительно пришлёт слишком объёмное сообщение. Появился в HTTP/1.1.
412
Precondition Failed
Возвращается, если ни одно из условных полей заголовка[неизвестный термин] запроса не было выполнено. Появился в HTTP/1.1.
413
Request Entity Too Large
Возвращается в случае, если сервер отказывается обработать запрос по причине слишком большого размера тела запроса. Сервер может закрыть соединение, чтобы прекратить дальнейшую передачу запроса. Если проблема временная, то рекомендуется в ответ сервера включить заголовок Retry-After с указанием времени, по истечении которого можно повторить аналогичный запрос. Появился в HTTP/1.1.
414
Request-URL Too Long
Сервер не может обработать запрос из-за слишком длинного указанного URL. Такую ошибку можно спровоцировать, например, когда клиент пытается передать длинные параметры через метод GET, а не POST. Появился в HTTP/1.1.
415
Unsupported Media Type
По каким-то причинам сервер отказывается работать с указанным типом данных при данном методе. Появился в HTTP/1.1.
416
Requested Range Not Satisfiabl
В поле Range заголовка запроса был указан диапазон за пределами ресурса и отсутствует поле If-Range. Если клиент передал байтовый диапазон, то сервер может вернуть реальный размер в поле Content-Range заголовка. Данный ответ не следует использовать при передаче типа multipart/byteranges[источник не указан 336 дней]. Введено в RFC 2616 (обновление HTTP/1.1).
417
Expectation Failed
По каким-то причинам сервер не может удовлетворить значению поля Expect заголовка запроса. Введено в RFC 2616 (обновление HTTP/1.1).
422
Unprocessable Entity
Сервер успешно принял запрос, может работать с указанным видом данных, в теле запроса XML-документ имеет верный синтаксис, но имеется какая-то логическая ошибка, из-за которой невозможно произвести операцию над ресурсом. Введено в WebDAV.
423
Locked
Целевой ресурс из запроса заблокирован от применения к нему указанного метода. Введено в WebDAV.
424
Failed Dependency
Реализация текущего запроса может зависеть от успешности выполнения другой операции. Если она не выполнена и из-за этого нельзя выполнить текущий запрос, то сервер вернёт этот код. Введено в WebDAV.
425
Unordered Collection —
Посылается, если клиент послал запрос, обозначив положение в неотсортированной коллекции или используя порядок следования элементов, отличный от серверного[уточнить]. Введено в черновике по WebDAV Advanced Collections Protocol[14].
426
Upgrade Required
Сервер указывает клиенту на необходимость обновить протокол. Заголовок ответа должен содержать правильно сформированные поля Upgrade и Connection. Введено вRFC 2817 для возможности перехода к TLS посредством HTTP.
449
Retry With
Возвращается сервером, если для обработки запроса от клиента поступило недостаточно информации. При этом в заголовок ответа помещается поле Ms-Echo-Request. Введено корпорацией Microsoft для WebDAV. В настоящий момент как минимум используется программой Microsoft Money.
456
Unrecoverable Error
Возвращается сервером, если обработка запроса вызывает некорректируемые сбои в таблицах баз данных[источник не указан 336 дней]. Введено корпорацией Microsoftдля WebDAV.
500
Internal Server Error
Любая внутренняя ошибка сервера, которая не входит в рамки остальных ошибок класса. Появился в HTTP/1.0.
501
Not Implemented
Сервер не поддерживает возможностей, необходимых для обработки запроса. Типичный ответ для случаев, когда сервер не понимает указанный в запросе метод. Если же метод серверу известен, но он не применим к данному ресурсу, то нужно вернуть ответ 405. Появился в HTTP/1.0.
502
Bad Gateway
Сервер, выступая в роли шлюза или прокси-сервера, получил недействительное ответное сообщение от вышестоящего сервера. Появился в HTTP/1.0.
503
Service Unavailable
Сервер временно не имеет возможности обрабатывать запросы по техническим причинам (обслуживание, перегрузка и прочее). В поле Retry-After заголовка сервер может указать время, через которое клиенту рекомендуется повторить запрос. Хотя во время перегрузки очевидным кажется сразу разрывать соединение, эффективней может оказаться установка большого значения поля Retry-After для уменьшения частоты избыточных запросов. Появился в HTTP/1.0.
504
Gateway Timeout
Сервер в роли шлюза или прокси-сервера не дождался ответа от вышестоящего сервера для завершения текущего запроса. Появился в HTTP/1.1.
505
HTTP Version Not Supported
Сервер не поддерживает или отказывается поддерживать указанную в запросе версию протокола HTTP. Появился в HTTP/1.1.
506
Variant Also Negotiates
В результате ошибочной конфигурации выбранный вариант указывает сам на себя, из-за чего процесс связывания прерывается. Экспериментальное. Введено в RFC 2295 для дополнения протокола HTTP технологией Transparent Content Negotiation.
507
Insufficient Storage
Не хватает места для выполнения текущего запроса. Проблема может быть временной. Введено в WebDAV.
509
Bandwidth Limit Exceeded
Используется при превышении веб-площадкой отведённого ей ограничения на потребление трафика. В данном случае владельцу площадки следует обратиться к своему хостинг-провайдеру. В настоящий момент данный код не описан ни в одном RFC и используется только модулем «bw/limited», входящим в панель управления хостингом cPanel, где и был введён.
510
Not Extended
На сервере отсутствует расширение, которое желает использовать клиент. Сервер может дополнительно передать информацию о доступных ему расширениях. Введено в RFC 2774 для дополнения протокола HTTP поддержкой расширений.
2 января, 2015 12:50 пп
15 294 views
| Комментариев нет
Cloud Server
При обращении к веб-серверу или приложению каждый поступивший HTTP-запрос получает в качестве ответа код состояния HTTP (англ. HTTP status code). Коды состояния HTTP – это трехзначные коды, сгруппированные в пять различных классов. Класс кода состояния можно определить по первой цифре:
- 1хх – информационные коды;
- 2хх – успех;
- 3хх – перенаправление;
- 4хх – ошибка клиента;
- 5хх – ошибка сервера.
Это руководство фокусируется на выявлении и устранении наиболее часто встречающихся кодов ошибок HTTP (то есть кодов состояния 4xx и 5xx) с точки зрения системного администратора. В некоторых ситуациях веб-сервер отвечает на запрос определенным кодом ошибки; рассмотрим общие возможные причины и решения.
Краткий обзор ошибок клиента и сервера
Ошибки клиента (коды состояния HTTP 400-499) возникают из-за HTTP-запросов, отправленных клиентом (веб-браузером или другим клиентом HTTP). Хотя данные типы ошибок связаны непосредственно с клиентом, системному администратору полезно знать, с какими кодами ошибок может столкнуться пользователь, чтобы определить, можно ли решить эту проблему в конфигурациях сервера.
Ошибки сервера (коды состояния HTTP 500-599) возникают тогда, когда веб-сервер не в состоянии обработать запрос из-за какой-либо ошибки или сбоя.
Общие советы по устранению ошибок HTTP
- При использовании веб-браузера для тестирования веб-сервера не забудьте обновить браузер после внесения изменений в настройки сервера.
- Проверяйте логи сервера, чтобы получить подробные сведения о том, как сервер обрабатывает запросы. Например, веб-серверы Apache и Nginx создают два файла по имени access.log и error.log, в которых можно найти соответствующую информацию.
- Запомните: определения кодов состояния HTTP являются частью стандарта, который реализуется обслуживающим запросы приложением. Это означает, что фактический код состояния, который возвращается в результате, зависит от того, как программное обеспечение сервера обрабатывает конкретную ошибку.
Ознакомившись с основными понятиями кодов состояния HTTP, приступим к обзору наиболее часто встречающихся ошибок.
Ошибка 400 Bad Request
Код статуса 400, или ошибка Bad Request («неверный запрос») означает, что синтаксис запроса HTTP, отправленного на сервер, неверен.
Как правило, причины возникновения ошибки 400 Bad Request таковы:
- Куки пользователя, связанные с сайтом, повреждены. Чтобы решить эту проблему,, попробуйте очистить кэш браузера и файлы cookie.
- Искаженный запрос из-за неисправного браузера.
- Искаженный запрос из-за ошибки пользователя при формировании HTTP-запроса вручную (например, неправильное использование curl).
Ошибка 401 Unauthorized
Код статуса 401, или ошибка Unauthorized («неавторизован») значит, что пользователь, пытающийся получить доступ к ресурсу, не прошел авторизацию (или не смог пройти ее, указав неверные учетные данные). Чтобы иметь возможность просматривать защищенный ресурс, пользователь должен предоставить корректные учетные данные.
Например, ошибка 401 Unauthorized может возникнуть, если пользователь пытается получить доступ к ресурсу, который защищен HTTP-авторизацией (как в этом руководстве по Nginx). В подобной ситуации ошибка 401 будет появляться снова и снова до тех пор, пока пользователь не предоставит корректный логин и пароль (который внесен в файл .htpasswd).
Ошибка 403 Forbidden
Код состояния 403, или ошибка Forbidden («запрещено») значит, что запрос пользователя был отправлен верно, но сервер отказывается обслуживать его в связи с отсутствием разрешения на доступ к запрашиваемому ресурсу. В этом разделе описаны наиболее распространенные причины возникновения ошибки 403.
Права на файл
Как правило, ошибка 403 случается, если пользователь, который запускает процесс веб-сервера, не имеет прав на чтение запрашиваемого файла.
Чтобы привести пример устранения ошибки 403, предположим, что:
- пользователь пытается получить доступ к индексному файлу (http://example.com/index.html);
- рабочий процесс веб-сервера принадлежит пользователю www-data;
- индексный файл на сервере находится в /usr/share/nginx/html/index.html.
Итак, если пользователь получает ошибку 403 Forbidden, убедитесь, что пользователь www-data имеет права на чтение файла. Как правило, в подобной ситуации нужно просто изменить права на файл. Это можно сделать несколькими способами, но в данном случае подойдет вот эта команда:
sudo chmod o=r /usr/share/nginx/html/index.html
Файл .htaccess
Еще одна потенциальная причина возникновения ошибки 403 (часто это делается намеренно) – использование файла .htaccess. При помощи файла .htaccess можно запретить конкретным IP-адресам (или диапазонам адресов) доступ к определенным ресурсам.
Если пользователи неожиданно получают ошибку 403 Forbidden, убедитесь, что она не была вызвана настройками файла .htaccess.
Несуществующий индексный файл
Если пользователь пытается получить доступ к каталогу, который не имеет стандартного индексного файла, а листинг каталога (directory listing) отключен, веб-сервер будет возвращать ошибку 403 Forbidden. Такое случится, если, например, пользователь попытается получить доступ к каталогу http://example.com/emptydir/, а в каталоге emptydir на сервере нет индексного файла. Листинг каталога можно включить в конфигурациях сервера.
Ошибка 404 Not Found
Код статуса 404, или ошибка Not Found («не найдено») значит, что пользователь может взаимодействовать с сервером, но требуемый файл или ресурс отсутствует.
Ошибки 404 могут возникнуть в самых различных ситуациях. Ниже приведен список советов, которые помогут устранить проблему в случае, если пользователь неожиданно получил 404 Not Found:
- Проверьте ссылку, которая направляет пользователя на сервер, на наличие ошибок или опечаток.
- Возможно, пользователь ввел неверный URL.
- Может быть, нужного файла не существует в указанном месте на сервере; убедитесь, что запрашиваемый ресурс не был перемещен или удален с сервера.
- Проверьте, правильно ли указано местонахождение корневого каталога (document root) в конфигурации сервера.
- Возможно, пользователь, которому принадлежит рабочий процесс веб-сервера, не имеет соответствующих прав, чтобы открыть каталог, в котором находится запрашиваемый файл. Для доступа к каталогу нужны права на чтение и выполнение.
- Если пользователь переходит к ресурсу по символической ссылке, убедитесь, что веб-сервер настроен для поддержки символических ссылок.
Ошибка 500 Internal Server Error
Код состояния 500, или ошибка Internal Server Error («внутренняя ошибка сервера») означает, что сервер не может обработать запрос по неизвестной причине. Иногда этот код появляется в ситуациях, когда более подходящими являются другие сообщения об ошибках 5xx.
Как правило, причиной данной ошибки является неправильная настройка сервера (например, искаженный файл .htaccess) или нехватка некоторых пакетов (к примеру, запуск файла PHP без предварительно установленного PHP).
Ошибка 502 Bad Gateway
Код состояния 502, или ошибка Bad Gateway («ошибочный шлюз») значит, что запрашиваемый сервер является шлюзом или прокси-сервером, и он не получает валидных ответов от серверов бэкэнда, которые на самом деле выполнили запрос.
Если речь идет об обратном прокси-сервере (например, о балансировщике нагрузки), убедитесь, что:
- с серверами бэкэнда (на которые пересылаются HTTP-запросы) все в порядке;
- обратный прокси настроен правильно, в его настройках указаны корректные бэкэнды;
- сетевое соединение между серверами бэкэнда и обратным прокси-сервером в порядке. Если серверы могут взаимодействовать на других портах, убедитесь, что эти порты не заблокированы брандмауэром;
- нужные сокеты существуют в корректном местонахождении и имеют соответствующие разрешения (если веб-приложение настроено слушать сокеты).
Ошибка 503 Service Unavailable
Код состояния 503, или ошибка Service Unavailable («сервис недоступен») означает, что сервер перегружен или находится на обслуживании; такой сервис должен стать доступным в течение некоторого времени.
Если сервер не находится на обслуживании, эта ошибка может указывать на то, что серверу не хватает ресурсов процессора или памяти для обработки всех входящих запросов, или что нужно настроить веб-сервер для обслуживания большего количества пользователей или процессов.
Ошибка 504 Gateway Timeout
Код состояния 504, или ошибка Gateway Timeout («шлюз не отвечает») значит, что данный сервер является шлюзом или прокси-сервером, и он не получает ответа от бэкэнда в пределах допустимого периода времени.
Как правило, это происходит по следующим причинам:
- Плохое сетевое соединение между серверами;
- Внутренний сервер, который выполняет запрос, работает слишком медленно;
- В настройках сервера задано слишком короткое время ожидания шлюза или прокси-сервера.
Заключение
Теперь вы знакомы с основными кодами ошибок HTTP и знаете некоторые пути решения этих проблем.
Если же вы столкнулись с ошибкой, которая не была охвачена данной статьей, или знаете другие удобные способы устранения ошибок HTTP, пожалуйста, опишите их в комментариях ниже.
Tags: Cloud Server, HTTP, HTTP status code, VPS
Практически любой активный пользователь интернета при работе с сайтами сталкивался с ошибками. Особенно важно знать причину этих ошибок самому владельцу сайта.
Довольно часто проблемы, которыми вызваны ошибки, незначительны и решить их можно самостоятельно. Для начала нужно ознакомиться с типами самых распространенных ошибок, а затем уже и алгоритмом их устранения.
Виды ошибок
Ошибка протокола http может возникнуть, если файлы, запрошенные пользователем, не доходят к нему от сервера. В такой ситуации сервер сообщает пользователю код ошибки. Код ответа сервера бывает всего четырех видов: два успешных и два не успешных.
Список ошибок http (хх – любые цифры):
2хх — запрашиваемый запрос выполнен;
3хх — запрашиваемый запрос отправлен пользователю, тоже считается положительным кодом;
4хх — файл не был отправлен пользователю по причине ошибки. Этот код означает ошибку со стороны клиента;
5хх — ошибка сервера.
Ниже мы разберем два последних кода ответа сервера. Это наиболее частые ошибки, а их устранение не требует много времени.

Ошибка 400 «Bad Request»
Если при запросе к сайту, вы получаете ошибку 400, значит в самом запросе допущена ошибка. Но такая ошибка может возникнуть, если вы пытаетесь войти в панель управления вашего сайта. Чаще всего это случается по 4 причинам:
- браузер заблокирован антивирусом;
- браузер заблокирован брэндмауэром Windows;
- большое количество cookies и файлов в кэше;
- нестабильное подключение к интернету.
Чтобы решить эту проблему, нужно по очереди проверить каждую возможную причину ее возникновения.
Браузер заблокирован антивирусом
Проверьте, чтобы ваш браузер не находился в списке запрещенных приложений вашего анивируса. Если находится, повысьте уровень доверия к нему и сохраните настройки.
Браузер заблокирован брэндмауэром.
В этом случае нужно временно отключить брэндмауэр, очистить cookies и cash, а затем обновить страницу в браузере. Если проблема решилась, нужно добавить браузер в разрешенные программы в брэндмауэре.
Куки и кэш (Сookies & cash)
Самое простое решение – просто очистите cookies и cash в браузере, а затем обновите страницу с ошибкой.
Нестабильное подключение к интернету.
Позвоните провайдеру, чтобы узнать, с чем связаны перебои. Возможно, у провайдера проводятся работы.

Ошибка 403 «Доступ запрещен»
Если ответ сервера – ошибка 403, значит, что доступ к запрашиваемым файлам запрещен. Самые часто встречающиеся причины:
- Некорректный индексный файл. Для исправления этой ошибки нужно создать такой файл или переименовать, если он уже имеется.
- Права доступа файла не дают веб-серверу его прочесть. Для решения проблемы нужно изменить права.
- Данные расположены в неверной директории. Для решения проверьте нахождение файлов в директории public_html.

Ошибка 404 – файл не найден
Такая ошибка означает, что сервер не находит данные по запросу. Основные причины ее возникновения:
- URL введен некорректно. Чтобы устранить ошибку, проверьте правильность написания ссылки.
- Запрашиваемый документ отсутствует. Чтобы устранить ошибку, нужно проверить, находится ли запрашиваемый файл в нужной директории.

Ошибка 500 – ошибка сервера
Чтобы узнать, что значит ошибка http с кодом 500, нужно проверить причины ее возникновения.
- Невозможность запуска скрипта. Если на документы указаны неверные права доступа, такие как 777, работа скриптов с этими файлами блокируется сервером. Чтобы устранить данную проблему, необходимо установить корректные права доступа к файлам.
- Ошибка в файле .htaccess. Возможно, ошибка в директиве. Чтобы устранить ошибку, включите error.log.

Ошибка 502 – Bad Gateaway
Такие статусы ошибок http, как 502, сообщают о том, сервер дал недопустимый ответ. Причины появления такой ошибки:
- Прокси-сервер работает неисправно. Убедитесь, что у вас есть доступ в сеть. Если доступ к другим сайтам имеется и интернет работает, удалите куки и очистите кэш.
- Недостаточность серверных ресурсов. Такая проблема может возникнуть, если ваш сайт превышает количество ресурсов, выделяемое вам хостингом на данном тарифном плане. Изучите тарифы хостинга и выберите себе более подходящий, предоставляющий больше ресурсов.

Ошибка 503 – Service Temporarily Unavailable
Каждый сайт, располагаясь на хостинге, имеет в распоряжении ограниченное количество рабочих процессов в зависимости от тарифа. Процессы выполняются по очереди и, чем больше процессов, тем сильнее забивается очередь, количество процессов в которой ограничено. Таким образом, если процесс не вмещается в установленный объем очереди, он не выполнятся. При этом сервер выдает ошибку «Сервис временно недоступен». Причины появления ошибки:
- Ограниченность времени работы скрипта. Так как через некоторое время скрипты прекращают свою работу, они могут не успеть передать большой файл. Чтобы устранить эту ошибку, отключите все плагины по очереди, выявляя из их числа самые тяжелые. Виновника следует заменить на аналогичный плагин или же отказаться от него вовсе.
- Высокое количество запросов. Причины возникновения:
- Ресурс ссылается на слишком большое количество файлов, загрузка каждого из которых занимает отдельный процесс. Для решения постарайтесь объединить как можно больше файлов в один.
- Спам и DDoS-атаки могут вызывать высокое количество запросов. В случае DDos-атаки, нужно постараться ее устранить.
Что делать при появлении ошибки
Даже на сайтах с самым лучшим обслуживанием периодически возникают ошибки. Для самостоятельного решения вам нужно понять причину возникновения http ошибки. Подобные знания помогут вам сэкономить время и ресурсы, ведь вам не нужно будет обращаться в техническую поддержку провайдера.
Содержание
Составили подробный классификатор кодов состояния HTTP. Добавляйте в закладки, чтобы был под рукой, когда понадобится.
Что такое код ответа HTTP
Когда посетитель переходит по ссылке на сайт или вбивает её в поисковую строку вручную, отправляется запрос на сервер. Сервер обрабатывает этот запрос и выдаёт ответ — трехзначный цифровой код HTTP от 100 до 510. По коду ответа можно понять реакцию сервера на запрос.
Первая цифра в ответе обозначает класс состояния, другие две — причину, по которой мог появиться такой ответ.
Как проверить код состояния страницы
Проверить коды ответа сервера можно вручную с помощью браузера и в панелях веб‑мастеров: Яндекс.Вебмастер и Google Search Console.
В браузере
Для примера возьмём Google Chrome.
-
Откройте панель разработчика в браузере клавишей F12, комбинацией клавиш Ctrl + Shift + I или в меню браузера → «Дополнительные инструменты» → «Инструменты разработчика». Подробнее об этом рассказывали в статье «Как открыть исходный код страницы».
-
Переключитесь на вкладку «Сеть» в Инструментах разработчика и обновите страницу:

В Яндекс.Вебмастере
Откройте инструмент «Проверка ответа сервера» в Вебмастере. Введите URL в специальное поле и нажмите кнопку «Проверить»:

Как добавить сайт в Яндекс.Вебмастер и другие сервисы Яндекса
В Google Search Console
Чтобы посмотреть код ответа сервера в GSC, перейдите в инструмент проверки URL — он находится в самом верху панели:

Введите ссылку на страницу, которую хотите проверить, и нажмите Enter. В результатах проверки нажмите на «Изучить просканированную страницу» в блоке «URL есть в индексе Google».

А затем в открывшемся окне перейдите на вкладку «Подробнее»:

Теперь расскажем подробнее про все классы кодов состояния HTTP.
1* класс кодов (информационные сообщения)
Это системный класс кодов, который только информирует о процессе передачи запроса. Такие ответы не являются ошибкой, хотя и могут отображаться в браузере как Error Code.
100 Continue
Этот ответ сообщает, что полученные сведения о запросе устраивают сервер и клиент может продолжать отправлять данные. Такой ответ может требоваться клиенту, если на сервер отправляется большой объём данных.
101 Switching Protocols
Сервер одобрил переключение типа протокола, которое запросил пользователь, и в настоящий момент выполняет действие.
102 Processing
Запрос принят — он находится в обработке, и на это понадобится чуть больше времени.
103 Checkpoint
Контрольная точка — используется в запросах для возобновления после прерывания запросов POST или PUT.
POST отправляет данные на сервер, PUT создает новый ресурс или заменяет существующий данными, представленными в теле запроса.
Разница между ними в том, что PUT работает без изменений: повторное его применение даёт такой же результат, что и в первый раз, а вот повторный вызов одного и того же метода POST часто меняет данные.
Пример — оформленный несколько раз интернет‑заказ. Такое часто происходит как раз по причине неоднократного использования запроса PUT.
105 Name Not Resolved
Не удается преобразовать DNS‑адрес сервера — это означает ошибку в службе DNS. Эта служба преобразует IP‑адреса в знакомые нам доменные имена.
2* класс кодов (успешно обработанные запросы)
Эти коды информируют об успешности принятия и обработки запроса. Также сервер может передать заголовки или тело сообщений.
200 ОК
Все хорошо — HTTP‑запрос успешно обработан (не ошибка).
201 Created
Создано — транзакция успешна, сформирован новый ресурс или документ.
202 Accepted
Принято — запрос принят, но ещё не обработан.
203 Non‑Authoritative Information
Информация не авторитетна — запрос успешно обработан, но передаваемая информация была взята не из первичного источника (данные могут быть устаревшими).
204 No Content
Нет содержимого — запрос успешно обработан, однако в ответе только заголовки без контента сообщения. Не нужно обновлять содержимое документа, но можно применить к нему полученные метаданные.
205 Reset Content
Сбросить содержимое. Запрос успешно обработан — но нужно сбросить введенные данные. Страницу можно не обновлять.
206 Partial Content
Частичное содержимое. Сервер успешно обработал часть GET‑запроса, а другую часть вернул.
GET — метод для чтения данных с сайта. Он говорит серверу, что клиент хочет прочитать какой‑то документ.
Представим интернет‑магазин и страницы каталога. Фильтры, которые выбирает пользователь, передаются благодаря методу GET. GET‑запрос работает с получением данных, а POST‑запрос нужен для отправки данных.
При работе с подобными ответами следует уделить внимание кэшированию.
207 Multi‑Status
Успешно выполнено несколько операций — сервер передал результаты выполнения нескольких независимых операций. Они появятся в виде XML‑документа с объектом multistatus.
226 IM Used
Успешно обработан IM‑заголовок (специальный заголовок, который отправляется клиентом и используется для передачи состояния HTTP).
3* класс кодов (перенаправление на другой адрес)
Эти коды информируют, что для достижения успешной операции нужно будет сделать другой запрос, возможно, по другому URL.
300 Multiple Choices
Множественный выбор — сервер выдает список нескольких возможных вариантов перенаправления (максимум — 5). Можно выбрать один из них.
301 Moved Permanently
Окончательно перемещено — страница перемещена на другой URL, который указан в поле Location.
302 Found/Moved
Временно перемещено — страница временно перенесена на другой URL, который указан в поле Location.
303 See Other
Ищите другую страницу — страница не найдена по данному URL, поэтому смотрите страницу по другому URL, используя метод GET.
304 Not Modified
Модификаций не было — с момента последнего визита клиента изменений не было.
305 Use Proxy
Используйте прокси — запрос к нужному ресурсу можно сделать только через прокси‑сервер, URL которого указан в поле Location заголовка.
306 Unused
Зарезервировано. Код в настоящий момент не используется.
307 Temporary Redirect
Временное перенаправление — запрашиваемый ресурс временно доступен по другому URL.
Этот код имеет ту же семантику, что код ответа 302 Found, за исключением того, что агент пользователя не должен изменять используемый метод HTTP: если в первом запросе использовался POST, то во втором запросе также должен использоваться POST.
308 Resume Incomplete
Перемещено полностью (навсегда) — запрашиваемая страница была перенесена на новый URL, указанный в поле Location заголовка. Метод запроса (GET/POST) менять не разрешается.
4* класс кодов (ошибки на стороне клиента)
Эти коды указывают на ошибки со стороны клиентов.

400 Bad Request
Неверный запрос — запрос клиента не может быть обработан, так как есть синтаксическая ошибка (возможно, опечатка).
401 Unauthorized
Не пройдена авторизация — запрос ещё в обработке, но доступа нет, так как пользователь не авторизован.
Для доступа к запрашиваемому ресурсу клиент должен представиться, послав запрос, включив при этом в заголовок сообщения поле Authorization.
402 Payment Required
Требуется оплата — зарезервировано для использования в будущем. Код предусмотрен для платных пользовательских сервисов, а не для хостинговых компаний.
403 Forbidden
Запрещено — запрос принят, но не будет обработан, так как у клиента недостаточно прав. Может возникнуть, когда пользователь хочет открыть системные файлы (robots, htaccess) или не прошёл авторизацию.
404 Not Found
Не найдено — запрашиваемая страница не обнаружена. Сервер принял запрос, но не нашёл ресурса по указанному URL (возможно, была ошибка в URL или страница была перемещена).
405 Method Not Allowed
Метод не разрешён — запрос был сделан методом, который не поддерживается данным ресурсом. Сервер должен предложить доступные методы решения в заголовке Allow.
406 Not Acceptable
Некорректный запрос — неподдерживаемый поисковиком формат запроса (поисковый робот не поддерживает кодировку или язык).
407 Proxy Authentication Required
Нужно пройти аутентификацию прокси — ответ аналогичен коду 401, только нужно аутентифицировать прокси‑сервер.
408 Request Timeout
Тайм‑аут запроса — запрос клиента занял слишком много времени. На каждом сайте существует свое время тайм‑аута — проверьте интернет‑соединение и просто обновите страницу.
409 Conflict
Конфликт (что‑то пошло не так) — запрос не может быть выполнен из‑за конфликтного обращения к ресурсу (несовместимость двух запросов).
410 Gone
Недоступно — ресурс раньше был размещён по указанному URL, но сейчас удалён и недоступен (серверу неизвестно месторасположение).
411 Length Required
Добавьте длины — сервер отклоняет отправляемый запрос, так как длина заголовка не определена, и он не находит значение Content‑Length.
Нужно исправить заголовки на сервере, и в следующий раз робот сможет проиндексировать страницу.
412 Precondition Failed
Предварительное условие не выполнено — стоит проверить правильность HTTP‑заголовков данного запроса.
413 Request Entity Too Large
Превышен размер запроса — перелимит максимального размера запроса, принимаемого сервером. Браузеры поддерживают запросы от 2 до 8 килобайт.
414 Request‑URI Too Long
Превышена длина запроса — сервер не может обработать запрос из‑за длинного URL. Такая ошибка может возникнуть, например, когда клиент пытается передать чересчур длинные параметры через метод GET, а не POST.
415 Unsupported Media Type
Формат не поддерживается — сервер не может принять запрос, так как данные подгружаются в некорректном формате, и сервер разрывает соединение.
416 Requested Range Not Satisfiable
Диапазон не поддерживается — ошибка возникает в случаях, когда в самом HTTP‑заголовке прописывается некорректный байтовый диапазон.
Корректного диапазона в необходимом документе может просто не быть, или есть опечатка в синтаксисе.
417 Expectation Failed
Ожидания не оправдались — прокси некорректно идентифицировал содержимое поля «Expect: 100‑Continue».
418 I’m a teapot
Первоапрельская шутка разработчиков в 1998 году. В расшифровке звучит как «я не приготовлю вам кофе, потому что я чайник». Не используется в работе.
422 Unprocessable Entity
Объект не обработан — сервер принял запрос, но в нём есть логическая ошибка. Стоит посмотреть в сторону семантики сайта.
423 Locked
Закрыто — ресурс заблокирован для выбранного HTTP‑метода. Можно перезагрузить роутер и компьютер. А также использовать только статистический IP.
424 Failed Dependency
Неуспешная зависимость — сервер не может обработать запрос, так как один из зависимых ресурсов заблокирован.
Выполнение запроса напрямую зависит от успешности выполнения другой операции, и если она не будет успешно завершена, то вся обработка запроса будет прервана.
425 Unordered Collection
Неверный порядок в коллекции — ошибка возникает, если клиент указал номер элемента в неупорядоченном списке или запросил несколько элементов в порядке, отличном от серверного.
426 Upgrade Required
Нужно обновление — в заголовке ответа нужно корректно сформировать поля Upgrade и Connection.
Этот ответ возникает, когда серверу требуется обновление до SSL‑протокола, но клиент не имеет его поддержки.
428 Precondition Required
Нужно предварительное условие — сервер просит внести в запрос информацию о предварительных условиях обработки данных, чтобы выдавать корректную информацию по итогу.
429 Too Many Requests
Слишком много запросов — отправлено слишком много запросов за короткое время. Это может указывать, например, на попытку DDoS‑атаки, для защиты от которой запросы блокируются.
431 Request Header Fields Too Large
Превышена длина заголовков — сервер может и не отвечать этим кодом, вместо этого он может просто сбросить соединение.
Исправляется это с помощью сокращения заголовков и повторной отправки запроса.
434 Requested Host Unavailable
Адрес запрашиваемой страницы недоступен.
444 No Response
Нет ответа — код отображается в лог‑файлах, чтобы подтвердить, что сервер никак не отреагировал на запрос пользователя и прервал соединение. Возвращается только сервером nginx.
Nginx — программное обеспечение с открытым исходным кодом. Его используют для создания веб‑серверов, а также в качестве почтового или обратного прокси‑сервера. Nginx решает проблему падения производительности из‑за роста трафика.
449 Retry With
Повторите попытку — ошибка говорит о необходимости скорректировать запрос и повторить его снова. Причиной становятся неверно указанные параметры (возможно, недостаточно данных).
450 Blocked by Windows Parental Controls
Заблокировано родительским контролем — говорит о том, что с компьютера попытались зайти на заблокированный ресурс. Избежать этой ошибки можно изменением параметров системы родительского контроля.
451 Unavailable For Legal Reasons
Недоступно по юридическим причинам — доступ к ресурсу закрыт, например, по требованию органов государственной власти или по требованию правообладателя в случае нарушения авторских прав.
456 Unrecoverable Error
Неустранимая ошибка — при обработке запроса возникла ошибка, которая вызывает некорректируемые сбои в таблицах баз данных.
499 Client Closed Request
Запрос закрыт клиентом — нестандартный код, используемый nginx в ситуациях, когда клиент закрыл соединение, пока nginx обрабатывал запрос.
5* класс кодов (ошибки на стороне сервера)
Эти коды указывают на ошибки со стороны серверов.
При использовании всех методов, кроме HEAD, сервер должен вернуть в теле сообщения гипертекстовое пояснение для пользователя. И его можно использовать в работе.

500 Internal Server Error
Внутренняя ошибка сервера — сервер столкнулся с неким условием, из‑за которого не может выполнить запрос.
Проверяйте, корректно ли указаны директивы в системных файлах (особенно htaccess) и нет ли ошибки прав доступа к файлам. Обратите внимание на ошибки внутри скриптов и их медленную работу.
501 Not Implemented
Не выполнено — код отдается, когда сам сервер не может идентифицировать метод запроса.
Сами вы эту ошибку не исправите. Устранить её может только сервер.
502 Bad Gateway
Ошибка шлюза — появляется, когда сервер, выступая в роли шлюза или прокси‑сервера, получил ответное сообщение от вышестоящего сервера о несоответствии протоколов.
Актуально исключительно для прокси и шлюзовых конфигураций.
503 Service Unavailable
Временно не доступен — сервер временно не имеет возможности обрабатывать запросы по техническим причинам (обслуживание, перегрузка и прочее).
В поле Retry‑After заголовка сервер укажет время, через которое можно повторить запрос.
504 Gateway Timeout
Тайм‑аут шлюза — сервер, выступая в роли шлюза или прокси‑сервера, не получил ответа от вышестоящего сервера в нужное время.
Исправить эту ошибку самостоятельно не получится. Здесь дело в прокси, часто — в веб‑сервере.
Первым делом просто обновите веб‑страницу. Если это не помогло, нужно почистить DNS‑кэш. Для этого нажмите горячие клавиши Windows+R и введите команду cmd (Control+пробел). В открывшемся окне укажите команду ipconfig / flushdns и подтвердите её нажатием Enter.
505 HTTP Version Not Supported
Сервер не поддерживает версию протокола — отсутствует поддержка текущей версии HTTP‑протокола. Нужно обеспечить клиента и сервер одинаковой версией.
506 Variant Also Negotiates
Неуспешные переговоры — с такой ошибкой сталкиваются, если сервер изначально настроен неправильно. По причине ошибочной конфигурации выбранный вариант указывает сам на себя, из‑за чего процесс и прерывается.
507 Insufficient Storage
Не хватает места для хранения — серверу недостаточно места в хранилище. Нужно либо расчистить место, либо увеличить доступное пространство.
508 Loop Detected
Обнаружен цикл — ошибка означает провал запроса и выполняемой операции в целом.
509 Bandwidth Limit Exceeded
Превышена пропускная способность — используется при чрезмерном потреблении трафика. Владельцу площадки следует обратиться к своему хостинг‑провайдеру.
510 Not Extended
Не продлён — ошибка говорит, что на сервере отсутствует нужное для клиента расширение. Чтобы исправить проблему, надо убрать часть неподдерживаемого расширения из запроса или добавить поддержку на сервер.
511 Network Authentication Required
Требуется аутентификация — ошибка генерируется сервером‑посредником, к примеру, сервером интернет‑провайдера, если нужно ввести пароль для получения доступа к сети через платную точку доступа.
При посещении сайта клиентское приложение подключается к веб-серверам по сетевому протоколу HTTP. Подобные сетевые соединения поддерживают отправку данных ответа от серверов к клиентам, в том числе содержимого веб-страниц, а также HTTP коды.
- Коды ошибок HTTP -основные типы
- HTTP 200 «OK»
- Ошибка HTTP 404 «Не найдено»
- Ошибка HTTP 500 «Внутренняя ошибка сервера»
- Ошибка HTTP 503 «Служба недоступна»
- HTTP 301 «Перемещен навсегда»
- HTTP code 302 «Найдено» или «Перемещено временно»
- HTTP 400 «Неверный запрос»
- HTTP Error 401 «Не авторизованный»
- HTTP 100 «Продолжить»
- HTTP 204 «Отсутствует контент»
- HTTP 502 «Неверный шлюз»
Включаемые в ответ HTTP-сервера данные представляют собой код, указывающий на результат обработки запроса. Эти коды ответов HTTP состоят из трех цифр, разделенных на категории:
- 100-199: информационный статус;
- 200-299: статус успешного запроса;
- 300-399: статус редиректа;
- 400-499: ошибки клиента;
- 500-599: ошибки сервера.
В интернете или локальных сетях отображается только несколько кодов ошибок и состояний. Коды, связанные с ошибками, отображаются на веб-странице, выводимой в результате неудачного запроса, в то время как другие коды не показываются пользователям вовсе.

HTTP код ответа 200 возникает, когда сервер успешно обработал запрос и передал контент обратно в браузер. Большинство HTTP-запросов завершается этим статусом. Пользователи редко видят этот код на экране, поскольку браузеры обычно отображают коды HTTP, если возникает какая-либо проблема.

Сервер не смог найти запрошенную страницу, файл или другой ресурс. Ошибка HTTP 404 указывает на то, что сетевое соединение между клиентом и сервером было успешно выполнено. Возникает, когда пользователь ввел в браузере неправильный URI, или администратор сервера удалил файл, не настроив редирект на новое местоположение. Чтобы устранить эту проблему, пользователи должны набрать правильный URL-адрес.

Сервер получил от клиента действительный запрос, но не смог обработать его. Ошибка HTTP 500 возникает, когда сервер сталкивается с каким-либо техническим сбоем. Например, нехваткой памяти или дискового пространства. Администратор сервера должен исправить эту проблему.

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

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

Код ошибки 302 предназначен для случаев, когда ресурс перемещен временно, а не постоянно. Администратор сервера должен использовать HTTP status code 302 только в течение коротких периодов обновления (изменения) контента. Браузеры автоматически выполняют редирект 302, как и для кода 301. В версии HTTP 1.1 для указания временных редиректов был добавлен новый код 307.
![]()
Сервер обнаружил ошибку в данных протокола, полученных от клиента. Обычно это указывает на технический сбой на стороне клиента или повреждением данных в самой сети.

HTTP Error 401 возникает, когда клиенты запрашивают защищенный ресурс на сервере, но не аутентифицированы для доступа. Чтобы исправить ее, клиент должен войти на сервер с использованием логина и пароля.

Добавленный в версию 1.1 протокола код HTTP ответа 100 был разработан для более эффективного использования пропускной способности сети. Он позволяет серверам подтверждать готовность принимать большие запросы. Протокол Continue позволяет клиенту HTTP 1.1 отправлять небольшое специально сконфигурированное сообщение, запрашивающее ответ сервера с кодом 100, а затем дожидаться ответа до отправки запроса на дальнейшие действия. Клиенты и серверы HTTP 1.0 не используют этот код.

Сервер отправил ответ на запрос клиента, который содержит только информацию заголовка (то есть не содержит тела сообщения). Клиенты могут использовать HTTP код 204 для более эффективной обработки ответов сервера, избегая, например, ненужного обновления страниц.

Ошибка, возникающая в сети между клиентом и сервером, приводит к выводу этого кода ошибок HTTP. Это может быть связано с ошибками конфигурации в сетевом брандмауэре, маршрутизаторе или другом сетевом шлюзе.
принят и клиент может продолжать присылать запросы либо проигнорировать
этот ответ, если запрос был завершён.
клиента, содержащий заголовок
Upgrade:, и указывает, чтосервер переключился на протокол, который был указан в заголовке. Эта
возможность позволяет перейти на несовместимую версию протокола и обычно
не используется.
обрабатывает его, но обработка ещё не завершена.
загружены заранее, пока сервер будет подготавливать основной ответ.
RFC 8297 (Experimental).
OK
метода HTTP, который был запрошен:
-
GET: «ПОЛУЧИТЬ». Запрошенный ресурс был найден и передан в теле
ответа. - HEAD: «ЗАГОЛОВОК». Заголовки переданы в ответе.
-
POST: «ПОСЫЛКА». Ресурс, описывающий результат действия сервера на
запрос, передан в теле ответа. -
TRACE: «ОТСЛЕЖИВАТЬ». Тело ответа содержит тело запроса полученного
сервером.
Этот код обычно присылается в ответ на запрос PUT «ПОМЕСТИТЬ».
нет способа с помощью HTTP отправить асинхронный ответ позже, который
будет показывать итог обработки запроса. Это предназначено для случаев,
когда запрос обрабатывается другим процессом или сервером, либо для
пакетной обработки.
которая возвращена, была предоставлена не от исходного сервера, а из
какого-нибудь другого источника. Во всех остальных ситуациях более
предпочтителен код ответа 200 OK.
ответа, которые могут быть полезны, присылаются. Клиент может
использовать их для обновления кешированных заголовков полученных ранее
для этого ресурса.
чтобы сообщить клиенту, что необходимо сбросить отображение документа,
который прислал этот запрос.
присылает заголовок диапазона, чтобы выполнить загрузку отдельно, в
несколько потоков.
«Множественный выбор». Этот код ответа присылается, когда запрос имеет
более чем один из возможных ответов. И User-agent или пользователь
должен выбрать один из ответов. Не существует стандартизированного
способа выбора одного из полученных ответов.
«Перемещён на постоянной основе». Этот код ответа значит, что URI
запрашиваемого ресурса был изменён. Возможно, новый URI будет
предоставлен в ответе.
«Найдено». Этот код ответа значит, что запрошенный ресурс
временно изменён. Новые изменения в URI могут быть доступны в
будущем. Таким образом, этот URI, должен быть использован клиентом в
будущих запросах.
направлять клиента для получения запрашиваемого ресурса в другой URI с
запросом GET.
значит, что запрошенный ресурс не был изменён. Таким образом, клиент
может продолжать использовать кешированную версию ответа.
доступен через прокси. Этот код ответа в основном не поддерживается из
соображений безопасности.
запросы должны использовать указанный прокси.»
получил запрошенный ресурс на другой URL-адрес с тем же методом, который
использовал предыдущий запрос. Данный код имеет ту же семантику, что код
ответа
302 Found, за исключением того, что агентпользователя не должен изменять используемый метод HTTP: если в первом
запросе использовался
POST, то во втором запросе такжедолжен использоваться
POST.
«Перенаправление на постоянной основе». Это означает, что ресурс
теперь постоянно находится в другом URI, указанном в заголовке
Location: HTTP Response. Данный код ответа имеет ту же
семантику, что и код ответа 301 Moved Permanently, за
исключением того, что агент пользователя не должен изменять
используемый метод HTTP: если POST использовался в первом
запросе, POST должен использоваться и во втором запросе.
Примечание: Это экспериментальный код ответа,
Спецификация которого в настоящее время находится в черновом виде.
из-за неверного синтаксиса.
аутентификация. Статус похож на статус 403, но,в этом случае,
аутентификация возможна.
использования. Первоначальная цель для создания этого кода была в
использовании его для цифровых платёжных систем(на данный момент не
используется).
отказывается дать надлежащий ответ.
ответа, наверно, самый известный из-за частоты его появления в вебе.
деактивирован и не может быть использован. Два обязательных метода,
GET и HEAD, никогда не должны бытьдеактивированы и не должны возвращать этот код ошибки.
Этот ответ отсылается, когда веб сервер после выполнения
server-driven content negotiation, не нашёл контента, отвечающего критериям, полученным из user agent.
прокси сервера.
означает, что сервер хотел бы отключить это неиспользуемое соединение.
Этот метод используется все чаще с тех пор, как некоторые браузеры,
вроде Chrome и IE9, стали использовать
HTTP механизмы предварительного соединения
для ускорения сёрфинга (смотрите баг 634278, будущей
реализации этого механизма в Firefox). Также учитывайте, что некоторые
серверы прерывают соединения не отправляя подобных сообщений.
Этот ответ отсылается, когда запрос конфликтует с текущим состоянием
сервера.
Этот ответ отсылается, когда запрашиваемый контент удалён с сервера.
Запрос отклонён, потому что сервер требует указание заголовка
Content-Length, но он не указан.
выполнить
Размер запроса превышает лимит, объявленный сервером. Сервер может
закрыть соединение, вернув заголовок Retry-After
его обработать
запрос отклонён
Range не может бытьвыполнен; возможно, он выходит за пределы переданного URI
Expect, не может быть выполнено сервером.
не знает как обработать.
обработан. Единственные методы, которые сервера должны поддерживать (и,
соответственно, не должны возвращать этот код) —
GET иHEAD.
качестве шлюза для получения ответа, нужного для обработки запроса,
получил недействительный (недопустимый) ответ.
причинами являются отключение сервера или то, что он перегружен.
Обратите внимание, что вместе с этим ответом удобная для
пользователей(user-friendly) страница должна отправлять объяснение
проблемы. Этот ответ должен использоваться для временных условий и
Retry-After: HTTP-заголовок должен, если возможно,содержать предполагаемое время до восстановления сервиса. Веб-мастер
также должен позаботиться о заголовках, связанных с кешем, которые
отправляются вместе с этим ответом, так как эти ответы, связанные с
временными условиями, обычно не должны кешироваться.
не может получить ответ вовремя.
поддерживается сервером.
Когда на вашем сервере запрашивается страница с вашего сайта (например, когда пользователь открывает страницу в браузере или когда ее сканирует робот Googlebot), ваш сервер в ответ на запрос возвращает код статуса НТТР.
Этот код статуса содержит информацию о статусе запроса. Код статуса предоставляет роботу Googlebot информацию о вашем сайте и запрашиваемой странице.
Ниже представлено несколько основных кодов статуса.
- 200 — сервер успешно открыл страницу
- 404 — запрашиваемая страница не существует
- 503 — сервер временно недоступен
Полный список кодов статуса НТТР приведен ниже. Чтобы получить дополнительную информацию, нажмите на ссылку. Дополнительную информацию читайте на странице W3C о кодах статуса HTTP.
1xx (предварительный ответ)
Эти коды статуса представляют собой предварительный ответ, после его получения пользователь, запрашивающий страницу, должен предпринять определенные действия.
| Код | Описание |
|---|---|
| 100 (продолжить) | Отправитель должен продолжить запрос. Сервер возвращает этот код, чтобы сообщить, что получена только первая часть запроса и ожидается оставшаяся. |
| 101 (переключение протоколов) | Отправитель запросил переключение протоколов на сервере, и сервер подтверждает, что это будет сделано. |
2xx (успешно)
Эти коды статуса говорят о том, что сервер успешно обработал запрос.
| Код | Описание |
|---|---|
| 200 (успешно) | Запрос успешно обработан сервером. Обычно это означает, что сервер предоставил запрашиваемую страницу. Если этот статус отображается для файла robots.txt, это означает, что робот Googlebot успешно его просканировал. |
| 201 (создано) | Запрос успешно принят, и сервером создан новый ресурс. |
| 202 (принято) | Запрос принят сервером, но еще не обработан. |
| 203 (неавторитетная информация) | Сервер успешно обработал запрос, но возвращает информацию, которая могла быть получена из другого источника. |
| 204 (нет содержания) | Сервер успешно обработал запрос, но не возвращает содержание. |
| 205 (сброс содержания) | Сервер успешно обработал запрос, но не возвращает содержание. В отличие от кода 204, этот ответ требует, чтобы отправитель запроса сбросил представление документа (например, очистил форму для ввода новых данных). |
| 206 (неполное содержание) | Сервер успешно обработал часть запроса GET. |
3xx (переадресация)
Для выполнения запроса необходимо предпринять дополнительные действия. Часто эти коды статуса используются для переадресации. Google рекомендует использовать не более пяти переадресаций для каждого запроса. С помощью инструментов для веб-мастеров можно узнать, не возникли ли ошибки при попытке сканирования страниц с переадресацией. На странице Ошибки при сканировании в разделе Диагностика приведен список URL-адресов, которые робот Googlebot не смог просканировать из-за ошибок перенаправления.
| Код | Описание |
|---|---|
| 300 (множественный выбор) | Сервер может предпринять несколько действий в ответ на полученный запрос. Сервер может выбрать действие в зависимости от отправителя (агент пользователя) или предоставить список, чтобы отправитель выбрал действие самостоятельно. |
| 301 (окончательно перемещено) | Запрашиваемая страница окончательно перемещена в новое местоположение. Когда сервер возвращает этот ответ (на запрос GET или HEAD), он автоматически перенаправляет отправителя запроса в новое местоположение. Этот код следует использовать, чтобы сообщить роботу Googlebot о том, что страница или сайт окончательно перемещены в новое местоположение. |
| 302 (временно перемещено) | Сервер отвечает на запрос, возвращая страницу из другого местоположения, но отправитель должен указывать в последующих запросах исходное местоположение. Этот код аналогичен коду 301 — при запросах GET и HEAD он автоматически перенаправляет отправителя в другое местоположение, но его не следует использовать для оповещения робота Googlebot об окончательном перемещении страницы или сайта, так как робот будет продолжать сканировать и индексировать исходное местоположение. |
| 303 (другое местоположение) | Сервер возвращает этот код, если отправитель должен отправить отдельный запрос GET в другое местоположение, чтобы получить ответ. При получении всех запросов, кроме HEAD, сервер автоматически перенаправляет отправителя в другое местоположение. |
| 304 (не изменено) | Запрашиваемая страница не изменялась после предыдущего запроса. Когда сервер возвращает этот ответ, он не передает содержание страницы.
Советуем настроить сервер на возвращение этого ответа (называемого НТТР-заголовком «If-Modified-Since»), если страница не изменялась с момента последнего запроса отправителя. Это позволяет сэкономить полосу пропускания и уменьшить нагрузку, так как ваш сервер лишь сообщает роботу Googlebot, что страница не изменялась после предыдущего сканирования. |
| 305 (использовать прокси-сервер) | Отправитель запроса может открыть запрашиваемую страницу только через прокси-сервер. Когда сервер возвращает этот ответ, он также указывает прокси-сервер, который нужно использовать отправителю. |
| 307 (временная переадресация) | Сервер отвечает на запрос, возвращая страницу из другого местоположения, но отправитель должен указывать в последующих запросах исходное местоположение. Этот код аналогичен коду 301 — при запросах GET и HEAD он автоматически перенаправляет отправителя в другое местоположение, но его не следует использовать для оповещения робота Googlebot об окончательном перемещении страницы или сайта, так как робот будет продолжать сканировать и индексировать исходное местоположение. |
4xx (ошибка запроса)
Эти коды статуса указывают, что в запросе, скорее всего, была ошибка, из-за которой сервер не смог его обработать.
| Код | Описание |
|---|---|
| 400 (неверный запрос) | Серверу не удалось разобрать синтаксис запроса. |
| 401 (неавторизованный запрос) | Запрос требует проверки подлинности. Сервер может вернуть этот ответ, если страница защищена паролем. |
| 403 (доступ запрещен) | Сервер отклоняет запрос. Если робот Googlebot получил этот код статуса при попытке просканировать действующие страницы вашего сайта (эту информацию можно найти в инструментах Google для веб-мастеров на странице Сканирование Интернета в разделе Диагностика), возможно, ваш сервер или хост блокируют доступ робота Google. |
| 404 (не найдено) | Сервер не может найти запрашиваемую страницу. Например, серверы часто возвращают этот код, если запрашивается несуществующая страница.
Если на вашем сайте нет файла robots.txt и этот статус указан на странице robots.txt на вкладке «Диагностика» в Инструментах Google для веб-мастеров, то это правильный статус. Однако, если вы видите этот статус при наличии файла robots.txt, значит, файлу присвоено неверное имя или у него неверное местоположение. (Его нужно размещать в домене верхнего уровня под именем robots.txt.) Если этот статус указывается для URL-адресов, которые робот Googlebot пытался просканировать (на вкладке «Диагностика» страницы «Ошибки HTTP»), тогда он, вероятно, перешел по неработающей ссылке с другой страницы (возможно, эта ссылка устарела или содержала опечатки). |
| 405 (недопустимый метод) | Метод, указанный в запросе, не разрешен. |
| 406 (неприемлемый запрос) | Запрашиваемая страница не может быть возвращена с указанными в запросе характеристиками содержания. |
| 407 (требуется проверка подлинности на прокси-сервере) | Этот код статуса аналогичен коду 401 (неавторизованно), но указывает, что отправитель запроса должен выполнить проверку подлинности через прокси-сервер. Когда сервер возвращает этот ответ, он также указывает прокси-сервер, который нужно использовать отправителю. |
| 408 (тайм-аут запроса) | На сервере истекло время ожидания запроса. |
| 409 (конфликт) | При выполнении запроса возник конфликт на сервере. Сервер должен включать информацию о конфликте в ответ. Сервер может вернуть этот код в ответ на запрос PUT, конфликтующий с более ранним запросом, вместе со списком различий между запросами. |
| 410 (удалено) | Сервер возвращает этот ответ, когда запрашиваемый ресурс был окончательно удален. Он аналогичен коду 404 (не найдено), но иногда используется вместо него, если запрашиваемые ресурсы ранее существовали, а теперь удалены. Если ресурс был окончательно перемещен, следует использовать код 301, указав новое местоположение ресурса. |
| 411 (необходимо указать длину) | Сервер не принимает запрос без действительного поля заголовка Content-Length. |
| 412 (не выполнено предварительное условие) | Сервер не соответствует одному из предварительных условий, указанных отправителем в запросе. |
| 413 (слишком большой размер запроса) | Сервер не может обработать запрос, потому что его размер превышает максимально допустимый. |
| 414 (слишком большой размер запрашиваемого URI) | Запрашиваемый URI (обычно URL-адрес) имеет слишком большой размер для обработки сервером. |
| 415 (неподдерживаемый тип содержания) | Формат запроса не поддерживается запрашиваемой страницей. |
| 416 (невыполнимый диапазон запроса) | Сервер возвращает этот код статуса, если запрашивается недоступный для страницы диапазон. |
| 417 (результат не соответствует ожидаемому) | Сервер не может выполнить требования, указанные в поле заголовка запроса «Expect» |
5xx (ошибка сервера)
Эти коды статуса указывают на то, что при обработке запроса на сервере возникла внутренняя ошибка. Эти ошибки чаще связаны не с запросом, а с самим сервером.
| Код | Описание |
|---|---|
| 500 (внутренняя ошибка сервера) | На сервере возникла ошибка, и он не может выполнить запрос. |
| 501 (метод не поддерживается) | На сервере нет функций, необходимых для выполнения запроса. Например, серверы возвращают этот код, если не распознают метод запроса. |
| 502 (ошибка шлюза) | Сервер, действуя в качестве шлюза или прокси-сервера, получил недопустимый ответ от вышестоящего сервера. |
| 503 (служба недоступна) | Сервер временно недоступен (так как он перегружен или отключен для обслуживания). Обычно это временное состояние. |
| 504 (тайм-аут шлюза) | Сервер, действуя в качестве шлюза или прокси-сервера, не получил своевременный ответ от вышестоящего сервера. |
| 505 (версия HTTP не поддерживается) | Сервер не поддерживает версию протокола НТТР, используемую при запросе. |
Что это? Ошибка 500 – это то, что препятствует открытию той или иной страницы сайта. Вместо ожидаемой, например, статьи, перед пользователем возникает фраза Internal Server Error 500. Она сообщает о проблемах ресурса с подключением к серверу.
Как исправить? Устранить ошибку можно как со стороны пользователя сайта, так и его владельца. В первом случае способы не гарантируют на 100 %, что Error 500 моментально пропадает, но попробовать стоит. Больше возможностей в этом плане у собственника ресурса.
В статье рассказывается:
- Что значит код ошибки 500
- Основные причины возникновения ошибки 500
- Текст и внешний вид ошибки
- Советы по исправлению ошибки 500 для пользователя
- Рекомендации по исправлению ошибки 500 для владельца сайта
-
Пройди тест и узнай, какая сфера тебе подходит:
айти, дизайн или маркетинг.Бесплатно от Geekbrains
Значение 500 является кодом положения протокола НТТР. Из-за чего появляется ошибка 500? Происходит это потому, что случилась неисправность конфигурации сервера или пришёл сигнал о том, что компонент отказал. Когда возникает эта ошибка, программное обеспечение продолжает работать, но из-за серьёзных внутренних нарушений запросы обрабатываются некорректно.
Ошибка 500 значит, что пользовательский запрос неправильно переводится в действие. По этой причине возникают проблемы во время работы с сайтом. Нужно как можно скорее понять, из-за чего именно появилась ошибка, и устранить её.

Оповещение о том, что произошла ошибка 500, имеет текстовое описание. Наиболее частые варианты:
- Ошибка 500.
- Внутренняя ошибка сервера 500.
- Ошибка 500 Internal Server Error.
- Временная ошибка (500).
- Внутренняя ошибка сервера.
- 500 ошибка сервера.
- Внутренняя ошибка HTTP 500.
- Произошла непредвиденная ошибка.
- HTTP status 500 internal server error (перевод ― HTTP статус 500 внутренняя ошибка сервера).
Скачать файл
Визуальный вид и текстовое сопровождение ошибки могут отличаться у каждого пользователя, потому что версии страницы могут быть разными.
Вероятность столкнуться с такой неприятностью есть при работе с любым веб-ресурсом, браузером или устройством. Главное, понимать, что эта ошибка, как и другие, которые начинаются на цифру 5, является промахом разработчиков или администратора сайта и вашей вины в этом нет.
Основные причины возникновения ошибки 500
Мы уже выяснили, что данная ошибка появляется, когда сервер не смог обработать запрос, совершённый пользователем, в результате чего человек не может открыть ресурс, а поисковые системы с ним взаимодействовать. Проблему обязательно нужно устранить, но для начала следует найти причину её появления, среди которых может быть:
- Неправильный синтаксис файла .htaccess – это файл, в котором можно менять настройки при работе с веб-сервером Apache и корректировать его функционирование (управлять различными перенаправлениями, правами доступа к данным, опциями PHP, задавать собственные страницы ошибок и прочее).

- Неполадки в сценариях сайта, которые отвечают за дополнительные возможности и визуальные эффекты.
- Недостаточно оперативной памяти, чтобы выполнить скрипт.
- Ошибки в коде CMS, системы управления наполнением ресурса. В большинстве случаев (80 %) причиной являются конфликтующие плагины.
Текст и внешний вид ошибки
Вы узнали, что означает ошибка 500, теперь пришло время перейти к более подробному разбору возможных причин её появления. Иногда разобраться с этим вопросом можно и без помощи специалиста.
Вид ошибки может отличаться. Это зависит от того, из-за чего она возникла. Наиболее распространенные причины можно узнать по тому, как отображается ошибка и какой текст её сопровождает.
Internal Server Error
Данный вид ошибки – сигнал о том, что есть проблемы с файлом .htaccess (к примеру, он был неправильно настроен). Чтобы понять, действительно ли дело в .htaccess, добавьте к его названию в конце цифру один. Сделать это поможет FTP-клиент (например, FileZilla) или файловый менеджер на вашем хостинге (в Timeweb есть подобный, и он очень простой в использовании). После этой манипуляции попробуйте заново открыть сайт. Если ошибка не выскочила, значит, вы нашли, из-за чего она появилась.
Топ-30 самых востребованных и высокооплачиваемых профессий 2022
Поможет разобраться в актуальной ситуации на рынке труда

Подборка 50+ ресурсов об IT-сфере
Только лучшие телеграм-каналы, каналы Youtube, подкасты, форумы и многое другое для того, чтобы узнавать новое про IT
ТОП 50+ сервисов и приложений от Geekbrains
Безопасные и надежные программы для работы в наши дни
Уже скачали 18528
HTTP ERROR 500 или пустая страница
Подобное означает, что причина в сценариях сайта. Но надо уточнить насчёт пустой страницы, что это не только признак внутренней ошибки 500 в сервере.
Предлагаем детальнее разобраться с пустой страницей, обращаясь к инструментам разработчика. Через браузерную панель пользователь получает уведомления об ошибках и другую информацию (время запуска сайта, html-элементы и прочее).
Каким образом открывается панель разработчика? Для начала нажмите F12 (это подходит для большинства браузеров на Windows). Если вы пользуетесь Google Chrome на macOS, то вам нужно использовать сочетание кнопок Cmd+Opt+J. В случае Safari на macOS нужна комбинация Cmd+Opt+C, но перед тем, как её нажать, включите «Меню разработки» в разделе «Настройки» -> «Продвинутые».
Есть ещё один способ открыть панель разработчика: кликнуть правой кнопкой мыши в любом месте сайта и в открывшемся контекстном меню выбрать «Посмотреть код». После этого откройте вкладку «Сеть» (или Network) и посмотрите, какое значение указано в строке «Статус». Если дело в ошибке 500, то будет стоять эта цифра.
Советы по исправлению ошибки 500 для пользователя
Для начала расскажем, на что лучше не тратить своё время. Данная ошибка связана с сервером, поэтому делать что-то со стороны клиента (перезагружать роутер, менять браузер, переустанавливать программу) смысла нет.
- Заново откройте сайт
Ошибка 500 может появиться не только из-за серьёзных проблем с сервером, но и по причине временной перегрузки сайта. Перезагрузить страницу можно с помощью клавиш: на ПК — F5, ноутбуке — Fn + F5, на устройствах от Apple — Cmd + R.

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

Если на сервере была ошибка, то даже если её уже устранили, из-за кэша может открываться старая версия страницы с этой неполадкой.
Если ничего из этого вам не помогло, то остаётся ждать, когда владелец решит эту проблему, и вернуться на сайт позже.
- Обратитесь к владельцу сайта
Когда, например, в интернет-магазине часто всплывает ошибка 500, можно связаться с его владельцем. Информация с контактными данными, как правило, находится либо внизу страницы, либо в разделе «Контакты».
Чаще всего информация закрытая, но есть форма для обратной связи. Однако не факт, что вы получите ответ. Если нужные данные вы не нашли или ответа так и нет, можно воспользоваться такими вариантами: через Whois, хостинг-провайдера или регистратора домена, с помощью сторонних сервисов.
Рекомендации по исправлению ошибки 500 для владельца сайта
Стоит учитывать большое количество факторов: движок, на котором работает ваш сайт, на каком он хостинге расположен, какие недавние изменения были внесены. Как бы там ни было, зачастую универсальные методы убирают ошибку 500. Желательно попробовать все варианты, которые подойдут под специфику вашего ресурса.
- Устраните неполадки в синтаксисе файла .htaccess
Выше мы уже рассказывали, как понять, в нём ошибка или нет. Попробуйте изменить имя документа, к примеру, на .htaccess_, и заново открыть сайт. Если ошибка не вылезла, значит, дело всё-таки в .htaccess. Проанализируйте синтаксис документа на наличие лишних символов или опечаток. Если вы сохраняли прошлую версию настроек, то надо попробовать её вернуть, чтобы проверить, будет ли ошибка.
В некоторых случаях может помочь закомментирование строки Options в .htaccess – вставить # в её начале. Если ничего не поменялось, проделайте то же самое с другими строками, а потом по очереди убирайте # и смотрите на результат.
После изменения файла .htaccess надо проверить, сохранилось ли оно. Иногда хостер может выставить на документ права, которые мешают его менять. В этой ситуации вы можете скачать файл .htaccess к себе на устройство, открыть и отредактировать его в любом текстовом документе и залить обратно, заменив старую версию.
Точный инструмент «Колесо компетенций»
Для детального самоанализа по выбору IT-профессии
Список грубых ошибок в IT, из-за которых сразу увольняют
Об этом мало кто рассказывает, но это должен знать каждый
Мини-тест из 11 вопросов от нашего личного психолога
Вы сразу поймете, что в данный момент тормозит ваш успех
Регистрируйтесь на бесплатный интенсив, чтобы за 3 часа начать разбираться в IT лучше 90% новичков.
Только до 2 февраля
Осталось 17 мест
- Обновите РНР
Версии РНР, которые уже устарели, не поддерживают обновления безопасности, хуже работают и из-за них может быть некорректная работа плагинов и сценариев.

Может, для того, чтобы ваш сайт работал без перебоев, вам надо просто обновить РНР.
- Настройте права для CGL-скриптов
Одним из методов устранения ошибки 500 на сайте является выставление прав для CGL-скриптов. Если такие сценарии у вас есть, то их папки и файлы должны иметь такое право доступа: 0755 (drwxr-xr-x), которое даёт возможность менять их только владельцу, а остальные могут их лишь открывать и активировать. Когда на скриптах стоит другое право доступа, это может привести к появлению ошибки 500.
- Проверьте файлы CGL-скриптов
У правильных сценариев окончание строк в формате Unix (n), а не Windows (rn). Для сохранения корректного варианта нужно загружать код (в большинстве хостингов) по FTP в режиме ASCII. Если вы не помните, какие ранее были настройки, заново добавьте сценарии и посмотрите, появится или нет ошибка 500. К тому же CGL-скрипты могут быть причиной неправильных HTTP‑заголовков ответа. В данном варианте вы сможете заметить ошибку в логах.
- Проверьте плагины
Причина может скрываться в плагинах, которые вы недавно установили.

Нередко встречается такое, что отдельные элементы сайта или плагины не могут работать совместно друг с другом. Данная проблема становится причиной не только того, что сайт выдаёт ошибку 500, но и возникновения других неполадок на сервере. Если модели были установлены или обновлены не так давно, то можно попробовать их отключить через панель администратора. Есть вероятность, что после этого могут всплыть другие неполадки, но если ошибка 500 исчезла, значит, дело было в конфликте плагинов или компонентов.
- Проверьте лог ошибок
Более точный анализ проводится с помощью логов. Если объяснять простым языком, то лог – это своеобразный журнал, в котором хранится информация об ошибках, направленных запросах, подключениях, действий с документами и так далее. Так как данных в логах очень много, они делятся на категории, чтобы было проще найти то, что нужно.
Если в последнее время вы как-то меняли сайт, то это могло стать причиной появления ошибки с кодом состояния 500. Зайдите в логи и проверьте, нет ли там информации о проблемах. Если ошибки высветились, то надо их изучить и отменить последние изменения.
Как правило, хостеры предоставляют информацию о том, где найти логи и как их открыть с панели управления. Данные об этом есть в разделе помощи FAQ (frequently asked questions — часто задаваемые вопросы) на сайте хостинга.
- Оптимизируйте сценарии
Если написанные сценарии долго грузятся или вообще не могут запуститься из-за нехватки ресурсов, проанализируйте их содержимое. Может, код надо оптимизировать, чтобы он стал легче и быстрее загружался. Нередко сценариям недостаточно ресурсов при работе с виртуальным хостингом. У них есть жёсткий лимит на память, чтобы каждый пользователь имел равные возможности во время пребывания на выбранном сайте.
Разделите скрипты на части и проверьте каждый на эффективность их деятельности. Если вы обнаружили в коде много ненужных вызовов либо необходимый объём памяти постоянно растёт, нужно обязательно проработать эти моменты.
- Увеличьте объём оперативной памяти сервера
Встречаются ситуации, когда даже после оптимизации сценариев они продолжают занимать много памяти. Чтобы решить эту проблему, придётся начать пользоваться более дорогим пакетом обслуживания, который предлагает хостинг.

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

Читайте также
Ошибка выполнения запроса 500 является обобщенным кодом состояния НТТР, который говорит о том, что на сервере произошла какая-то неполадка, но более точно описать проблему сервер не может. Так что первым делом нужно узнать, что послужило причиной возникновения ошибки, и только после этого заниматься её устранением.