Руководство по HTTP кодам

HTTP, или протокол передачи гипертекста, является основой Всемирной паутины. Мы уверены, что вы сейчас читаете эту статью в Интернете, поэтому вы находитесь во власти этих протоколов.

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

HTTP был представлен миру в 1989 году Тимом Бернерсом-Ли, известным "отцом Интернета". С тех первых дней код, лежащий в основе Интернета, стал намного сложнее. Сейчас мы живем в мире Интернета вещей, который подразумевает множество различных устройств, подключенных к сети. Умные телефоны, умные телевизоры, умные холодильники и даже весь ваш дом может быть подключен к сети.

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

  1. Что такое коды состояния HTTP?
  2. Различные типы кодов состояния HTTP
  3. Взаимосвязь между кодами состояния HTTP и SEO
  4. Как исправить 404 ошибку?
  5. Как исправить ошибки кода состояния 503?
  6. Как Semrush может помочь вам с ошибками HTTP?

 

Что такое код состояния HTTP?

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

Различные коды расскажут вам о том, все ли в порядке, есть ли какие-либо отклонения от нормы, или это определенный отказ.

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

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

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

 

Различные типы кодов состояния HTTP

100s: Информационные коды: сервер подтверждает запрос, инициированный браузером, и то, что он обрабатывается (100-199).
200s: Коды успеха: запрос получен, понят, обработан и ожидаемая информация передана браузеру (200-299).
300s: Коды перенаправления: запрашиваемый ресурс был заменен другим адресатом; могут потребоваться дальнейшие действия со стороны браузера (300-399).
400s: Коды ошибок клиента: сайт или страница не достигнуты; страница недоступна или возникли технические проблемы с запросом (400-499).
500s: Коды ошибок сервера: запрос был принят, но из-за ошибки сервер не смог выполнить запрос (500-599).

Давайте более подробно рассмотрим различные категории:

Коды состояния HTTP 100

Запрос все еще выполняется.

100: Продолжение. Запрашиваемый заголовок получен и принят, готов к приему тела запроса.
101: Переключение протоколов. Ваш браузер запрашивает изменение обновленного заголовка, сервер выполняет запрос.
102: Обработка. Запрос получен и находится в обработке. Ответ еще не получен.
103: Ранние подсказки. Сервер предоставляет некоторые заголовки ответа, позволяющие предварительно загрузить ресурсы, пока загружается остальная часть ответа.

Коды состояния HTTP 200

Запрос был успешным, и браузер получил информацию.

200: Все ОК. Запрос прошел успешно и определяется используемым методом HTTP, как в следующих примерах:
GET: ресурс получен и находится в теле сообщения
HEAD: заголовки в теле сообщения
POST или PUT: ресурс, описывающий результат отправленного действия, в теле сообщения
TRACE: тело сообщения содержит полученное сообщение запроса

201: Создано. Запрос выполнен; создан новый ресурс. Типичный ответ после POST-запросов.
202: Принято. Запрос браузера принят, все еще в процессе. Может быть успешным, а может и нет.
203: Неавторитетная информация. Информация получена от прокси-сервера, который получил код состояния 200 'OK'.
204: Нет содержимого. Запрос обработан, но содержимое не отправлено. Заголовки могут быть полезны.
205: Сбросить содержимое. Аналогично 204, но сообщает пользователю о необходимости сбросить представление документа.
206: Частичное содержимое. Если ваш браузер использует "заголовки диапазона", этот код сообщает, что была отправлена только часть ресурса.
226: Использован IM. Сервер выполнил GET-запрос; ответ отражает, что были применены манипуляции с экземпляром.

Коды состояния HTTP 300:

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

300: Множественный выбор. Запрос имеет более одного возможного ответа. Браузер/пользователь должен выбрать один из них.
301: Перемещено навсегда. URL запрашиваемого ресурса был изменен навсегда. Новый URL указан в ответе.
302: Найдено. URL запрашиваемого ресурса был временно изменен. В будущем в URL могут быть внесены дальнейшие изменения. Поэтому этот же URI должен использоваться клиентом в будущих запросах.
303: См. другое. Сервер отправил этот ответ, чтобы направить клиента на получение запрашиваемого ресурса по другому URL с помощью GET-запроса. Требуется знание четырех основных методов запроса HTTP.
304: Не изменен. Используется для целей кэширования. Он сообщает клиенту, что кэшированные ресурсы не изменились. Клиент может продолжать использовать ту же кэшированную версию ответа, тем самым ускоряя процесс.
307: Временное перенаправление. Заменяет код HTTP-ответа 302 Found для использования, когда ресурс был временно перемещен на другой URL. В этом случае используемый метод HTTP не должен быть изменен - если использовался POST, то POST должен быть использован снова.
308: Постоянное перенаправление. Аналогично коду ответа HTTP 301; ресурс теперь постоянно находится на другом URL, указанном в заголовке Location: HTTP Response header.

Коды HTTP 400: Коды ошибок клиента

Сайт или страница не могут быть найдены. Страница недоступна или запрос технически проблематичен.

