Ошибка протокола перенаправления. Обзор самых частых ошибок HTTP протокола

27.03.2019
06.04.17 1.1K

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

Типы кодов ошибок и состояния HTTP

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

  • 100-199: информационный статус;
  • 200-299: статус успешного запроса;
  • 300-399: статус редиректа;
  • 400-499: ошибки клиента;
  • 500-599: ошибки сервера.

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

1. HTTP 200 «OK»

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

2. Ошибка HTTP 404 «Не найдено»


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

3. Ошибка HTTP 500 «Внутренняя ошибка сервера»


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

4. Ошибка HTTP 503 «Служба недоступна»


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

5. HTTP 301 «Перемещен навсегда»


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

6. HTTP 302 «Найдено» или «Перемещено временно»


HTTP код 302 предназначен для случаев, когда ресурс перемещен временно, а не постоянно. Администратор сервера должен использовать HTTP 302 только в течение коротких периодов обновления (изменения ) контента. Браузеры автоматически выполняют редирект 302 , как и для кода 301 . В версии HTTP 1.1 для указания временных редиректов был добавлен новый код 307 .

7. HTTP 400 «Неверный запрос»


Сервер обнаружил ошибку в данных протокола, полученных от клиента. Обычно это указывает на технический сбой на стороне клиента или повреждением данных в самой сети.

8. HTTP 401 «Не авторизованный»


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

9. HTTP 100 «Продолжить»


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

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

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

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

Итак, ошибки клиента под кодом 40х:

  • 400. Неверный запрос - ошибка возникает когда сервер замечает синтаксическую ошибку в запросе от клиента. Она будет возникать до тех пор, пока со стороны клиента не будут произведены соответствующие изменения. Необходимо соблюдать все правила передачи данных для используемого протокола.
  • 401. Отсутствует авторизация - эта ошибка означает, что HTTP-сервер требует аутентификации. При этом именно со стороны сервера приходят все условия для выполнения аутентификации. Причиной возникновения ошибки может быть неверное введенное имя или пароль для авторизации.
  • 402. Необходимо внести плату - код не используется, но зарезервирован в протоколе на будущее. Изначально задумывался как интерфейс для внесения платы для получения доступа к конкретному ресурсу. Так как ничего не вышло, код 402 взяли на вооружение Apple и Google, время от времени применяющие его в своих веб-сервисах.

  • 403. Доступ закрыт - ошибка возникает когда сервер правильно функционирует, но у пользователя, запрашивающего доступ к нему, недостаточно прав для этого. Часто сопровождается окном авторизации.
  • 404. не найден) - наиболее часто встречающаяся ошибка в интернете. Как правило, возникает из-за опечаток при наборе веб-адреса. Частое упоминание и появление в Сети превратило данный код в популярную в интернете шутку.
  • 405. Метод запрещен - ошибка данных HTTP, которые нужно ввести посредством POST либо с использованием метода PUT. Иными словами, ошибка возникает при использовании метода GET тогда, когда он недоступен или не поддерживается сервером для обработки определенных данных.
  • 406. Запрос не может быть принят - этот код возвращается сервером, когда запрашиваемый контент неприменим к заголовкам типа Accept. Чаще всего возникает, когда запрашиваемый ресурс не соответствует формату, который может быть распознан клиентом.
  • 407. Требуется авторизация на стороне прокси-сервера - вместе с кодом сервер возвращает специальное поле для авторизации на прокси-сервере.
  • 408. Время на запрос вышло - возникает когда сервер прекращает ждать дальнейшие запросы со стороны клиента. Повторить запрос можно в любое время, даже после того, как время ожидания истекло.
  • 409. Конфликт - в каких ситуациях возникает данная ошибка HTTP? Загрузка файла на веб-сервер, где уже сохранен идентичный файл или документ более новой версии. Система контроля версий файлов, хранящихся на сервере, не позволяет заменить файл более ранней версией, из-за чего возникает конфликт под этим кодом.

