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

Какой код ошибки будет отображен браузером если сервер не ответит

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

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

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

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

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

Ошибка 400

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

Ошибка 401

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

Ошибка 403

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

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

Ошибка 404

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

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

Ошибка 405

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

Ошибка ​406

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

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

Ошибка 407

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

Ошибка 408

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

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

Ошибка 409

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

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

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

Ошибка 410

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

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

Ошибка 411

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

Ошибка 412

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

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

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

Ошибка 413

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

Ошибка 414

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

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

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

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

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

Ошибка 500

Ошибка 501

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

Ошибка 502

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

Ошибка 503

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

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

Ошибка 504

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

Ошибка 505

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

Ошибка 506

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

Что означают коды ответа сервера о состоянии страниц сайта

Когда на сервер отправляется запрос получения страницы вашего веб-сайта (например, пользователь открывает страницу в браузере или робот Google сканирует страницу), сервер в ответ на запрос возвращает код состояния HTTP.

Некоторые типичные коды статуса HTTP:

Ниже приводится полный список кодов состояния HTTP. Дополнительную информацию можно также получить на странице посвященной кодам протокола HTTP сайта W3C.

Коды http – 1xx (временный)

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

Ожидание продолжения запроса. Сервер возвращает этот код, чтобы указать, что получил первую часть запроса и ждет его продолжение.

101 (Переключение протоколов)

От сервера запрошено переключение протоколов и сервер сообщает, что он выполнит запрос.

Коды http – 2xx (Успешно)

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

Коды статуса http – 200 успешно

Сервер успешно обработал запрос. Как правило, это означает, что сервер предоставил необходимую страницу. Если это состояние относится к файлу robots. txt, это означает, что робот нашел его успешно.

Запрос прошел удачно и сервер создал новый ресурс.

Сервер принял запрос, но еще его не обработал.

203 (Ненадежная информация)

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

204 (Нет содержимого)

Сервер успешно обработал запрос, но не возвращает какого-либо содержания.

205 (Восстанавливать значение)

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

206 (Частичное содержание)

Сервер успешно обработал частичный GET запрос.

Коды http – 3xx (Перенаправлено)

В целях исполнения требования необходимы дополнительные действия. Эти коды статуса HTTP часто используются для перенаправления.

Коды статуса http – 301 перенаправление

300 (Много вариантов)

Сервер может выполнять многие действия в ответ на эти запросы. Сервер может выбрать действие, в зависимости от запроса (user agent) или заданный список позволяет ему выбрать действия.

Запрошенная вами страница была окончательно перемещена в другое место. Когда сервер возвращает этот ответ (на запрос GET или HEAD), автоматически перенаправляет требующего на новое место. Этот код можно использовать, чтобы сообщить поисковому роботу, что страница или сайт постоянно перемещены на новое место.

302 (Временно перемещено)

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

303 (Проверить другое место)

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

Запрашиваемая страница не была изменена с момента последнего запроса. Отправив этот ответ, сервер не возвращает тело страницы.

Необходимо настроить сервер на возвращение этого ответа (HTTP If-Modified-Since), если страница не изменилась с того времени, когда её последний раз запрашивал тот же агент. Это снижает нагрузку на пропускную способность и сервер.

305 (Использовать прокси-сервер)

Запрашивающий может получить доступ к странице, только через прокси-сервер. Вернув этот ответ, сервер также указывает прокси-сервер, который следует использовать.

307 (Временное перенаправление)

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

Коды http – 4xx (Ошибка запроса)

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

Коды статуса http – 404 страница не существует

400 (Неверный запрос)

Сервер не распознает синтаксис запроса.

401 (Не авторизован)

Запрос требует идентификации пользователя. Сервер может возвращать этот ответ, если доступ к странице требует авторизации пользователя.

403 (Доступ запрещен)

Сервер отклоняет запрос. Если поисковый робот получает этот код состояния HTTP при попытке индексации правильных страниц сайта (см. Ошибки индексирования на вкладке Сканирование в Инструментах Google для веб-мастеров), вероятно, сервер или хост блокирует доступ роботу googlebot возможность.

Сервер не может найти нужную страницу. Сервер часто возвращает этот код, например, в том случае, когда запрос относится к странице, которой не существует на сервере.

