HTTP Коды ответа сервера. Полное руководство
При работе с веб-сайтами вы наверняка сталкивались с HTTP кодами ответа сервера. Эти коды сообщают браузерам и поисковым роботам о статусе запроса и результата его обработки сервером. Каждый код имеет свою специфическую значимость и может указывать на успешное выполнение запроса, перенаправление, ошибку клиента или ошибку сервера.
В этой статье мы рассмотрим различные типы HTTP кодов, узнаем, как они влияют на работу сайтов и SEO, а также научимся определять коды на странице сайта.
Что такое HTTP код ответа сервера
HTTP (Hypertext Transfer Protocol) – это протокол, используемый для обмена данными между браузерами и серверами. Когда вы делаете запрос к веб-сайту, сервер отправляет ответ с определенным HTTP кодом, который сообщает о статусе выполнения вашего запроса.
HTTP коды делятся на пять основных групп:
1хх – Информационный (Informational): коды информируют клиентский браузер о прогрессе выполнения запроса.
2хх – Успешно (Success): коды указывают на успешное выполнение запроса и успешную обработку сервером.
3хх – Перенаправление (Redirection): коды информируют браузер о необходимости выполнить дополнительные действия для завершения запроса.
4хх – Ошибка клиента (Client Error): коды указывают на ошибки, связанные с запросом, сделанным клиентским браузером.
5хх – Ошибка сервера (Server Error): коды указывают на ошибки, произошедшие на сервере при обработке запроса.
1хх Informational (Информационные)
Коды 1хх редко встречаются в обычных запросах, чаще всего их используют, чтобы сообщить клиентскому браузеру, что сервер принял запрос и продолжает обработку.
100 Continue (Продолжить)
Код сообщает клиентскому браузеру, что сервер успешно получил первую часть запроса и готов принять оставшуюся часть. Это особенно важно при отправке больших объемов данных, когда сервер должен убедиться, что клиент может продолжать отправку.
101 Switching Protocols (Переключить протокол)
Когда клиент делает запрос на сервер, содержащий заголовок “Upgrade”, и сервер подтверждает возможность смены протокола, то в ответ на запрос будет возвращен код 101. Это позволяет серверу и клиенту установить более эффективный или безопасный протокол передачи данных.
102 Processing (В обработке)
Код информирует клиента, что сервер продолжает обрабатывать его запрос, но пока не может завершить его. Это может быть полезным, когда запрос требует длительного времени на обработку, и сервер хочет избежать истечения времени ожидания на стороне клиента.
103 Early Hints (Предварительные данные)
Код является экспериментальным и редко используется. Он предоставляет клиенту некоторые заголовки до завершения ответа сервера. Это может быть полезно, когда клиенту нужно предпринять какие-то действия, не дожидаясь полного ответа.
2xx Success (успешно выполненные запросы)
Коды 2xx указывают на успешное выполнение запроса. Каждый из этих кодов имеет свою специфическую значимость и помогает обеспечить эффективное взаимодействие между клиентом и сервером и когда сервер отправляет коды этой группы, это означает, что запрос был успешно обработан и нет необходимости в дополнительных действиях со стороны браузера.
200 OK (Успешно)
Этот код сообщает клиентскому браузеру, что его запрос успешно выполнен, и сервер возвращает запрошенные данные. Это наиболее распространенный и ожидаемый код при успешном выполнении запроса.
201 Created (Создано)
Когда клиент отправляет запрос на создание ресурса (например, отправка формы с данными для создания нового объекта на сервере), и сервер успешно создает этот ресурс, возвращается код 201. Этот код информирует клиента, что создание прошло успешно.
202 Accepted (Принято)
Код указывает на то, что сервер принял запрос клиента, но еще не завершил его обработку. Это может быть полезно в ситуациях, когда запрос требует длительной обработки, и сервер хочет сообщить клиенту, что запрос получен и будет обработан.
203 Non-Authoritative Information (Неофициальная информация)
Код указывает на то, что ответ сервера содержит неофициальную информацию. Это может быть полезным, когда ответ не является источником правды, но содержит информацию из другого источника, который не является официальным.
204 No Content (Нет содержимого)
Когда сервер успешно обработал запрос, но в ответе не содержится контента, возвращается код 204. Это может использоваться, когда клиентский запрос требует только подтверждения об успешном выполнении, но не требует передачи данных.
205 Reset Content (Сбросить содержимое)
Код сообщает клиенту, что он должен сбросить отображаемый контент на странице. Это может быть полезно, когда клиент отправляет запрос на изменение состояния страницы, и сервер указывает, что страница должна быть сброшена.
206 Partial Content (Частичное содержимое)
Когда клиент делает запрос на получение части данных (например, только часть файла), и сервер успешно возвращает эту часть данных, возвращается код 206. Это может быть полезно, когда клиент хочет загрузить только часть данных, а не всю информацию.
207 Multi-Status (Мульти-статус)
Это код является экспериментальным и редко используется. Он предоставляет информацию о состоянии нескольких ресурсов в ответе сервера. Это может быть полезно для клиентов, которые обрабатывают несколько запросов одновременно и хотят получить информацию о состоянии каждого ресурса.
3xx Redirection (Коды перенаправлений)
Коды 3xx указывают на перенаправления и помогают обеспечить более эффективное управление переходами между различными ресурсами на веб-сайте. Они также играют важную роль в SEO, позволяя сохранять рейтинг и структуру сайта при изменении URL-ов или перемещении контента на другие страницы.
300 Multiple Choices (Множественный выбор)
Когда сервер обрабатывает запрос и имеет несколько вариантов ответа, код 300 возвращается, чтобы предложить клиенту выбрать один из этих вариантов. Это может быть полезным, например, когда запрошенный ресурс имеет несколько доступных форматов или располагается на разных адресах.
301 Moved Permanently (Перемещено навсегда)
Код сообщает клиенту, что запрошенный ресурс был перемещен на новый постоянный адрес (URL). При этом поисковые роботы и браузеры будут перенаправляться на новый адрес вместо старого. Это позволяет сохранить SEO-рейтинг и ссылочную структуру сайта при переносе контента на новый URL
302 Found (Найдено)
Когда сервер возвращает код 302, он указывает на временное перенаправление запроса на другой ресурс. При этом поисковые роботы и браузеры будут сохранять оригинальный URL в качестве основного. Код 302 обычно используется для временного перемещения контента на другую страницу.
303 See Other (Смотри в другом месте)
Код используется, когда сервер хочет перенаправить клиента на другой ресурс после успешного выполнения POST-запроса. Это может быть полезно для предотвращения повторной отправки данных при обновлении страницы после успешного завершения действия.
304 Not Modified (Не изменено)
Когда клиент делает запрос на получение данных, и данные на сервере остались неизменными с момента последнего запроса, сервер возвращает код 304. Это говорит браузеру использовать кэшированные данные, что может сэкономить трафик и ускорить загрузку страницы.
305 Use Proxy (Используй прокси)
Этот код уже не используется и считается устаревшим. Ранее его использовали для указания клиентам использовать прокси-сервер для доступа к запрошенному ресурсу, но в настоящее время этот функционал рекомендуется выполнять с использованием заголовка “Proxy-Authorization”.
306 Switch Proxy (Зарезервировано)
Код считается устаревшим и больше не используется.
307 Temporary Redirect (Временное перенаправление)
Код аналогичен коду 302, но он требует, чтобы клиент сохранял метод запроса при перенаправлении. То есть, если клиент отправлял POST-запрос, то при перенаправлении он также должен использовать POST-запрос
308 Permanent Redirect (Постоянный редирект)
Код аналогичен коду 301, но, так же как и код 307, требует сохранения метода запроса при перенаправлении. Это позволяет сохранить SEO-рейтинг и ссылочную структуру сайта при постоянном перемещении контента на новый URL.
4xx Client Error (коды ошибок клиента)
Коды 4xx указывают на ошибки, связанные с запросом, сделанным клиентским браузером. Это означает, что сервер не может выполнить запрос из-за ошибки в запросе, отсутствующего или неправильного URL и т.д.
400 Bad Request (Неверный запрос)
Код возвращается, когда сервер не может обработать запрос из-за синтаксической ошибки или неверного формата запроса, который не может быть понят сервером.
401 Unauthorized (Не авторизованно)
Код сообщает клиенту, что для доступа к запрошенному ресурсу требуется аутентификация (авторизация). Это означает, что клиент должен предоставить правильные учетные данные, чтобы получить доступ к ресурсу.
402 Payment Required (Необходима оплата)
Код предполагал использование в будущих версиях протокола HTTP, но на данный момент он не используется и считается зарезервированным.
403 Forbidden (Запрещено)
Код указывает на то, что сервер понял запрос, но отказывается его выполнять. Это может быть связано с отсутствием прав доступа или ограничениями на доступ к запрошенному ресурсу.
404 Not Found (Не найдено)
Когда сервер не может найти запрошенный ресурс или страницу, возвращается код 404. Это может быть связано с изменением URL, удалением страницы или некорректной ссылкой на ресурс.
405 Method Not Allowed (Метод запрещён)
Код сообщает, что метод запроса, указанный в запросе, не разрешен для запрошенного ресурса. Например, попытка выполнить POST-запрос к ресурсу, который разрешает только GET-запросы, вызовет код 405.
406 Not Acceptable (Неприемлемо)
Когда сервер не может предоставить данные в формате, который указал клиент в заголовке “Accept”, возвращается код 406. Это указывает на то, что сервер не может удовлетворить требования клиента по предоставлению данных в определенном формате.
407 Proxy Authentication Required
Код аналогичен коду 401, но указывает на то, что клиент должен предоставить учетные данные для прокси-сервера, чтобы получить доступ к запрошенному ресурсу через прокси.
408 Request Timeout (Истекло время ожидания ответа на запрос)
Когда клиентский браузер или клиент не получает ответ от сервера в течение определенного времени (время ожидания истекло), возвращается код 408. Это может произойти, если сервер занят или отвечает слишком долго.
409 Conflict (Конфликт)
Код возвращается, когда запрос не может быть выполнен из-за конфликта с текущим состоянием ресурса на сервере. Например, если два клиента пытаются одновременно изменить один и тот же ресурс, может возникнуть конфликт.
410 Gone (Удалено)
Когда сервер удаляет постоянно или временно ресурс, или страницу, которую запрашивал клиент, возвращается код 410. Это сообщает клиенту, что ресурс больше не доступен и его не стоит запрашивать снова.
411 Length Required (Требуется значение заголовка Content-Length)
Когда клиент отправляет запрос, требующий указания длины тела запроса (например, при передаче данных методом POST), но не предоставляет заголовок “Content-Length”, сервер возвращает код 411. Это сообщает клиенту о необходимости указать длину тела запроса.
412 Precondition Failed (Невыполнимые условия запроса)
Код возвращается, когда условие, указанное в запросе с помощью заголовков “If-Match” или “If-None-Match”, не выполняется на сервере. Например, это может произойти, когда клиент хочет обновить ресурс, но условие проверки его актуальности не совпадает с текущим состоянием ресурса на сервере.
413 Payload Too Large (Слишком большое тело запроса)
Когда размер тела запроса превышает максимально допустимый размер на сервере, возвращается код 413. Это может произойти, когда клиент отправляет слишком большой объем данных или файлов на сервер.
414 URI Too Long (Слишком длинный URI)
Когда URI (Uniform Resource Identifier) запроса превышает максимально допустимую длину на сервере, возвращается код 414. Это может произойти, например, когда клиент передает слишком длинные параметры запроса или глубокую иерархию в URL.
415 Unsupported Media Type (Неподдерживаемый медиа формат данных)
Когда сервер не может обработать запрос из-за неподдерживаемого формата данных, указанного в заголовке “Content-Type”, возвращается код 415. Например, если клиент отправляет данные в формате, который сервер не может обработать или не поддерживает.
416 Range Not Satisfiable (Диапазон не может быть выполнен)
Код 416 возвращается, когда клиент запрашивает определенный диапазон данных (например, часть файла) с помощью заголовка “Range”, но сервер не может удовлетворить этот диапазон. Например, если клиент запросил часть файла, которая находится за пределами размера файла.
417 Expectation Failed (Недопустимое значение поля Expect)
Код 417 возвращается, когда сервер не может выполнить ожидания, указанные клиентом в заголовке “Expect”. Это может произойти, когда клиент ожидает определенного поведения от сервера, но сервер не может или не хочет его предоставить.
422 Unprocessable Entity (Необрабатываемый запрос)
Код указывает на то, что сервер понимает запрос, но не может обработать его из-за ошибок валидации. Это может быть полезным, когда клиент отправляет данные, которые не соответствуют требуемому формату или условиям.
423 Locked (Заблокировано)
Код возвращается, когда сервер блокирует доступ к ресурсу, так как он заблокирован или используется другим процессом. Это может произойти, например, когда клиент пытается получить доступ к ресурсу, который находится в процессе обновления или редактирования.
424 Failed Dependency (Невыполненная зависимость)
Код указывает на то, что запрос зависит от другого запроса, который не был выполнен или завершился с ошибкой. Это может быть полезным, когда один запрос зависит от результата другого запроса и сервер не может выполнить первый запрос без успешного завершения второго.
426 Upgrade Required (Необходимо обновить протокол)
Код возвращается, когда сервер требует использовать более новую версию протокола HTTP для выполнения запроса. Это может быть полезным, когда сервер поддерживает только более новую версию протокола и требует, чтобы клиент обновил свою версию для выполнения запроса.
499 Client Closed Request (Клиент отозвал запрос)
Код возвращается, когда клиентский браузер или клиент преждевременно закрывает соединение до завершения запроса. Это может произойти, например, когда пользователь закрывает вкладку или браузер во время ожидания ответа от сервера.
5xx Server Error (коды ошибок сервера)
Коды 5xx указывают на ошибки со стороны сервера и информируют, что сервер не может выполнить запрос по различным причинам. Эти коды обычно связаны с техническими проблемами и требуют вмешательства со стороны администраторов сервера для их устранения.
500 Internal Server Error (Внутренняя ошибка сервера)
Когда на сервере возникает внутренняя ошибка, которая не позволяет ему выполнить запрос, возвращается код 500. Это может быть вызвано различными причинами, такими как ошибка в коде сервера, проблемы с базой данных или другие технические проблемы.
501 Not Implemented (Не реализовано)
Когда сервер не поддерживает или не реализовал метод запроса, указанный клиентом в запросе, возвращается код 501. Это может произойти, когда клиент отправляет запрос с использованием метода, который сервер не понимает или не поддерживает.
502 Bad Gateway (Неверный шлюз)
Код указывает на то, что сервер, который является промежуточным шлюзом или прокси-сервером, получил некорректный ответ от внешнего сервера. Это может произойти, когда сервер не может получить ответ от другого сервера или получает некорректные данные.
503 Service Unavailable (Сервис недоступен)
Когда сервер временно недоступен из-за перегрузки, обслуживания или других временных проблем, возвращается код 503. Это сообщает клиенту, что сервер не может обработать запрос на данный момент, и клиенту рекомендуется повторить запрос позже.
504 Gateway Timeout (Шлюз не отвечает)
Код возвращается, когда прокси-сервер или шлюз, используемый для выполнения запроса, не получает ответ от внешнего сервера в течение определенного времени (время ожидания шлюза истекло). Это может произойти, когда внешний сервер не отвечает или отвечает слишком долго.
505 Version Not Supported (Версия не поддерживается)
Когда сервер не поддерживает версию протокола HTTP, указанную клиентом в запросе, возвращается код 505. Это может произойти, когда клиент отправляет запрос с использованием более новой версии протокола, которая не поддерживается сервером.
507 Insufficient Storage (Недостаточно места)
Код указывает на то, что сервер не может выполнить запрос из-за недостаточного места для хранения данных на сервере. Это может произойти, когда сервер достиг предела по месту для хранения или допустимого лимита на диске.
508 Loop Detected (Обнаружено бесконечное перенаправление)
Код возвращается, когда сервер обнаруживает бесконечное перенаправление во время обработки запроса. Это может произойти, когда сервер получает последовательные запросы на перенаправление на один и тот же ресурс, создавая замкнутый цикл.
509 Bandwidth Limit Exceeded (Исчерпана пропускная способность канала)
Когда сервер достигает предела пропускной способности канала или сетевого трафика, возвращается код 509. Это указывает на то, что сервер не может обработать запрос из-за ограничения на доступный трафик.
Как посмотреть HTTP код на странице сайта
Чтобы проверить HTTP код ответа на странице сайта, можно воспользоваться инструментами разработчика браузера. В большинстве современных браузеров, таких как Google Chrome, Mozilla Firefox, Microsoft Edge, есть встроенные инструменты разработчика, которые позволяют просматривать сетевую активность и получать информацию о кодах ответа сервера.
В Google Chrome, например, нажав на клавишу “F12” откроется окно “Инструментов разработчика”, далее нужно открыть вкладку “Network” и обновить страницу и увидеть список всех запросов, выполненных во время загрузки страницы. Каждый запрос будет сопровождаться соответствующим HTTP кодом ответа сервера.
Как HTTP коды влияют на SEO
HTTP коды играют важную роль в SEO и ранжировании в поисковых системах. Правильное использование и обработка кодов ответа сервера помогает повысить качество пользовательского опыта, что, в свою очередь, может положительно сказаться на показах сайта в поисковой выдаче.Приведем некоторые примеры того, как HTTP коды могут влиять на SEO сайта:
Пользовательский опыт
Коды ответа сервера напрямую связаны с пользовательским опытом. Когда пользователь получает положительный код (например, 200 OK) и быстрый ответ от сервера, это создает положительное впечатление и повышает вероятность, что пользователь останется на сайте дольше. Поисковые системы учитывают показатели поведения пользователей на сайте, такие как отказы (Bounce rate) и время пребывания на странице, при ранжировании результатов поиска.
Индексация страниц
Коды “200 OK” и “404 Not Found” особенно важны для индексации страниц поисковыми системами. Когда поисковые роботы получают код “200”, это указывает на успешное получение страницы, и она может быть проиндексирована. С другой стороны, код “404” указывает на то, что страница не найдена, и она не будет индексирована. Неправильная обработка кодов “404” может привести к проблемам с индексацией и SEO вообще.
Перенаправления
Коды “301” и “302”, которые используются для редиректов, влияют на индексацию и передачу рейтинга страниц. 301-й редирект указывает поисковой системе, что страницу переместили навсегда на другой адрес, и рейтинг и индексация должны быть перенаправлены на новую страницу. В случае 302 редиректа, поисковые системы обрабатывают его как временное перемещение и могут сохранять рейтинг и индексацию на оригинальной странице. Правильное использование редиректов позволяет избежать дублирования контента и улучшить SEO.
Ошибка сервера
Коды 5xx (например, “500 Internal Server Error”) указывают на технические проблемы с сервером, что может привести к недоступности сайта или его частей. Поисковые системы могут временно исключить такой сайт из индекса или снизить его ранжирование, если такие ошибки продолжаются в течение длительного времени.
Скорость загрузки страницы
Коды 2xx (например, 200 OK) и быстрые времена ответа сервера снижают время загрузки страницы, что положительно влияет на SEO. Быстрая загрузка страницы улучшает пользовательский опыт и может привести к лучшему ранжированию в поисковых системах.
Коды ошибок клиента
Коды 4xx, такие, как “404 Not Found” и “403 Forbidden”, могут указывать на проблемы с контентом сайта или на ошибки в URL-адресах. Неправильное использование таких кодов может привести к потере посетителей и негативно сказаться на SEO.
Повторы содержания
Коды “304 Not Modified” указывают на то, что контент на странице не изменился с последнего запроса. Это позволяет клиенту (например, браузеру) использовать закешированный контент без необходимости повторной загрузки. В таких случаях, поисковые системы могут сэкономить время и ресурсы на повторной индексации и обработке контента.
В общем, правильное использование HTTP кодов ответа сервера и устранение возможных проблем с кодами может значительно повысить пользовательский опыт и способствовать лучшим SEO-показателям сайта. Однако стоит помнить, что HTTP коды являются лишь одной из многих составляющих успешной оптимизации для поисковых систем. Важно также уделять внимание качеству контента, структуре сайта, скорости загрузки и другим факторам, чтобы обеспечить высокое ранжирование в поисковых системах.
Заключение
HTTP коды ответа сервера являются важными индикаторами работы веб-сайтов. Они сообщают браузерам и поисковым роботам о статусе выполнения запросов и обработки данных на сервере. Понимание различных типов HTTP кодов поможет более эффективно управлять сайтом и повысить его видимость в поисковых результатах. Также важно не забывать регулярно проверять и исправлять ошибки, чтобы сайт работал наилучшим образом и привлекал больше посетителей.
Подпишитесь на нашу рассылку
чтобы ничего не пропустить
Курсы по SEO