Ошибки клиента под кодом 41х

  • 410. Ресурс удален - ошибка появляется в том случае, если запрашиваемый ресурс располагался по указанному адресу, но был удален и более недоступен.
  • 412. Предварительные условия не выполнены - этот код отображается в том случае, если условные поля заголовка не выполняются (совсем).
  • 413. Размер запроса превышает допустимую норму - ошибка появляется, когда тело посланного клиентом запроса имеет слишком большой размер, и сервер не может его обработать.
  • 414. Слишком длинный адрес - если сервер возвращает этот код, значит, URL, указанный в запросе, слишком длинный и не может быть обработан. Также ошибка возникает, когда клиент передает данные через GET вместо POST.
  • 415. Неподдерживаемый формат файла - ошибка возникает, когда сервер отказывается работать с определенным форматом данных (причина может быть любой).
  • 417. Сбой ожидания - заголовок запроса со стороны клиента не удовлетворяет требованиям поля EXPECT.
  • 418 I’m a teapot - впервые появившийся в 1998 году код, который стал первоапрельской шуткой и никогда не был задействован всерьез.

Ошибки клиента под кодом 42х

  • 422. Элемент не может быть обработан - теоретически сервер может обработать запрос, посланный клиентом; файл, находящийся в теле запроса, также поддерживается (это может быть таблица и любой другой медиафайл), но по каким-то причинам возникла логическая ошибка, ограничивающая деятельность сервера.
  • 423. Доступ закрыт - используемый метод заблокирован на стороне сервера. Необходимо использовать другой метод.
  • 424. Ошибка зависимости - этот код будет отображен в том случае, если операция, от успешности которой зависит исполнение текущей команды, была по тем или иным причинам прервана.
  • 425. Неправильный порядок элементов - код отображается в том случае, если при запросе нескольких элементов с сервера их порядок (серверный) не был соблюден.
  • 426. Необходимо обновление - код, оповещающий о необходимости произвести обновление протокола. Поля для обновления должны быть правильно оформлены на стороне сервера.
  • 428. Необходимо завершение зависимой операции - с помощью этого кода сервер оповещает клиента о том, что необходимо в запросе задействовать заголовки-условия.
  • 429. Слишком большое количество запросов - ошибка возникает в том случае, если клиент посылает на сервер слишком много запросов, что может быть следствием DDoS-атаки, посему блокируется сервером.

Остальные коды ошибок клиента

  • 431. Превышение длины заголовка - при превышении длины заголовка сервер может в ответ послать этот код, но чаще всего он просто сбрасывает соединение.
  • 434. Адрес недоступен - ошибка сигнализирует о недоступности запрашиваемого адреса.
  • 449. Повторить - код возвращается в том случае, если серверу для обработки запроса требуется дополнительная информация.
  • 451. Заблокирован по юридическим причинам - сервер может быть заблокирован в том случае, если органы государственной власти послали запрос на блокировку по различным юридическим причинам.

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

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

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

Ошибки сервера под кодом 50х

  • 500 Internal Server Error - ошибка HTTP-сервера, не поддающая идентификации. Этим кодом обозначается любая ошибка, для которой не существует отдельно обозначенного кодового значения.
  • 501. Not Implemented (метод не поддерживается) - этот код выводится сервером, когда используемый метод им не поддерживается. Проблема возникает при работе с серверами, которые не настроены на правильную работу со стандартными командами HTTP.
  • 502. Bad Gateway (ошибка шлюза) - проблема возникает, когда сервер, выступающий в роли шлюза, получает ошибочный ответ со стороны «главного» сервера.
  • 503. Service Unavailable (сервис недоступен) - данный код чаще всего появляется, когда на сервере идут технические работы или он перезагружается.
  • 504. Gateway Timeout (время прохождения через шлюз вышло) - ошибка возникает, когда сервер, работающий в качестве шлюза, не успевает получить ответ от «главного» сервера.
  • 505. HTTP Version Not Supported (используемая версия протокола не поддерживается) - указанный сервер не работает с той версией протокола, которая указана в запросе со стороны клиента.
  • 507. Insufficiente Storage (нехватка пространства) - проблема возникает при недостатке цифрового пространства для обработки запроса. Чаще всего проблема имеет временный характер.

Ошибки сервера под кодом 51х

  • 510. Not Extended (отсутствует расширение) - ошибка появляется в том случае, если на сервере нет расширения, которое было запрошено клиентом.
  • 511. Network Authentication Required (необходима авторизация) - подобный ответ посылается не от самого сервера, а от посредника, в роли которого выступает провайдер платной точки Wi-Fi.