400: Ошибка. Сервер не может ответить из-за ошибки клиента.
401: Неавторизованный запрос. Клиент должен пройти само аутентификацию, чтобы получить запрашиваемый ответ.
402: Требуется оплата. Зарезервировано для будущего использования; используется редко, так как не принято стандартное соглашение.
403: Запрещено. Клиент не имеет прав доступа к содержимому; например, может потребоваться пароль.
404: Ошибка, документ не найден. Очень часто встречается в Интернете. URL не распознан; ресурс не существует.
405: Метод не разрешен. Сервер хоста поддерживает полученный метод, но целевой ресурс не поддерживает, так как он был отключен.
406: Неприемлемо. Запрашиваемый ресурс может генерировать неприемлемое содержимое только в соответствии с запрошенными заголовками accept.
407: Требуется аутентификация прокси-сервера. При использовании прокси-сервера ваш браузер должен пройти аутентификацию, чтобы продолжить.
408: Таймаут запроса. Сервер хочет закрыть неработающее соединение; запрос не был полностью завершен до истечения тайм-аута. Некоторые серверы не отправляют никаких сообщений перед отключением.
409: Конфликт. Ваш запрос конфликтует с ресурсом/сервером в его текущем состоянии.
410: Исчез. Запрашиваемое содержимое было навсегда удалено с сервера и не будет восстановлено.
411: Требуется длина. Запрос отклонен, так как поле заголовка длины содержимого не определено сервером как требуемое.
412: Предварительное условие не выполнено. Условия заголовка запроса вашего браузера не были выполнены сервером.
413: Слишком большой объем полезной нагрузки. Ваш запрос превышает установленные сервером пределы.
414: Слишком длинный URI. Запрос слишком длинный, чтобы сервер мог его обработать.
415: Неподдерживаемый тип носителя. Сервер отклоняет запрос, так как не поддерживает медиа-формат запрашиваемых данных.
416: Диапазон не удовлетворяется. Сервер не может ответить на ваш запрос; указанное поле заголовка range может выходить за рамки данных URI.
417: Ожидание не удалось. Требования ожидаемого поля заголовка запроса не могут быть выполнены сервером.
421: Неправильно направленный запрос. Сервер не настроен на получение ответа на этот запрос.
422: Необрабатываемая сущность. Семантические ошибки в запросе не позволяют серверу обработать ответ.
423: Заблокирован. Ресурс заблокирован и не может быть доступен.
424: Неудачная зависимость. Запрос не прошел из-за отказа предыдущего запроса.
425: Слишком рано. Указывает на нежелание сервера обрабатывать запрос, который может быть повторен.
426: Требуется обновление. Сервер отклоняет запрос по текущему протоколу; посылает заголовок Upgrade, указывающий на приемлемый протокол.
428: Требуется предварительное условие. Сервер не может обработать запрос, пока не будут указаны условия.
429: Слишком много запросов. Это ограничивающий скорость ответ сервера, когда пользователь отправил слишком много запросов за определенный промежуток времени.
431: Слишком большие поля заголовка запроса. Поля заголовков в запросе слишком велики для обработки сервером.
451: Недоступен по юридическим причинам. Серверу запрещено предоставлять доступ к запрашиваемому ресурсу; это может быть веб-страница с официальной цензурой.

 

Взаимосвязь между кодами состояния HTTP и SEO

Итак, вы прошли через все это и все еще с нами. Вам действительно не все равно!

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

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

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

 

Критические проблемы краулера

Критические проблемы с краулером могут стать вашим первым звоночком. Ошибки состояния HTTP уровней 400 и 500 делают ваши страницы полностью невидимыми для посетителей вашего сайта. Ошибки уровня 400 (включая страшную ошибку 404 "страница не найдена") указывают на то, что контент не может быть найден или был полностью удален. Ошибки 500 указывают на проблемы с сервером.

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

Вы просто не можете позволить, чтобы эти ошибки появлялись на ваших главных страницах.

Проблемы с перенаправлением

Проблемы с перенаправлениями оказывают значительное влияние на пользовательский опыт и SEO.

Коды 302/307 временно перенаправляют пользователей с одного URL на другой. Google не поддерживает такие коды, и они не передают странице столько ссылочной массы.

Цепочки перенаправлений также блокируются Google, поскольку при каждом последующем перенаправлении в цепочке теряется капитал. Иногда, если цепочка слишком длинная, ваша страница вообще перестает отображаться.

Мета-обновления В коде HTML серверу дается команда перенаправить пользователя через некоторое время. После этого пользователь покидает сайт, и опять же, ссылочное равенство не зарабатывается.

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

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

 

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

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

  1. Изменилась ли структура URL? Если да, перенаправьте старую структуру URL на новую. Некоторые CMS, такие как Shopify и Wordpress, имеют автоматическое перенаправление, как только вы измените структуру URL.
  2. Обновите страницу. Возможно, вам захочется испугаться, когда вы увидите, что ваша страница не работает, но иногда простое обновление страницы или открытие ее на другом устройстве может помочь.
  3. Очистите кэш и файлы cookie: Очистите кэш браузера и удалите файлы cookie, затем попробуйте снова зайти на страницу.

 

Как исправить ошибки с кодом 503?

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

1. Если сайт получает слишком большой трафик, когда вы получаете эту ошибку (сначала убедитесь, что это реальный трафик, а не трафик ботов), возможно, текущий тарифный план хостинга, на котором находится ваш сайт, не справляется с таким притоком трафика. Лучшим решением будет связаться с хостинг-провайдером и обновить сервер.
2. Если страница возвращает ошибку 503, возможно, ваш сервер находится на техническом обслуживании или упал. Наберитесь терпения или свяжитесь с провайдером, чтобы узнать, когда сайт будет восстановлен.
3. Определите, является ли это DoS-атакой или DDoS-атакой.

Сейчас на сайте 183 гостя и нет пользователей