Если на сайте нет файла robots. txt и это состояние отображается на странице запрещенных URL в Инструментах Google для веб-мастеров, то это правильный статус. Однако, если на сайте есть файл robots. txt и, несмотря на это, отображается этот статус, файл robots. txt может иметь неверное имя или находиться в неправильном месте. (Файл должен находиться в корневом каталоге домена и носить имя robots. txt).

405 (Запрещенный метод)

Метод, указанный в запросе, не допускается.

406 (Не допускается)

Запрошенную страницу невозможно вернуть с требуемой характеристикой содержания.

407 (Требуется аутентификация на прокси-сервере)

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

408 (Тайм-аут запроса)

Тайм-аут ожидания ответа от сервера.

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

Сервер возвращает этот ответ, когда запрошенный ресурс удален без возможности восстановления. Это ответ похож на код 404 (Не найдено), но иногда используется вместо кода 404 для ресурсов, которые ранее существовали, но были удалены. Если ресурс был окончательно перенесен, следует использовать код 301, чтобы указать новое местоположение ресурса.

411 (Обязательно указать длину)

Сервер не принимает запросы без правильного значения поля Content-Length (Содержание-Длина) в заголовке.

412 (Не соблюдены условия)

Сервер не соответствует одному из условий, размещенных в запросе.

413 (Слишком большой запрос)

Сервер не может обработать запрос, потому что он слишком большой.

414 (Запрашиваемый URI слишком большой)

Запрашиваемый URI (как правило, URL-адрес) слишком большой и сервер не может его обработать.

415 (Неподдерживаемый тип)

Запрос имеет не поддерживаемый формат.

416 (Не найден нужный диапазон)

Сервер возвращает этот код состояния, когда запрос касается диапазона, отсутствующего на сайте.

417 (Отказ ожидания)

Сервер не может выполнить требования, содержащиеся в поле Expect (Ждите), заголовка запроса.

Коды http – 5xx (Ошибка сервера)

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

Коды статуса http – 500 ошибка сервера

500 (Внутренняя ошибка сервера)

Сервер столкнулся с ошибкой и не может обработать запрос.

501 (Функция не реализована)

Сервер не имеет функции, обеспечивающей исполнение запроса.

502 (Недопустимый шлюз)

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

503 (Служба недоступна)

Сервер в данный момент недоступен (перегружен или отключен в целях технического обслуживания). Как правило, это временное состояние.

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

Коды ответов протокола HTTP

Код состояния HTTP — это трехзначный код ответа на HTTP-запрос. Он предназначен для использования автоматами, поясняющая фраза после него предназначена для пользователей.

Первая цифра кода состояния определяет класс ответа:

1xx: Информационные коды — запрос получен, продолжается обработка.

2xx: Успешные коды — запрос был успешно получен, понят и выполнен.

3xx: Коды перенаправления — для выполнения запроса должны быть предприняты дальнейшие действия агента пользователя (программы, принимающей ответ на запрос).

4xx: Коды ошибок клиента — запрос имеет плохой синтаксис или не может быть выполнен. Также указывает, является ли ситуация временной или постоянной.

5xx: Коды ошибок сервера — сервер не в состоянии выполнить допустимый запрос или выполнил его с ошибкой.

Просмотр кода ответа протокола HTTP

Один из самых простых способов увидеть коды ответа — зайти в инструменты разработчика в браузере. Например, для браузеров google chrome и mozilla firefox достаточно:

Инструменты разработчика google chrome

На скриншоте показаны инструменты разработчика google chrome, коды ответа есть в колонке Status.

Наиболее распространённые коды ответов протокола HTTP

Список прочих кодов ответов протокола HTTP

405 Method Not Allowed (Метод не дозволен)- метод, определенный в строке запроса (Request-Line) не дозволено применять для ресурса, идентифицированного запрашиваемым URI (Request-URI).

410 Gone (Удален)- запрошенный ресурс больше не доступен на сервере, и нет никакого адреса для перенаправления запроса.

Источники:

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

https://webznam. ru/publ/google/iveb/kody_sostojanija_oshibok_http/9-1-0-477

https://help. sweb. ru/entry/205/

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

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