Информационные коды

  • 100. Continue (продолжение) - этот код оповещает клиента о том, что его начальные действия удовлетворяют требования сервера, и он может продолжать посылать команды.
  • 101. Switching Protocols (смена протокола) - интерактивный код, предлагающий заменить используемый протокол более подходящим.
  • 102. Processing (в процессе обработки) - код, оповещающий о том, что запрос принят, но на его обработку потребуется значительное время.

Коды перенаправления

  • 300. Multiple Choices (выбор) - возникает, если по выбранной ссылке можно пройти сразу на несколько ресурсов, расположенных на одном сервере. Вместе с кодом предоставляется выбор между разными вариантами. Причем он может быть сделан как пользователем, так и клиентом, в зависимости от настроек сервера.
  • 301. Moved Permanently (ресурс перемещен) - код возвращается, когда запрашиваемый ресурс или файл был навсегда перемещен и располагается по другому адресу.
  • 302. Found (ресурс найден) - код возвращается, когда запрашиваемый ресурс или файл был временно перемещен и может быть найден по другому адресу.
  • 303. See Other (поиск по другим адресам) - данный код возвращается сервером вместе с альтернативным значением поля Location, чтобы пользователь со стороны клиента мог получить доступ к запрашиваемому ресурсу, используя метод GET.
  • 304. Not Modified (файл не изменялся) - ошибка возникает, если клиент запросил определенный файл, указав специфичные атрибуты времени модификации, но сервер не обнаружил каких-либо изменений с момента его загрузки.
  • 305. Use Proxy (необходимо использовать прокси-сервер) - этот код выводится сервером, когда для того, чтобы получить доступ к нему, нужно использовать прокси-сервер. Адрес последнего указывается в поле Location. Код могут использовать только базовые серверы (не прокси).
  • 307. Temporary Redirect (временное перенаправление) - код возникает, когда запрашиваемый файл или ресурс становится доступен по другому адресу. Часто происходит автоматическое перенаправление.

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

Виды ошибок

Ошибка протокола 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

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

  • Ограниченность времени работы скрипта. Так как через некоторое время скрипты прекращают свою работу, они могут не успеть передать большой файл. Чтобы устранить эту ошибку, отключите все плагины по очереди, выявляя из их числа самые тяжелые. Виновника следует заменить на аналогичный плагин или же отказаться от него вовсе.
  • Высокое количество запросов. Причины возникновения:
  1. Ресурс ссылается на слишком большое количество файлов, загрузка каждого из которых занимает отдельный процесс. Для решения постарайтесь объединить как можно больше файлов в один.
  2. Спам и DDoS-атаки могут вызывать высокое количество запросов. В случае DDos-атаки, .

Что делать при появлении ошибки

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

Если вы видите ошибку «ERR_TOO_MANY_REDIRECTS» (слишком много переадресаций — в буквальном переводе) в своем веб-браузере, вы не одиноки. Об этом сообщили многие пользователи Windows. Эта ошибка возникает с сообщением «Эта веб-страница имеет цикл перенаправления» и блокирует загрузку веб-сайта.

Почему эта ошибка возникает?

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

Как исправить эту ошибку?

Вот четыре способа, чтобы исправить ошибку (слишком много переадресаций):

  • запустите URL в другом браузере;
  • очистите данные своего браузера;
  • проверьте расширения;
  • исправьте дату и время вашей системы.

Запуск URL в другом браузере

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

Очистка данных своего браузера

Данные браузера, такие как история просмотра, кеш, файлы cookie, могут содержать неисправные файлы, которые вызывают ошибку ERR_TOO_MANY_REDIRECTS. Очистка этих данных — эффективный способ исправить ошибку. Чтобы очистить данные просмотра:

В Google Chrome:

В Mozilla Firefox:

  • Нажмите кнопку «Меню» и выберите «Параметры» .
  • Выберите «Конфиденциальность», а затем очистите свою недавнюю историю.
  • Выберите «Все для диапазона времени» для очистки, а затем нажмите «Очистить сейчас» .
  • Как только данные браузера будут удалены, вы можете проверить, не исчезла ли ошибка.

Проверка расширений браузера

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

Ниже приведены примеры проверки расширений в Chrome и Firefox.
Для Chrome: введите «chrome://extensions» в адресной строке и нажмите Enter. Затем вы можете увидеть все расширения, перечисленные ниже, и можете попробовать включить или отключить любой из них.

  • Для Firefox введите «about: addons» в адресной строке, нажмите Enter, а затем выберите «Расширения». Вы увидите, что все расширения для Firefox перечислены здесь.

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