Код ответа сервера 200: Обзор кода состояния HTTP — Internet Information Services

Содержание

Обзор кода состояния HTTP — Internet Information Services

200OKIIS 7.0 и более поздние версии успешно обработали запрос.
304Не измененоКлиентский браузер запрашивает документ, который уже находится в кэше, и документ не был изменен с момента кэшировать документ. Клиентский браузер использует кэшную копию документа вместо загрузки документа с сервера.
400Плохой запросФайл Hypertext Transfer Protocol Stack (Http.sys) блокирует IIS 7.0 и более поздние версии обработки запроса из-за проблемы в запросе. Как правило, этот код состояния HTTP означает, что запрос содержит символы или последовательности, которые не являются действительными или что запрос противоречит параметрам безопасности в Http.sys файле.
401.1Сбой LogonПопытка логотипа является неудачной, вероятно, из-за имени пользователя или пароля, который не является допустимым.
401.2Logon не удалось из-за конфигурации сервераЭтот код состояния HTTP указывает на проблему в параметрах конфигурации проверки подлинности на сервере.
401.3Несанкционированные из-за ACL на ресурсеЭтот код состояния HTTP указывает на проблему в разрешениях файловой системы NTFS. Эта проблема может возникнуть, даже если разрешения верны для файла, к который вы пытаетесь получить доступ. Например, эта проблема возникает, если учетная запись IUSR не имеет доступа к C:\Winnt\System32\Inetsrv каталогу.
401.4Авторизация сбой фильтраФильтр интерфейса программирования приложений internet Server (ISAPI) не дает обрабатывать запрос из-за проблемы с авторизацией.
401.5Авторизация, сбой в приложении ISAPI/CGIПриложение ISAPI или приложение Common Gateway Interface (CGI) не дает обрабатывать запрос из-за проблемы с авторизацией.
403.1Выполнение запрещенного доступа Соответствующий уровень разрешения На выполнение не предоставляется.
403.2Запрещен доступ к чтениемСоответствующий уровень разрешения на чтение не предоставляется. Убедитесь, что вы создали IIS 7.0 и более поздние версии, чтобы предоставить каталогу разрешение на чтение. Кроме того, если вы используете документ по умолчанию, убедитесь, что документ по умолчанию существует.
403.3Запрещен доступ к записиСоответствующий уровень разрешения Написания не предоставляется. Убедитесь, что разрешения IIS 7.0 и более поздних версий и разрешения файловой системы NTFS настроены для предоставления каталогу разрешения Написания.
403.4Требуется SSLЗапрос выполнен по каналу несекреализа, и веб-приложению требуется подключение к безопасному слою sockets Layer (SSL).
403.5Требуется SSL 128Сервер настроен на 128-битное подключение SSL. Но запрос не отправляется с помощью 128-битного шифрования.
403.6IP-адрес отклоненСервер настроен для отказа в доступе к текущему IP-адресу.
403.7Требуется клиентский сертификатСервер настроен на то, чтобы требовать сертификат для проверки подлинности клиента. Но клиентский браузер не имеет соответствующего клиентского сертификата. Дополнительные сведения см. в ссылке HTTP error 403.7при запуске веб-приложения, которое находится на сервере с управлением IIS 7.0.
403.8Отказано в доступе к сайтуСервер настроен для отказа в запросах на основе имени системы доменных имен (DNS) клиентского компьютера.
403.12Mapper denied accessСтраница, к которую необходимо получить доступ, требует клиентского сертификата. Но удостоверение пользователя, которое соедино в клиентский сертификат, не имеет доступа к файлу.
403.13Отзыв клиентского сертификата Клиентский браузер пытается использовать клиентский сертификат, отозванный органом сертификации.
403.14Список каталогов отклоненСервер не настроен для отображения списка каталогов контента, а документ по умолчанию не установлен. см. http error 403.14 — Запрещено при открываемой веб-странице IIS.
403.16Клиентский сертификат не соответствует действительности или является недействительным.Клиентский браузер пытается использовать клиентский сертификат, который не доверяет серверу, который работает в версиях IIS 7.0 и более поздних версиях или не является допустимым. Дополнительные сведения см. в странице HTTP Error 403.16при попытке получить доступ к веб-сайту, на сайте IIS 7.0.
403.17Срок действия клиентского сертификата истек или еще не действителен.Клиентский браузер пытается использовать клиентский сертификат, срок действия которого истек или еще не действителен.
403.18Невозможно выполнить запрашиваемую URL-адрес в текущем пуле приложений.Настраиваемая страница ошибок настроена, а настраиваемая страница ошибки находится в другом пуле приложений, чем пул приложений запрашиваемого URL-адреса.
403.19Невозможно выполнить CGI-приложения для клиентского браузера в этом пуле приложений.Удостоверение пула приложений не имеет права пользователя маркера уровня процесса.
404.0Не найден.Файл, к который вы пытаетесь получить доступ, был перемещен или не существует.
404.2Ограничение ISAPI или CGI.Запрашиваемая ресурс ISAPI или запрашиваемая CGI-ресурс ограничена на компьютере. Дополнительные сведения см. в http error 404.2при посещении веб-страницы, которая находится на компьютере с управлением IIS 7.0.
404.3Ограничение типа MIME.Текущее сопоставление MIME для запрашиваемого типа расширения не допустимо или не настроено.
404.4Не настроен обработник.Расширение имени файла запрашиваемого URL-адреса не имеет обработера, настроенного для обработки запроса на веб-сервере.
404.5Отказано в настройке фильтрации запроса.Запрашиваемая URL-адрес содержит последовательность символов, заблокированная сервером.
404.6Глагол отказано.Запрос выполнен с помощью глагола HTTP, который не настроен или не действителен.
404.7Расширение файла отказано.Расширение запрашиваемой фамилии файла не допускается.
404.8Скрытое пространство имен.Запрашиваемой URL-адрес отказано, так как каталог скрыт.
404.9Атрибут files скрыт.Запрашиваемая папка скрыта.
404.10Запрос загона слишком долго.Запрос отказано, так как слишком длинные заглавные главы запросов.
404.11Запрос содержит двойную последовательность побега.Запрос содержит двойную последовательность побега.
404.12Запрос содержит высокотябные символы.Запрос содержит высокотябные символы, а сервер настроен не для того, чтобы разрешить высоко битные символы.
404.13Слишком большая длина контента.Запрос содержит Content-Length заглавную. Значение загона больше допустимого для Content-Length сервера ограничения. Дополнительные сведения см. в http error 404.13 — CONTENT_LENGTH_TOO_LARGEпри посещении веб-сайта, на сервере с управлением IIS 7.0.
404.14Запрос URL-адреса слишком долго.Запрашиваемый URL-адрес превышает допустимый для сервера лимит.
404.15Строка запроса слишком длинная.Запрос содержит строку запроса, которая превышает допустимый для сервера лимит.
404.17Динамическое содержимое, относясь к обработнику статического файла.Дополнительные сведения см. в сообщении об ошибке при посещении веб-сайта, который находится на сайте IIS 7.0: http error 404.17 — Не найден.
405.0Метод запрещен.Запрос выполнен с помощью метода HTTP, который не является допустимым. Дополнительные сведения см. в http error 405.0при посещении веб-сайта, на сервере с ИИС.
406.0Недействительный тип MIME.Запрос выполнен с помощью загона, содержаного значение Accept MIME, которое не является допустимым.
412.0Предварительное условие не удалось.Запрос выполнен с помощью загона запроса, который содержит If-Match значение, которое не является допустимым.
500Ошибка внутреннего сервера.Этот код состояния HTTP может возникать по многим серверным причинам. Дополнительные сведения см. в http error 500.0 —ошибка внутреннего сервера при открываемой веб-странице IIS 7.0.
500.11Приложение закрывается на веб-сервере.Запрос не обрабатывается, так как пул приложений назначения закрывается. Подождите, пока рабочий процесс завершится, а затем снова попробуйте запрос. Если эта проблема сохраняется, у веб-приложения могут возникнуть проблемы, которые препятствуют правильному закрытию веб-приложения.
500.12Приложение занято перезапуском на веб-сервере.Запрос не обрабатывается из-за перезапуска пула приложений назначения. Этот код состояния HTTP должен исчезнуть при обновлении страницы. Если этот код состояния HTTP появится снова после обновления страницы, проблема может возникнуть из-за антивирусного программного обеспечения, которое сканирует файл Global.asa. Если эта проблема сохраняется, у веб-приложения могут возникнуть проблемы, препятствующие правильному перезапуску веб-приложения.
500.13Веб-сервер слишком занят.Запрос не обрабатывается, так как сервер слишком занят, чтобы принимать новые входящие запросы. Обычно этот код состояния HTTP означает, что количество входящих одновременно запросов превышает число, которое может обрабатывать веб-приложение IIS 7.0 и более поздних версий. Эта проблема может возникнуть из-за слишком низких параметров конфигурации производительности, недостаточного оборудования или в веб-приложении IIS 7.0 и более поздних версий возникает узкое место. Распространенным методом устранения неполадок является создание файла сброса памяти процессов IIS 7.0 и более поздних версий при ошибке, а затем отладка файла сброса памяти.
500.15Прямые запросы для Global.asax не разрешены.Сделан прямой запрос на файл Global.asa или файл Global.asax.
500.19Данные конфигурации недействительны.Этот код состояния HTTP возникает из-за проблемы в связанном applicationhost.config или связанном Web.config файле. Дополнительные сведения см. в http error 500.19 при открываемой веб-странице IIS.
500.100Внутренняя ошибка ASP.Ошибка возникает при обработке страницы ASP (ASP). Чтобы получить более подробную информацию об ошибке, отключим дружественные сообщения об ошибке HTTP в веб-браузере. Кроме того, в журнале IIS может появиться номер ошибки ASP, соответствующий ошибке.
503.0Служба недоступна.Запрос отправляется в пул приложений, который в настоящее время остановлен или отключен. Чтобы устранить эту проблему, убедитесь, что пул приложений назначения запущен. Журнал событий может предоставить сведения о том, почему пул приложений остановлен или отключен.
503.2Превышено ограничение одновременного запроса.Свойство занижается по сравнению с текущим числом одновременно appConcurrentRequestLimit запрашиваемой суммы. IIS 7.0 и более поздние версии не позволяют запрашивать больше одновременно, чем значение appConcurrentRequestLimit свойства.

коды ответа с описанием, редиректы, заголовки.

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

Сразу хотел бы сказать, что важно не только содержимое ответа сервера, но и время, за которое сервер этот ответ даёт. Яндекс рекомендует держать его в пределах 0,2 секунд. Некоторые CMS (битрикс) на некоторых виртуальных хостингах не могут уложиться в это время. Выбирайте правильное ПО и хостинг, оптимизируйте код. Если всевозможные оптимизации уже сделали, но время ответа сервера больше 0,2 секунд, то стоит задуматься о переезде на VDS. Он стоит чуть дороже виртуального хостинга, но скорость ответа сервера там будет быстрее.

Коды ответа сервера

Конечно, правильно писать коды состояния или коды статуса HTTP, но большинство используются именно такую формулировку. Таких кодов несколько десятков. Расскажу о самых распространённых из них.

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

301 Moved Permanently — документ перемещён навсегда. Раньше у страницы был один адрес, а теперь другой. Используйте перенаправление на новый адрес с 301 кодом ответа сервера. 301 редирект также используется при перенаправлении с неосновных вариантов страниц на основной. Если одна страница доступна по нескольким адресам и отдаёт 200 код, то для индексации и ранжирования сайта это точно ничего хорошего не принесёт. Варианты таких 301 редиректов зависят от используемой CMS или фреймворка.

Примеры 301 редиректов:

  • с www.site.ru на site.ru — выбираем основную версию сайта, с www или без www,
  • с http://site.ru на https://site.ru — переходим на зашифрованный https протокол после покупки ssl сертификата,
  • с site.ru/index.php на site.ru — у некоторых cms дублируются адреса страниц с различными добавлениями,
  • с site.ru/page/ на site.ru/page — убираем страницы со слешем «/» в адресе,
  • c site.ru/?id=123 на site.ru/page — некоторые cms могут хранить дубли страниц по своим URL’ам.

302 Moved Temporarily — документ перемещён временно. К сожалению, такой код ответа сервера чаще появляется не по инициативе владельца сайта, а в случае технических проблем. Я имел опыт, когда ко мне обращались с проблемой существенного падения посещаемости. Оказалось, что все страницы начали отдавать 302 код ответа сервера. После исправления ошибки позиции и посещаемость начали восстанавливаться.

304 Not Modified — а такой ответ наоборот показывает, что сайтом вы скорее всего занимаетесь. Такой статус имеют документы (файлы), которые веб-сервер предлагает загрузить браузеру из своего кэша. Они не менялись с вашего прошлого посещения. То есть конкретная страница (html документ) отдаёт 200 код, а уже файлы (картинки, скрипты и т.д.), 304 кодом ответа просят браузер не скачивать их заново.

404 Not Found — документ не найден. Страница или файл не существуют. Популярные причины: неправильная ссылка, страница или файл удалены/переименованы, вы сами неправильно ввели адрес. Самое интересно, что можно настроить (поломать) CMS/фреймворк/веб-сервер так, что у вас страницы будут открываться, но код ответа будет 404. Поисковые системы такие страницы будут постепенно убирать из своего индекса и выдачи.

400, 500, 502, 503, 504 — можно объединить эти коды одной фразой «Ошибка сервера». Начните решение проблемы с письма в хостинг и перезагрузкой процесса/сервера, если у вас VDS. Причины могут быть самые разные, начиная с того, что сервер не выдерживает нагрузки, заканчивая ошибками программистов при написании кода.

Текстовая информация в ответе сервера

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

Кодировка — используйте UTF-8. Если у вас другая кодировка, то это повод задуматься.

Server — веб-сервер по умолчанию включает в ответ сервера своё название и версию. Например, «nginx/1.16.1».

X-Powered-By — аналогичный необязательный заголовок, который рекламирует ПО, используемое сервером.

Content-Encoding — можно посмотреть, включено ли сжатие gzip.

Cache-Control — настройка кэширования файлов. Если включено, то показывается срок кэширования.

Автор: Александр Дергунов
Дата публикации: 20.12.2019 г.

Коды ошибок HTTP и другие ответы сервера

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

Что внутри

  1. Что такое коды состояния HTTP и зачем они нужны
  2. Как посмотреть HTTP коды на странице
  3. Какие бывают коды ответов HTTP
  4. Как разные HTTP коды влияют на SEO
  5. Список кодов состояния HTTP с описаниями
  6. Дополнительная информация

Что такое коды состояния HTTP и зачем они нужны

Код состояния HTTP (англ. HTTP status code) — это трёхзначное число, с которого начинается любой ответ сервера на запрос по протоколу HTTP. Код кратко сообщает суть ответа — был ли выполнен запрос или возникла ошибка.

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

Определённые коды могут указывать на проблемы в работе сервера и влиять на SEO-продвижение сайта.

Как посмотреть коды ответа сервера в браузере

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

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

Чтобы открыть инструменты в популярных браузерах, нажмите комбинацию клавиш:

  • Ctrl + Shift + I — на компьютере с Windows или Linux;
  • ⌘ + ⌥ + I — на компьютере с macOS.

Какие бывают коды состояния HTTP

Коды ответов HTTP делятся на пять классов. В каждом из них объединены сообщения с похожими значениями. Вот краткие описания каждого из классов:

  • 1хх — информационные коды. Сообщают о прогрессе выполнения запроса. На практике практически не встречаются.
  • 2хх — коды успешно выполненных запросов. Сообщают о том, что всё в порядке и работает, как ожидалось.
  • 3хх — коды перенаправлений. Сообщают о том, что запрашиваемая страница переехала и нужно сделать ещё один запрос по новому URL.
  • 4хх — коды ошибок клиента. Сообщают об ошибке на стороне пользователя, который отправил запрос.
  • 5хх — коды ошибок сервера. Сообщают об ошибке на стороне сервера, который обрабатывал запрос.

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

Как разные HTTP коды влияют на SEO

Поисковые роботы тоже понимают коды состояния HTTP. Коды классов 1хх и 2хх никак не отразятся на позициях страницы в результатах поиска, а коды классов 3хх, 4хх и 5хх отразятся, но в зависимости от класса по-разному.

HTTP коды класса 3хх это коды перенаправлений с одной страницы на другую. Есть постоянные перенаправления (301 и 308), которые передают позиции старой страницы на новую. А есть временные (302, 303 и 307), которые не передают позиции. Но если временный редирект будет стоять слишком долго, Google подумает, что владелец сайта поставил его по ошибке, и начнёт воспринимать такой редирект как постоянный.

HTTP коды классов 4хх и 5хх это коды ошибок. Не все, но многие из них негативно влияют на позиции страницы в результатах поиска. Обычно, когда бот заходит на страницу и видит там коды ошибки HTTP в любом из этих классов, он пробует зайти на неё ещё раз в пределах суток, рассчитывая на то, что владелец сайта решит проблему. Если ошибка возникает и при повторном посещении, бот может исключить страницу из индекса. Мы даже сталкивались с ситуациями, когда страница выпадала из индекса с первого посещения.

Проверить, выпала ли страница из индекса, можно в Google Search Console. Для этого войдите в консоль, введите в строке поиска URL страницы и нажмите Enter. Сервис проверит страницу и покажет её статус. Если страницы уже нет в индексе, нажмите «Запросить индексирование», чтобы повторно её туда добавить.

Также Search Console поможет вам своевременно обнаруживать ошибки. Для этого просто периодически проверяйте раздел «Покрытие» на главной странице панели в меню слева. В него будут записываться все ошибки на сайте. Подробнее на эту тему: Как добавить сайт в Google Search Console.

Список кодов состояния HTTP с описаниями

Всего существует более 40 официальных кодов состояния HTTP. Есть ещё примерно столько же неофициальных, но в этой статье мы их рассматривать не будем. Даже многие из официальных возникают крайне редко.

1хх Informational — информационные коды
  • HTTP 100 Continue — «Продолжить». Означает, что сервер получил начальную часть запроса и готов принять остальную его часть. Отправляется при наличии в запросе заголовка Expect.
  • HTTP 101 Switching Protocols — «Переключить протокол». Означает, что сервер меняет протокол. Отправляется при наличии в запросе заголовка Upgrade.
  • HTTP 103 Early Hints — «Предварительные данные». Предварительный ответ с частью заголовков. Используется, когда сервер не может быстро сформировать все заголовки. Их полный список будет присутствовать в окончательном ответе.
2xx Success — коды успешно выполненных запросов
  • HTTP 200 OK — «Успешно». Сервер успешно обработал запрос.
  • HTTP 201 Created — «Создано». Сервер успешно обработал запрос и создал новый ресурс. 
  • HTTP 202 Accepted — «Принято». Сервер начал обрабатывать запрос, но пока ещё не закончил процесс. В конечном итоге обработка запроса может как завершиться, так и не завершиться.
  • HTTP 203 Non-Authoritative Information — «Неофициальная информация». Сервер успешно обработал запрос, но прокси, через который проходил ответ на запрос, изменил этот ответ.
  • HTTP 204 No Content — «Нет содержимого». Сервер успешно обработал запрос, но кроме заголовков ответа нет содержимого, которое можно было бы отправить в ответ.
  • HTTP 205 Reset Content — «Сбросить содержимое». Сервер успешно обработал запрос и отправил в ответ команду сбросить данные, которые пользователь ввёл, перед тем как отправить запрос.
  • HTTP 206 Partial Content — «Частичное содержимое». Сервер успешно обработал частичный запрос и отправил содержимое, указанное в заголовке Content-Range. Используется, например, для возобновления поставленной на паузу загрузки.
  • HTTP 207 Multi-Status — «Мульти-статус». В результатах запроса есть информация о нескольких независимых друг от друга операциях.
3xx Redirection — коды перенаправлений
  • HTTP 300 Multiple Choices — «Множественный выбор». Сервер присылает такой код, когда есть несколько возможных ответов на запрос. Например, на сервере есть несколько типов файлов, которые отвечают условиям запроса. Пользователь или user-agent должен выбрать один из вариантов. 
  • HTTP 301 Moved Permanently — «Перемещено навсегда». Запрашиваемый ресурс теперь доступен по новому URI и при последующих запросах стоит использовать именно его.
  • HTTP 302 Found — «Найдено». Раньше этот код назывался 302 Moved Temporarily — «Перещено временно». Запрашиваемый ресурс временно доступен по другому URI и при последующих запросах стоит использовать старый URI.
  • HTTP 303 See Other — «Смотри в другом месте». Запрашиваемый ресурс нужно искать по другому URI с методом запроса GET, несмотря на то, что в изначальном запросе мог быть другой метод.
  • HTTP 304 Not Modified — «Не изменено». Запрашиваемый ресурс не был изменён, поэтому стоит использовать его кэшированную версию.
  • HTTP 305 Use Proxy — «Используй прокси». Запрос к ресурсу должен осуществляться через прокси. Этот код больше не используется.
  • HTTP 306 Switch Proxy — «Зарезервировано». Запрос к ресурсу должен осуществляться через прокси, который сервер указал в заголовках ответа. Этот код больше не используется.
  • HTTP 307 Temporary Redirect — «Временное перенаправление». Запрашиваемый ресурс временно доступен по другому URI. При запросе к новому URI клиент ОБЯЗАН использовать тот же метод, что и при изначальном запросе. Этот код имеет такую же логику, что и 302 Found. Его ввели, потому что при 302 HTTP коде некоторые клиенты меняли тип запроса.
  • HTTP 308 Permanent Redirect  — «Постоянный редирект». У запрашиваемого ресурса навсегда изменился URI и во всех следующих запросах стоит обращаться к нему. Этот код похож на 301 Moved Permanently, но в случае с кодом 308 нельзя менять тип запроса с POST на GET.
4xx Client Error — коды ошибок клиента
  • HTTP 400 Bad Request — «Неверный запрос». Сервер не может обработать запрос, потому что не понимает его. Например, из-за синтаксической ошибки.
  • HTTP 401 Unauthorized — «Неавторизованно». Сервер не может обработать запрос без аутентификации. Нужно добавить в заголовок запроса поле Authorization или проверить правильность данных в этом поле, если оно уже присутствует.
  • HTTP 402 Payment Required — «Необходима оплата». Изначально этот код должен был использоваться в платёжных системах. Сейчас он не используется.
  • HTTP 403 Forbidden — «Запрещено». Сервер отказывается обработать запрос, потому что у пользователя нет прав на просмотр содержимого.
  • HTTP 404 Not Found — «Не найдено». Сервер не может найти запрашиваемый ресурс. 
  • HTTP 405 Method Not Allowed — «Метод запрещён». Указанный в запросе метод нельзя использовать. Сервер ОБЯЗАН указать доступные методы в заголовке Allow.
  • HTTP 406 Not Acceptable — «Неприемлемо». На сервере нет контента, который отвечает указанным в заголовках запроса характеристикам.
  • HTTP 407 Proxy Authentication Required — «Необходима аутентификация для прокси». У этого кода такая же логика, что и у 401 Unauthorized, но в этом случае клиент должен авторизоваться для использования прокси.
  • HTTP 408 Request Timeout — «Истекло время ожидания ответа на запрос». Сервер не получил запрос полностью в течение максимально допустимого для этого времени. Такой код может возникнуть при передаче данных большого объёма методом PUT или POST.
  • HTTP 409 Conflict — «Конфликт». Сервер не смог обработать запрос из-за того что содержимое этого запроса вступило в конфликт с параметрами сервера. Такое может случиться, если два клиента одновременно пытаются изменить ресурс при помощи метода PUT.
  • HTTP 410 Gone — «Удалено». Запрос не может быть обработан, потому что ресурс был удалён. Новое расположение ресурса при этом неизвестно.
  • HTTP 411 Length Required — «Требуется значение заголовка Content-Length». Сервер отказывается обрабатывать запрос, пока в его заголовках не будет указано значение в поле Content-Length.
  • HTTP 412 Precondition Failed — «Невыполнимые условия запроса». Сервер не может обработать запрос, потому что в его заголовках указано условие, которое не может быть выполнено.
  • HTTP 413 Payload Too Large — «Слишком большое тело запроса». Тело запроса превышает максимально допустимый размер, который сервер может принять.
  • HTTP 414 URI Too Long — «Слишком длинный URI». URI превышает максимально допустимую длину. Такое может случиться, если выбран неправильный метод (GET вместо POST).
  • HTTP 415 Unsupported Media Type — «Неподдерживаемый медиа формат данных». Сервер отказывается обработать запрос, потому что его содержимое содержит данные в недопустимом для такого метода формате.
  • HTTP 416 Range Not Satisfiable — «Диапазон не может быть выполнен». В поле Range указан недопустимый для ресурса диапазон.
  • HTTP 417 Expectation Failed — «Недопустимое значение поля Expect». Сервер не может выполнить условие в поле Expect в заголовках запроса.
  • HTTP 418 I’m a teapot — «Я чайник». Сообщение, которое должен отправлять чайник для заварки чая, если на нём пытаются заварить кофе. Этот код ошибки был введён в качестве первоапрельской шутки в 1998 году.
  • HTTP 422 Unprocessable Entity — «Необрабатываемый запрос». Синтаксис запроса правильный, но из-за логической ошибки сервер не может его выполнить. Такой код ошибки может возникнуть, если запрос содержит XML-документ с логической ошибкой.
  • HTTP 423 Locked — «Заблокировано». Запрашиваемый ресурс заблокирован для запросов с таким методом.
  • HTTP 424 Failed Dependency — «Невыполненная зависимость». Сервер не смог выполнить запрос, потому что запрашиваемое в нём действие зависело от другого действия, и оно не сработало.
  • HTTP 426 Upgrade Required — «Необходимо обновить протокол». Сервер отказывается обрабатывать запрос, используя текущий протокол, но может сделать это после перехода на его другую версию. Сервер ОБЯЗАН указать в заголовках ответа требуемую версию протокола в поле Upgrade.
  • HTTP 499 Client Closed Request — «Клиент отозвал запрос». Нестандартный код для Nginx, чтобы обозначить ситуацию, в которой клиент закрыл соединение, пока Nginx обрабатывал запрос.
5xx Server Error — коды ошибок сервера
  • HTTP 500 Internal Server Error — «Внутренняя ошибка сервера». Сервер столкнулся с непредвиденной ошибкой во время обработки запроса.
  • HTTP 501 Not Implemented — «Не реализовано». Сервер не поддерживает функционал, который необходим для обработки запроса.
  • HTTP 502 Bad Gateway — «Неверный шлюз». Сервер получил некорректный ответ от вышестоящего сервера.
  • HTTP 503 Service Unavailable — «Сервис недоступен». Сервер недоступен, потому что перегружен или на нём проводятся технические работы.
  • HTTP 504 Gateway Timeout — «Шлюз не отвечает». Сервер не получил своевременного ответа от вышестоящего сервера и закрыл соединение.
  • HTTP 505 HTTP Version Not Supported — «Версия HTTP не поддерживается». Сервер не поддерживает версию HTTP, которая указана в заголовках запроса.
  • HTTP 507 Insufficient Storage — «Недостаточно места». Сервер не может выполнить запрос, потому что на нём недостаточно свободного места, чтобы сохранить необходимые для выполнения запроса данные.
  • HTTP 508 Loop Detected — «Обнаружено бесконечное перенаправление». Сервер отменил выполнение операции, поскольку обнаружил бесконечный редирект при обработке запроса с параметром Depth: infinity.
  • HTTP 509 Bandwidth Limit Exceeded — «Исчерпана пропускная способность канала». Сайт исчерпал лимит по использованию трафика на хостинге. Этот код ошибки HTTP не описан в RFC и единственное ПО, которое его использует, это модуль bw/limited, который входит в панель управления хостингом cPanel.

Дополнительная информация

Описания основных кодов состояния HTTP можно посмотреть в официальных документах RFC.

Некоторые HTTP коды описаны в других собственных версиях RFC: код 103, коды 207, 304, 412, 422 – 424, 507, код 308, коды 401 и 407, коды 406 и 418, код 416, код 508.

Стабильный хостинг с поддержкой 24/7

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

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

Помогла ли эта статья решить вашу проблему?

Ваш ответ поможет улучшить статьи в будущем.

Http коды ответа сервера, 301 и 302 редиректы и файл htaccess — простыми словами о том, что мешает раскрутке вашего сайта

Обновлено 11 января 2021 Просмотров: 87134 Автор: Дмитрий Петров
  1. Http запросы — что ваш сервер отвечает поисковикам
  2. Http коды ответа сервера и их влияние на продвижение
  3. Как тупой сервер может запороть ваше умное SEO
  4. Как сделать переадресацию с одно URL на другой?
  5. Как устроены веб-сервера?
  6. Управление сервером Apache с помощью .htaccess
  7. 301 редирект в .htaccess

Здравствуйте, уважаемые читатели блога KtoNaNovenkogo.ru. Чуть ранее мы успели с вами поговорить о зеркалах, дублях страниц и их удалении.

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

Казалось бы, что язык Http запросов и ответов сервера (сервер — это ПО на хостинге) настолько далек от SEO, что тратить время на понимание его принципов будет чудовищным расточительством. Однако, это не так.

Многие вещи, не заметные при беглом взгляде через браузер, могут оказывать колоссальное влияние на продвижение вашего сайта (вплоть до его полного выпадания из индекса). Увидеть все эти недочеты можно, только поняв, где и что именно нужно смотреть.

Http запросы — как поисковый робот общается с сервером

Теперь для продолжения разговора на тему, нам нужно будет посмотреть в стороны работы браузеров. Я уже довольно подробно писал, что такое браузер, но если говорить кратко, то это программа для просмотра Html страниц, загруженных из интернета. Но нас сейчас интересует конкретный вопрос: как происходит взаимодействие браузера и сайта?

Браузер (поисковый бот) и сервер общаются по протоколу Http

После того, как вы ввели Урл в адресную строку браузера (или, что то же самое, перешли по ссылке, или открыли закладку), он обращается к упомянутому выше DNS серверу (ближайшему), чтобы тот сообщил браузеру IP адрес, соответствующий введенному доменному имени сайта.

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

В DNS серверах хранятся таблицы соответствия доменов и соответствующих им IP адресов серверов (компьютеров, всегда подключенных к интернету), где физически размещаются файлы сайтов. Получив искомый IP адрес, браузер делает HTTP запрос к серверу с этим адресом.

Для передачи данных в таком запросе могут использоваться два метода: Get или Post. В обычных случаях используется Get, и если утрировать, то для нашего примера такой запрос может выглядеть так (указывается относительный URL адрес страницы — относительно корня сервера):

Get /papka/fail.html HTTP/1.1

Этот запрос уходит на IP адрес, полученный ранее от ДНС сервера. На сервере же установлено программное обеспечение (чаще всего Апач), которое, получив такой запрос, находит нужный файл по указанному относительному пути и отправляет его (в виде Html кода) обратно в браузер.

Браузер же, в свою очередь, этот Html код интерпретирует в веб-страницу с учетом CSS стилей, которые могли быть заданы как в самом Html коде, так и во внешнем файле стилей, который тоже будет подгружен.

А как происходит взаимодействие поискового робота с сайтом? По сути, точно так же. Робот отправляет запрос на ДНС сервер и получив IP отправляет Get запрос с указанием относительного пути до нужного ему файлика вебстраниц. Сервер запрос обрабатывает, находит файлик и отправляет ее в Html виде поисковому роботу.

Т.е. отличий фактически нет, ибо поисковый робот — это тот же самый браузер, у которого за ненадобностью отсутствует графический интерфейс (Html страницы он просто загружает, но не открывает). Кроме этого, бот не выполняет Джава-скрипты и не загружает картинки (их индексацией занимается специальных бот). Но это уже детали.

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

Почему так важно проверять HTTP заголовки запросов к вашему сайту

Посмотреть HTTP заголовок можно разными способами. Например, я использую расширение для браузера Хром под названием HTTP Headers, но подобных аналогов море.

Браузер формирует HTTP запрос типа Get, где указывается относительный путь до вебстраницы и версия данного протокола, по которой готов работать браузер (обычно это 1.1):

Get /papka/fail.html HTTP/1.1

Вот такой вот заголовок формируется браузером (он в верхней половине скриншота) при переходе на страницу моего сайта из поисковой выдачи Яндекса:

Из него можно, например, узнать, откуда был совершен переход на запрашиваемую страницу (с помощью содержащийся в поле Referer информации). Также обратите внимание на поле User Agent. Каждый браузер и каждый поисковых имеет свой собственный User Agent, по которому его можно идентифицировать на сервере.

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

Правильные ответы сервера на Http запросы — залог успешного SEO

В нижней части скриншота показан ответ сервера на HTTP запрос браузера. Именно на основании ответа сервера поисковый робот либо будет любить эту страницу, либо будет ее игнорить. На приведенном скриншоте начальная (самая важная) строка ответа сервера показана вверху под началом запроса браузера и выглядит так:

HTTP/1.1 200 ОК

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

Кроме кода, в ответе сервера можно найти и еще ряд полезной информации. Например, название программного обеспечения (в поле Server), на котором этот сервер работает (чаще всего встречается Апач, nginx или майкрософт). Тип контента (Content-Type) тоже очень важен для поискового робота, ибо он индексирует не все.

Также очень важным является поле Last-Modified. Плагин HTTP Headers его не показывает, но вы можете ввести Урл страницы в этот сервис и узнать значение Last-Modified для интересующей вас страницы любого сайта (чаще всего нужна информация именно по своему ресурсу).

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

Заголовок ответа сервера содержит еще ряд полей, после чего следует уже непосредственно Html код вебстраницы, которую и должен будет сохранить робот в случае получения правильного кода ответа (200) или в случае новой даты в поле Last-Modified для ранее проиндексированной страницы.

Http коды ответа сервера и их влияние на SEO продвижение

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

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

А какой ответ считать правильными и какие варианты вообще возможны? Давайте крупными мазками рассмотрим возможные варианты.

Коды ответа делятся по сотням, то есть, допустим, к четырехсотым ошибкам относятся 401, 402, 403. Вкратце это будет выглядеть так:

  1. Коды с двухсотыми ответами (чаще всего встречается 200 ОК) — все что запросил браузер (или поисковый бот) на сервере имеется и нет никаких преград, чтобы это было отдано (веб-страница в виде Html кода).
  2. Трехсотые коды ответа сервера — документ по запрошенному адресу временно (302 редирект) или постоянно (301 редирект) перемещен. Сервер сообщает роботу новый адрес веб-страницы, а тот в свою очередь по нему переходит.
  3. Четырехсотые ответы — ошибка в запросе, сделанном поисковым роботом или браузером (по мнению сервера, ибо своей вины он в этом не видит). Например, пытаются получить доступ к закрытой информации без авторизации (401) или к странице, доступ к которой для данного пользователя запрещен (403). Ну и, конечно же, знаменитая ошибка 404 (страница не найдена на сервере), про которую я в свое время даже отдельную стать написал.
  4. Пятисотые ответы — сервер признается (посыпая голову пеплом), что виноват в сложившейся нехорошей ситуации он сам (ошибки на стороне сервера). Он может быть перегружен в данный момент из-за высокого наплыва посетителей или в результате Ддос атаки (мне пришлось для защиты от Ddos подключить сайт к CloudFlare). Также он может зависнуть, либо не иметь возможности осуществить запросы к базе данных, ну и еще несколько наиболее частых причин могут вызвать его недоступность.

Наша задача, как вебмастеров и оптимизаторов, состоит в том, чтобы все продвигаемые страницы отдавали бы правильные коды ответа сервера (200 или, на худой конец, 301, если страница поменяла свой Урл по каким-либо причинам).

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

В статье про проверку сайта я упоминал набор общедоступных инструментов из арсенала Яндекс Вебмастера. Есть там и сервис «Проверка ответа сервера«. Вставьте в его форму любой Урл с вашего сайта и намеренно его испортите (добавьте в ту часть адреса, что содержится после доменного имени, какую-нибудь околесицу).

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

Правда, в случае WordPress может выдаваться код 301 редиректа, если вы галиматью введете в ту часть Урла, которая отвечает за рубрику (это такая особенность работы движка, позволяющая перемещать статьи между рубриками, не переживая о ручной простановке 301 редиректа — все делается автоматически самим движком).

Как тупой сервер может запороть ваше умное SEO

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

  1. На последнем скриншоте показано поле Content-Type:
    Content-Type: text/html;charset=UTF-8

    Оно говорит от том, что имеющийся на сервере документ представляет из себя Html файл в кодировке русского языка UTF-8. Правильное указание кодировки очень важно, ибо может вызвать как проблему с прочтение материалов сайта пользователями, так и сложности в ее восприятии поисковыми роботами.

    Бот просто читает содержимое charset, и если оно по каким-либо причинам будет не соответствовать реально используемой в тексте кодировке, то загруженные кракозябры, естественно, ни в индекс, ни в выдачу не попадут. Что печально, ибо в дальнейшем поисковый робот, скорее всего, уже на эту страницу заходить не будет, ибо там ничего ценного нет.
  2. Last-Modified — второй камень преткновения (из сонма http ответов веб-сервера поисковому боту), влияющий на продвижение сайта. В этом поле указывается дата изменения документа (последнего обновления информации на данной веб-странице). Робот обязательно смотри в это поле, ибо у него много работы и отвлекаться на просмотр документа, который не изменился с момента его последнего посещения, было бы глупо.

    Поисковый робот делает серверу запрос на загрузку страницы — была ли та изменена за время, прошедшее с его последнего прихода (отправляется в поле if-modified-since с датой последней загрузки документа этим роботом). Сервер сие обращение обрабатывает, и если страница с тех пор была действительно изменена (считывается Last-Modified и сравнивается с датой полученной от робота), то он отдает ее содержимое боту (и код 200 в ответ, естественно). Поисковый индексатор ее переиндексирует и будут учтены все внесенные изменения, например, добавленный контент или ссылки.

    В противном случае (когда Last-Modified не менялся) сервер отдает боту только лишь код 304. В этом случае робот со спокойной душой пойдет дальше. Проблема может заключаться в том, что страницу вы могли уже за это время десять раз изменить, но в индексе поисковика она не обновится, ибо не обновлялся Last-Modified для этого файла. CMS (движки сайтов) довольно часто этим грешат, нужно обязательно все это проверять и при необходимости настраивать. Как? Это уже другой вопрос.

    Главное, чтобы вы поняли где и что смотреть, чтобы вовремя заметить ошибку (смотрите второй из предыдущих скриншотов). Исправлять ее нужно будет уже исходя из ситуации (типа вашей CMS, типа программного обеспечения сервера и т.п.).

    Начать же можно с обращения к хостеру с просьбой помочь (бесплатно или за денежку) в решение проблемы. Для них это, как правило, не проблема. Но вы, во-первых, должны сами понять, что у вас эта проблема есть, а во-вторых, должны доходчиво объяснить ее суть администратору сервера.

301 и 302 редиректы (коды ответа сервера) их использование

Бывает, что по каким-либо причинам вы хотите поменять Урл адрес страницы. Например, как уже упоминал чуть выше, захотите перенести статью из одной рубрики в другую (при определенном алгоритме формирования ЧПУ это может повлечь за собой смену Урла). Причин изменения Урлов может быть масса (хотя бы переход с протокола http на защищенный протокол https).

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

Какой редирект использовать при смене Урл адреса страницы?

Как это сделать? В общем-то не сложно, но важно, чтобы сервер при этом выдавал правильный код ответа (301). Вариантов кода ответа для редиректа (перенаправления) при этом обычно используется два:

  1. 301 — документ был перемещен по новому адресу навсегда и в дальнейшем искать его нужно будет только там. В этом случае поисковик в выдаче заменит Урл адрес на новый и лишней переадресации потом происходить уже не будет. Кроме этого, по 301 редиректу передается ссылочный вес (в том числе и Пр), накопленный страницей (правда, не сразу и не факт, что полностью).
  2. 302 — документ был перемещен временно. В этом случае поисковик не будет заменять Урл в выдаче и переносить веса. Какое-то время назад пользоваться 302 редиректом не советовали, но точных причин этого я уже не помню (может быть вы мне напомните).

Если вы не делаете 301 редирект, а просто меняете Урл страницы, то теряете положение (позицию) в выдаче, ибо старый урл, живущий в индексе поисковика, будет отдавать 404 код ответа, а значит со временем будет удален из индекса.

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

Особенно это важно, когда переходите на новый движок сайта (или переносите разделы), т.е. когда меняются Урлы всех страниц сразу, как, например, при cмене доменного имени или переездt сайта на защищенный протокол Https.

В таких случаях обязательно нужно делать постраничный 301 редирект, иначе потеряете весь трафик на очень продолжительный период времени. Причем даже после восстановления он может вернуться не полностью. А при 301 редиректе, скорее всего, все пройдет «чинно и благородно», т.е. практически незаметно в плане снижения трафика из поисковых систем.

Вся имеющаяся внешняя ссылочная масса постепенно перетечет на новые Урлы. 301 редирект устанавливается на постоянной основе несмотря на то, что в индексе поисковика со временем старых Урлов уже не останется.

Сервера бывают разные и редиректы у них настраиваются по разному

Сервер, по сути, тот же компьютер, только в особом (серверном) исполнении. У него есть материнская плата, жесткие диски, процессор и оперативная память. Разве что только нет персонального монитора. Программное обеспечение на него ставится тоже серверное.

Виндовс на веб-серверах используется не часто, ибо эта ОС стоит денег, в то время как большинство аналогов из мира Линукса бесплатны (Debian, CentOS, Ubuntu и другие) — вот они и получили наибольшую популярность.

Но одной операционной системы для работы сервера не достаточно. В ОС устанавливается специальное программное обеспечение, среди которых основной программой является веб-сервер.

Самой популярной из таких программ является Apache (более трех четвертей серверов с сайтами в интернете работают на ней), ибо она бесплатная, постоянно обновляемая, хорошо оттестированная и имеющая большое количество расширений.

Перед Apache иногда ставят еще и Nginx (как и в случае с этим блогом), который является прокси сервером. Это, кстати, отечественная разработка, постепенно завоевывающая весь мир.

Кроме программы веб-сервера устанавливаются еще и интерпретаторы различных языков серверного программирования. Многие CMS написаны на PHP (Joomla, WordPress) и без интерпретатора этого языка работать не будут, но также имеются и другие.

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

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

Особенностью работы с подобными средами является то, что:

  1. У файлов в вебе нет расширений (об этом мы упоминали при разговоре про зеркала). Все, что пытаются изобразить, добавляя через точку к Урлам страниц (типа .html и т.п.), является просто следованием традициям, а точнее привычкам «чайников», коих в интернете около девяносто процентов (включая меня).
  2. Второй особенностью серверных программ является способ их управления, который кардинально отличается от того, к чему мы привыкли в Виндовс. Это не какие-то графические меню, а конфигурационные файлы, в которых прописаны определенные параметры и инструкции для исполнения.

htaccess — файл облегчающий управление сервером Apache

У веб-сервера Apache основной конфигурационный файл называется httpd.conf. Однако, если в нем прописана разрешающая директива, то для каждого каталога сайта на вашем сервере можно будет использовать дополнительный файл конфигурации .htaccess.

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

Однако, если разместите файл .htaccess в корне, то его действие распространится на весь ваш сайт. Этот способ конфигурирования Apache удобен тем, что доступ к .htaccess, лежащему в корне сайта, можно получить по обычному ФТП соединению с помощью любого ФТП клиента. Редактировать же его можно в любом текстовом или Html редакторе (в том числе и в онлайн редакторе).

Если у вас в корневой директории .htaccess нет, то просто создайте у себя на компьютере пустой текстовый файл и сохраните его без расширения и с точкой перед названием htaccess. После этого подключитесь к сайту по ФТП и скопируйте данный пустой файлик в корневую папку. Потом по мере необходимости открывайте его и вносите нужные вам инструкции, которые с превеликим удовольствие выполнит веб-сервер Apache.

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

Что же именно можно прописывать в .htaccess? Очень много всего, и для полного и самостоятельного понимания сути вам придется окунуться в мир администрирования серверов и программирования (см. статью про волшебный файл .htaccess). Очень часто в таких записях встречаются так называемые «регулярные выражения», которые позволяют точечно применять прописанные директивы.

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

Хорошим примером может служить склейка зеркал через 301 редирект, описанная в статье по приведенной ссылке или же в первой части данной публикации. Также с помощью записей в .htaccess мы:

  1. Включали Gzip сжатие для ускорения загрузки сайта
  2. Запрещали хотлинкинг (hotlink) в Apache
  3. Настраивали корректную работу вашей RSS ленты при трансляции ее через Фидбернер

Настраиваем 301 редирект через файл .htaccess

Напомню, что сегодня мы говорим про ответы сервера и 301 редирект, который является абсолютно необходимой вещью при смены Урла одной страницы или переносе всего сайта на новый домен, переезде на Https или при склейке зеркал. Этот самый редирект чаще всего реализуются именно с помощью файла .htaccess (если сайт работает на сервере Apache. Давайте посмотрим примеры его реализации.

Для перенаправления с одного Урла на другой будет достаточно добавления в .htaccess такой вот строчки:

Redirect 301 /old-page.html http://new-domain.ru/new-page.html

В директиве Redirect обозначения старой страницы (с которой идет переадресация) используется относительный адрес (ибо редирект по-любому будет выполняться на этом сайте), а для нового Урла — абсолютный (ибо можно сделать редирект и на страницу другого сайта). Кстати, вместо директивы Redirect 301 можно использовать RedirectPermanent или Redirect permanent.

Если идет переадресация в пределах одного домена, то можно использовать в обоих случаях относительные адреса. Вот реальный пример из .htaccess, живущего в корневой папке моего блога (между двумя адресами ставится пробел):

Redirect 301 /joomla/joomla-3-professionalnyj-sajt-za-odin-den.html /videokursy

Однако, если вам нужно сделать постраничный редирект (например, для смены расширения страниц сайта с .html на .php или еще что-то, что позволяет не прописывать отдельные строки 310 редиректа для каждой страницы), то гораздо удобнее использовать регулярные выражения. Такой способ называют пакетным редиректом.

Для этого используется уже директива RedirectMatch, в которой допускается использование регулярных выражений. Например, для смены окончаний страниц .html на .php можно использовать такой вот код:

RedirectMatch 301 (.*)\.html$ http://www.yourdomain.ru$1.php

Чпу (человекопонятные ссылки) на сайтах многих CMS тоже реализуются с помощью подобных редиректов. Ну и, конечно же, та самая склейка зеркал, возникающая из-за WWW, тоже происходит за счет 301 редиректа (с использованием возможностей модуля mod_rewrite веб-сервера Apache):

Редирект на WWW:

Options +FollowSymLinks
 RewriteEngine On
 RewriteCond %{HTTP_HOST} ^www.(.*)$ http://domain.ru/$1 [R=301,L]

Кроме возможностей дополнительного файла конфигурирования Apache (.htaccess) для создания редиректов используют и другие методы, реализованные на возможностях различных языков программирования (PHP, Javascript и других). Даже средствами Html возможно сделать перенаправление (правда, не знаю, как это будет восприниматься поисковиками). Об этом я писал в статье про то, как можно скрыть партнерскую ссылку.

Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru

Коды ответов протокола HTTP — Раздел помощи

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

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

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

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

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

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

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

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

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

  1. Зайти на нужный сайт
  2. Нажать на кнопку F12 на клавиатуре, в открывшихся инструментах перейти на вкладку «Network»
  3. Обновить страницу

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

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

200 OK — запрос был выполнен успешно.

403 Forbidden (Запрещено) — сервер понял запрос, но отказывается выполнять его. Установление подлинности (Authorization) не поможет, и запрос не должен быть повторен. Ошибка 403 может возникать, когда доступ к ресурсу запрещён с определённого IP-адреса или всех адресов, либо в папке сайта отсутствует индексный файл.

404 Not Found (Не найден) — сервер не нашел ничего, соответствующего данному запрашиваемому URI (Universal Resource Identifier). Страница может быть не найдена вследствие некорректных настроек файла .htaccess или в случае фактического отсутствия искомой страницы на сайте.

500 Internal Server Error (Внутренняя ошибка сервера) — сервер столкнулся с непредвиденным условием, которое не позволяет ему выполнить запрос. Ошибка 500 является следствием невозможности запуска скрипта, а также возникает в случае синтаксических или иных ошибок в скрипте или присутствия некорректных записей в файле .htaccess.

502 Bad Gateway (Ошибка шлюза) — сервер, действуя в качестве шлюза или прокси-сервера, получил недопустимый ответ от следующего сервера в цепочке запросов, к которому обратился при попытке выполнить запрос. В случае, если используется связка apache+nginx, проксирующим сервером является nginx. Данная ошибка может появиться в случае, если работающий процесс пытается потребить больше ресурсов, чем доступно в рамках услуги виртуального хостинга, в этом случае ему посылается сигнал завершения и возвращается результат запроса 502.

503 Service Unavailable (Сервис недоступен) — сервер в настоящее время не способен обработать запрос из-за временной перегрузки или обслуживания сервера. Причина возникновения 503 Service Unavailable как правило, кроется в превышении лимита на количество одновременно запущенных процессов на аккаунте. На тарифах виртуального хостинга, согласно п. 2.12 Договора оферты, данный лимит составляет 64 процесса.

504 Gateway Timeout (Истекло время ожидания от шлюза) — сервер, действуя в качестве шлюза или прокси-сервера, не получил своевременного ответа от следующего сервера в цепочке запросов, к которому обратился при попытке выполнить запрос. В связке apache+nginx nginx выполняет роль прокси-сервера, и в случае, если он не дожидается ответа от apache, он отдаёт код 504. Также 504 Bad Gateway возникает, если исполняемый скрипт не может отработать в установленный лимит времени. Это возможно решить увеличением параметра max_execution_time или оптимизировать скрипт, при работе которого возникает ошибка.

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

100 Continue (Продолжать) — клиент может продолжать запрос, а если запрос отправлен, то игнорировать отклик. Сервер должен послать окончательный отклик по завершении реализации запроса.

101 Switching Protocols (Переключение протоколов) — сервер принял и понял запрос клиента на переключение на модифицированный протокол. Сервер переходит на протокол, определенный в поле заголовка отклика Upgrade, немедленно после получения пустой строки, завершающей отклик 101.

201 Created (создан) — запрос был выполнен и в результате был создан новый ресурс.

202 Accepted (Принято) — запрос был принят для обработки, но обработка не была завершена. В конечном счете запрос может быть, а может и не быть выполнен, поскольку он может быть отвергнут при фактической обработке.

203 Non-Authoritative Information (Ненадёжная информация) — присылаемая в ответ метаинформация в заголовке объекта не идентифицируется, как полученная от исходного сервера, её следует скорее считать косвенной, полученной опосредованно.

204 No Content (нет содержимого) — сервер выполнил запрос, но нет никакой новой информации, которую можно послать обратно.

205 Reset Content (сбросить содержимое) — Сервер исполнил запрос и агент пользователя должен вернуть документ к виду, который он имел в момент посылки запроса. Этот отклик первоначально предназначался для обеспечения ввода при выполнении пользователем операции, за которой следует очистка формы, в которую произведен ввод, так что пользователь может начать другую операцию ввода.

206 Partial Content (Частичное содержимое) — сервер выполнил частичный GET запрос ресурса.

300 Multiple Choices (Множественный выбор) — запрошенный ресурс имеет несколько представлений, и можно использовать любое из перечисленных.Агент пользователя выбирает предпочтительное представление и перенаправляет запрос ему.

301 Moved Permanently (Постоянно перенесен) — запрошенному ресурсу был назначен новый постоянный URI, и любые будущие ссылки на этот ресурс следует выполнять, используя один из возвращенных URI.

302 Moved Temporarily (Временно перемещен) — запрошенный ресурс временно находится под другим URI.

303 See Other (Смотреть другой) — ответ на запрос может быть найден под другим URI и его следует запрашивать, используя метод GET для этого ресурса.

304 Not Modified (Не модифицирован) — если клиент выполнил условный GET запрос, и доступ разрешен, но документ не изменился, то серверу следует ответить, используя этот код состояния.

305 Use Proxy (Используйте прокси-сервер) — обращение к запрошенному ресурсу должно производиться через прокси-сервер, указанный в поле Location. В поле Location указан URL прокси-сервера.

400 Bad Request (Испорченный Запрос) — запрос не может быть понят сервером из-за ошибки синтаксиса.

401 Unauthorized (Несанкционированно) — запрос требует установления подлинности пользователя.

402 Payment Required (Требуется оплата) — этот код зарезервирован для будущего использования.

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

406 Not Acceptable (Не приемлем) — ресурс, определенный запросом, может генерировать только ответ, характеристики которого не соответствуют заголовкам, посланным в запросе.

407 Proxy Authentication Required (Требуется установление подлинности через прокси-сервер) — этот код подобен коду 401, но указывает, что клиент должен сначала установить свою подлинность (authenticate) прокси-серверу.

408 Request Timeout (Истекло время ожидания запроса) — клиент не произвел запрос в течение времени, которое сервер готов ждать.

409 Conflict (Конфликт) — запрос не был выполнен из-за конфликта с текущим состоянием ресурса, конфликты, наиболее вероятно, будут возникать в ответ на запрос PUT.

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

411 Length Required (Требуется длина) — cервер отказывается принимать запрос с неопределенным Content-Length.

412 Precondition Failed (Предусловие неверно) — предусловие, представленное одним или несколькими полями заголовка запроса (request-header), оказалось ложным при проверке сервером.

413 Request Entity Too Large (Объект запроса слишком большой) — сервер отказывается обрабатывать запрос, потому что объект запроса больше, чем сервер желает или способен обработать.

414 Request-URI Too Long (URI запроса слишком длинный) — сервер отказывается обслуживать запрос, потому что запрашиваемый URI (Request-URI) длиннее, чем сервер желает интерпретировать.

415 Unsupported Media Type (Неподдерживаемый медиа тип) — сервер отказывается обслуживать запрос, потому что объект запроса находится в формате, не поддерживаемом запрошенным ресурсом для запрошенного метода.

501 Not Implemented (Не реализовано) — сервер не поддерживает функциональные возможности, требуемые для выполнения запроса.

505 HTTP Version Not Supported (Не поддерживаемая версия HTTP) — сервер не поддерживает, или отказывается поддерживать, версию HTTP протокола, которая используется в сообщении запроса.

Коды ошибок HTTP

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

Включаемые в ответ 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. Это может быть связано с ошибками конфигурации в сетевом брандмауэре, маршрутизаторе или другом сетевом шлюзе.

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

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

Вадим Дворниковавтор-переводчик статьи «HTTP Error and Status Codes Explained»

Коды ответов (ошибок) HTTP сервера: публикации CASTCOM

При любом HTTP запросе сервер сначала возвращает код ответа на HTML запрос. Проанализировав этот ответ можно сделать вывод о том, был ли запрос выполнен успешно, или в процессе обработки запроса произошла ошибка.

Коды ответа HTTP сервера могут принадлежать следующим группам:

  • 1xx — Информационный ответ
  • 2xx — Успешная обработка запроса
  • 3xx — Переадресация (редирект)
  • 4xx — Неполный запрос к серверу
  • 5xx — При обработке запроса произошла ошибка

Естественно, что кодов ответа в каждой группе не по 100. Браузер (клиент IE, Opera, Mozilla и т.д.), получая от сервера тот или иной код, сам решает как его интерпретировать. Если код клиенту неизвестен, то как минимум он может определить диапазон кода и повести себя соответствующим образом.

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

Информационные ответы

100 Continue
Часть запроса принята. Как правило это занчит, что можно отправлять следующую часть запроса.

101 Switching Protocols
Сервер производит переключение протоколов в соответствии с заголовком Upgrade.

Успешная обработка запроса

200 OK
Запрос обработан успешно.

201 Created
Данный код используется когда происходит создание нового URI. Вместе с кодом сервер посылает заголовок Location с адресом нового URI.

202 Accepted
Запрос принят и обрабатывается. В теле ответа как правило содержится дополнительная информация.

203 Non-Authoritative Information
Ответ означает, что информация получена из ненадежного источника (например, с другого сервера).

204 No Content
Запрос обработан, но в ответ ничего не возвращается. Как правило используется если в ответ на запрос не нужно обновлять содержимое документа.

205 Reset Content
Означает, что содержимое документа должно быть сброшено в начальное состояние. Обычно используется при очистке форм ввода данных..

206 Partial Content
При данном ответе возвращается лишь часть данных. Обычно используется если клиент запросил часть данных с использованием заголовка Range.

Переадресация

300 Multiple Choices
Означает, что существует несколько вариантов запрашиваемой страницы. Например, сайт, переведенный на несколько языков.

301 Moved Permanently
Данный ответ означает, что данный документ был перемещен и клиенту следует изменить все ссылки на данный документ его новым местоположением.

302 Moved Temporarily
Документ временно перемещен в другое место.

303 See Other
Данный документ можно найте по другим ссылкам. Список ссылок передан в теле ответа.

304 Not Modified
Данный код ответа возвращается если был запрос lf-Modified-Since, и документ не изменялся с указанной даты.

305 Use Proxy
Доступ к документу должен осуществляться через proxy-сервер, адрес которого указан в Location.

Неполные запросы клиента

400 Bad Request
Ошибка в строке запроса.

401 Unauthorized
Ответ означает, что пользователь не имеет достаточных прав для просмотра документа.

402 Payment Required
Данный код зарезервирован на будущее. Видимо будет означать, что запрошенный документ является платным ресурсом.

403 Forbidden
Запрос не будет выполнен по какой-либо причине.

404 Not Found
Запрашиваемого документа нет на сервере.

405 Method Not Allowed
Означает, что метод, используемый клиентом, не поддерживается.

406 Not Acceptable
Ресурс существует, но не в той форме, что клиент запросил. Например, может различаться язык документа.

407 Proxy Authentication Required
Для Proxy-сервера необходима авторизация.

408 Request Time-out
Сервер разорвал соединение из-за превышенного таймаута.

409 Conflict
Запрос конфликтует с другим запросом.

410 Gone
Данный код означает, что документ был удален с сервера.

411 Length Required
Пропущено необходимое поле в заголовке запроса Content-Length.

412 Precondition Failed
Условие указанное в заголовке не выполняется.

413 Request Entity Too Large
Слишком большое тело запроса.

414 Request-URI Too Long
Слишком длинный URI в запросе.

415 Unsupported Media Type
Сервер не поддерживает указанный формат данных.

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

500 Internal Server Error
Внутренняя ошибка сервера. Например, ошибка при выполнении скрипта.

501 Not Implemented
Недопустимое действие.

502 Bad Gateway
Недопустимый ответ с другого ресурса.

503 Service Unavailable
Данный код означает, что указанный сервис временно недоступен.

504 Gateway Time-out
Превышен таймаут ожидания от другого ресурса

505 HTTP Version not supported
Данная версия протокола HTTP не поддерживается сервером.

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

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

1992 г.

Это исторический документ, и он больше не точен. Для актуальные сведения о спецификации HTTP, см. последние Черновики HTTP / 1.1

Значения числового кода состояния для HTTP-запросы выглядят следующим образом. Данные могут использоваться разделы сообщений Error, Forward и Redirection. содержать понятную для человека диагностическую информацию.

Успех 2xx

Эти коды указывают на успех.Раздел body, если он присутствует, является возвращаемым объектом по запросу. Это объект формата MIME. Он находится в формате MIME, и может быть только в формате text / plain, text / html или в одном из форматов, указанных как приемлемые в запросе.

ОК 200

Запрос был выполнен.

СОЗДАН 201

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

Принято 202

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

Неполная информация 203

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

Нет ответа 204

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

Ошибка 4xx, 5xx

Коды 4xx предназначены для случаев, когда клиент ошибся, и коды 5xx для случаев, когда сервер знает, что сервер ошибся. Различить эти случаи в целом невозможно, поэтому разница только информационная.

Раздел body может содержать документ, описывающий ошибку в удобочитаемом форма. Документ в MIME формат и может быть только в текстовом / обычном, текстовом / html или одном из указанных форматов как приемлемо в запросе.

Плохой запрос 400

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

Несанкционированный 401

Параметр этого сообщения дает описание схем авторизации. которые приемлемы.Клиент должен повторить запрос с подходящим Заголовок авторизации.

Требуется оплата 402

Параметр этого сообщения дает описание схем начисления платы. приемлемо. Клиент может повторить запрос с подходящим заголовком ChargeTo.

Запрещено 403

Просьба о чем-то запрещенном. Авторизация не поможет.

Не найдено 404

Сервер не нашел ничего, соответствующего указанному URI

Внутренняя ошибка 500

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

Не выполнено 501

Сервер не поддерживает требуемое средство.

Сервис временно перегружен 502 (ОБСУЖДЕНИЕ)

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

Тайм-аут шлюза 503 (ПОДЛЕЖИТ ОБСУЖДЕНИЮ)

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

Примечание: Коды 502 и 503 являются новыми и будут обсуждаться в сентябре. 19 января 1994 г.

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

Перемещено 301

Запрошенным данным был назначен новый URI, изменение является постоянным.(N.B. это оптимизация, которая прагматично должна быть включена в это определение. Браузеры с возможностью редактирования ссылок должны автоматически по возможности повторно ссылаться на новую ссылку)

Ответ содержит одну или несколько строк заголовка в форме

 URI:  String CrLf

 

Которые указывают альтернативные адреса для рассматриваемого объекта. Струна — необязательное поле для комментариев. Если в ответе указать набор вариантов каждый из которых соответствует запрошенному URI, затем составная / альтернативная упаковка может использоваться для различения разных наборов

Найдено 302

Запрошенные данные фактически находятся под другим URL-адресом, однако перенаправление может быть изменено (при создании ссылок на такие документа, браузер должен по умолчанию использовать Udi перенаправления документ, но есть возможность ссылки на окончательный документ) как для «Вперед».

Формат ответа такой же, как и для «Перемещено». .

Метод 303.

 Метод:  
секция тела
 

Примечание: Этот код состояния необходимо указать более подробно. Для на данный момент это только для обсуждения.

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

Раздел body содержит параметры, которые будут использоваться для метода.Этот позволяет документу быть указателем на сложную операцию запроса.

Телу могут предшествовать следующие дополнительные поля как указано.

Не изменено 304

Если клиент выполнил условный GET и доступ разрешен, но документ не был изменен с даты и времени, указанных в If-Modified-Since поле, сервер отвечает кодом состояния 304 и не отправляет документ тело клиенту.

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

Цель этой функции — обеспечить эффективное обновление локального кеша. информация (включая соответствующую метаинформацию) без дополнительных затрат нескольких HTTP-запросов (например, HEAD, за которым следует GET) и минимизация передача информации, уже известной запрашивающему клиенту (обычно кеширующий прокси).

Полное руководство и список кодов ошибок

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

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

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

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

Давайте нырнем!

Хотите посмотреть видео версию?

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

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

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

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

Обычно ошибка отображается в браузере только тогда, когда что-то идет не так. Это способ сказать серверу: «Что-то не так. Вот код, объясняющий, что пошло не так.”

Google 404 Код статуса HTTP

Если вы хотите видеть коды состояния, которые ваш браузер обычно не отображает, существует множество различных инструментов, которые упростят эту задачу. Расширения браузера доступны для удобных для разработчиков платформ, таких как Chrome и Firefox, и существует множество веб-инструментов для извлечения заголовков, таких как Web Sniffer.

Чтобы просмотреть коды состояния HTTP с помощью одного из этих инструментов, найдите строку в верхней части отчета с надписью «Состояние: HTTP / 1.1». За этим последует код состояния, возвращенный сервером.

Общие сведения о классах кода состояния HTTP

Коды статуса

HTTP делятся на 5 «классов». Это группы ответов, которые имеют схожие или связанные значения. Знание того, что они собой представляют, может помочь вам быстро определить общее содержание кода состояния , прежде чем вы начнете искать его конкретное значение.

Пять классов включают:

  • 100s: Информационные коды, указывающие, что запрос, инициированный браузером, продолжается.
  • 200s: Коды успеха возвращены, когда запрос браузера был получен, понят и обработан сервером.
  • 300s: Коды перенаправления возвращаются, когда новый ресурс заменен запрошенным.
  • 400s: Коды ошибок клиента, указывающие на проблему с запросом.
  • 500s: Коды ошибок сервера, указывающие, что запрос был принят, но ошибка на сервере помешала его выполнению.

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

Почему коды статуса и ошибки HTTP имеют значение для поисковой оптимизации (SEO)

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

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

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

Подпишитесь на информационный бюллетень

Хотите узнать, как мы увеличили наш трафик более чем на 1000%?

Присоединяйтесь к 20 000+ другим пользователям, которые получают нашу еженедельную новостную рассылку с инсайдерскими советами по WordPress!

Подпишитесь сейчас

300-уровневые коды имеют несколько более сложные отношения с SEO. Главное, что вам нужно знать, чтобы понять их влияние, — это разница между постоянной и временной переадресацией, о которой мы расскажем более подробно в соответствующем разделе ниже.

Вкратце, однако, постоянные перенаправления из обратных ссылок перенаправляют долю ссылок, а временные — нет. Другими словами, когда вы используете временную переадресацию для перемещенных страниц, вы теряете преимущество SEO, связанное с построением всех ссылок, которые вы сделали.

Проверка кодов состояния HTTP в консоли поиска Google

Один из способов отслеживать, как Google воспринимает коды состояния HTTP на вашем сайте, — использовать Google Search Console. Вы можете просмотреть коды состояния на уровне 300, 400 и 500 в отчете Покрытие :

Отчет об охвате Google Search Console

В этой области панели инструментов отображаются четыре типа контента на вашем сайте:

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

Вы можете найти страницы с кодами состояния HTTP 300, 400 и 500 в разделах Excluded , Error или Valid with warnings разделов, в зависимости от типа кода. Например, переадресация 301 может быть указана в списке исключено как страница с переадресацией :

Страница с переадресацией в отчете об охвате Google Search Console.

Коды состояния с 400 и 500 уровнями, скорее всего, появятся под ошибкой .

Другой способ просмотреть коды состояния HTTP — использовать инструмент URL Inspection . Если Google не может проиндексировать конкретную страницу из-за ошибки, вы увидите это здесь:

Ошибка 404 в инструменте проверки URL в Google Search Console.

Дополнительные советы по использованию Google Search Console см. В нашем подробном руководстве по платформе.

Полное руководство и список кодов состояния HTTP

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

100 кодов состояния

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

  • 100: «Продолжить». Это означает, что рассматриваемый сервер получил заголовки запроса вашего браузера и теперь готов к отправке тела запроса.Это делает процесс запроса более эффективным, поскольку не позволяет браузеру отправлять запрос тела, даже если заголовки были отклонены.
  • 101: «Протоколы переключения». Ваш браузер попросил сервер изменить протоколы, и сервер выполнил.
  • 103: «Ранние намеки». Это возвращает некоторые заголовки ответа до того, как остальная часть ответа сервера будет готова.

200 кодов состояния

Это лучший вид кода состояния HTTP для получения.Ответ на 200 уровней означает, что все работает именно так, как должно.

  • 200: «Все в порядке». Это код, который доставляется, когда веб-страница или ресурс действуют именно так, как от них ожидается.
  • 201: «Создано». Сервер выполнил запрос браузера и в результате создал новый ресурс.
  • 202: «Принято». Сервер принял запрос вашего браузера, но все еще обрабатывает его. Запрос в конечном итоге может привести или не привести к завершенному ответу.
  • 203: «Неавторизованная информация». Этот код состояния может появиться, когда прокси-сервер используется. Это означает, что прокси-сервер получил код состояния 200 «Все в порядке» от исходного сервера, но изменил ответ, прежде чем передать его в ваш браузер.
  • 204: «Нет содержимого». Этот код означает, что сервер успешно обработал запрос, но не собирается возвращать какой-либо контент.
  • 205: «Сбросить содержимое.Как и код 204, это означает, что сервер обработал запрос, но не собирается возвращать какой-либо контент. Однако для этого также требуется, чтобы ваш браузер сбрасывал представление документа.
  • 206: «Частичное содержимое». Вы можете увидеть этот код состояния, если ваш HTTP-клиент (также известный как ваш браузер) использует «заголовки диапазона». Это позволяет вашему браузеру возобновлять приостановленные загрузки, а также разделять загрузку на несколько потоков. Код 206 отправляется, когда заголовок диапазона заставляет сервер отправлять только часть запрошенного ресурса.

300 кодов состояния

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

  • 300: «Множественный выбор». Иногда может быть несколько возможных ресурсов, которыми сервер может ответить для выполнения запроса вашего браузера. Код состояния 300 означает, что теперь вашему браузеру необходимо выбрать между ними.Это может произойти, когда доступно несколько расширений типов файлов или если сервер испытывает неоднозначность смысла слов.
  • 301: «Запрошенный ресурс был перемещен навсегда». Этот код доставляется, когда веб-страница или ресурс постоянно заменяются другим ресурсом. Он используется для постоянного перенаправления URL-адресов.
  • 302: «Запрошенный ресурс перемещен, но найден». Этот код используется, чтобы указать, что запрошенный ресурс был найден, но не в том месте, где он ожидался.Он используется для временного перенаправления URL-адресов.
  • 303: «См. Другое». Для понимания кода состояния 303 необходимо знать разницу между четырьмя основными методами HTTP-запроса. По сути, код 303 сообщает вашему браузеру, что он нашел ресурс, запрошенный вашим браузером с помощью POST, PUT или DELETE. Однако, чтобы получить его с помощью GET, вам необходимо сделать соответствующий запрос на другой URL-адрес, отличный от того, который вы использовали ранее.
  • 304: «Запрошенный ресурс не изменялся с момента последнего обращения к нему.Этот код сообщает браузеру, что ресурсы, хранящиеся в кеше браузера, не изменились. Он используется для ускорения доставки веб-страниц за счет повторного использования ранее загруженных ресурсов.
  • 307: «Временное перенаправление». Этот код состояния заменил 302 «Найдено» как соответствующее действие, когда ресурс был временно перемещен на другой URL-адрес. В отличие от кода состояния 302, он не позволяет изменять метод HTTP.
  • 308: «Постоянное перенаправление». Код состояния 308 является преемником кода 301 «Перемещен навсегда».Он не позволяет изменять метод HTTP и указывает, что запрошенный ресурс теперь постоянно находится по новому URL-адресу.

400 кодов состояния

На уровне 400 коды состояния HTTP начинают вызывать проблемы. Это коды ошибок, указывающие на неисправность вашего браузера и / или запроса.

  • 400: «Неверный запрос». Сервер не может вернуть ответ из-за ошибки на стороне клиента. См. Наше руководство по устранению этой ошибки.
  • 401: «Неавторизовано» или «Требуется авторизация.Это возвращается сервером, когда у целевого ресурса отсутствуют действительные учетные данные для аутентификации. Вы можете увидеть это, если настроили базовую HTTP-аутентификацию с помощью htpasswd.

Ошибка авторизации Nginx 401 в Chrome

  • 402: «Требуется оплата». Первоначально этот код создавался для использования в составе системы электронных денег. Однако этот план так и не был реализован. Вместо этого он используется различными платформами, чтобы указать, что запрос не может быть выполнен, обычно из-за нехватки необходимых средств.Общие примеры включают:
  • 403: «Доступ к этому ресурсу запрещен». Этот код возвращается, когда пользователь пытается получить доступ к тому, что у него нет разрешения на просмотр. Например, попытка получить доступ к защищенному паролем содержимому без входа в систему может привести к ошибке 403.
  • 404: «Запрошенный ресурс не найден». Это наиболее частое сообщение об ошибке из всех. Этот код означает, что запрошенный ресурс не существует, и сервер не знает, существовал ли он когда-либо.
  • 405: «Метод запрещен». Он создается, когда хост-сервер (исходный сервер) поддерживает полученный метод, а целевой ресурс — нет.
  • 406: «Неприемлемый ответ». Запрошенный ресурс может генерировать только контент, который неприемлем в соответствии с заголовками принятия, отправленными в запросе.
  • 407: «Требуется проверка подлинности прокси». Прокси-сервер используется и требует, чтобы ваш браузер прошел аутентификацию, прежде чем продолжить.
  • 408: «Время ожидания сервера оставшейся части запроса от браузера истекло». Этот код генерируется, когда сервер истекает в ожидании полного запроса от браузера. Другими словами, сервер не получил полного запроса, отправленного браузером. Одной из возможных причин может быть перегрузка сети, приводящая к потере пакетов данных между браузером и сервером.
  • 409: «Конфликт». Код состояния 409 означает, что сервер не может обработать запрос вашего браузера из-за конфликта с соответствующим ресурсом.Иногда это происходит из-за одновременного редактирования нескольких файлов.
  • 410: «Запрошенный ресурс исчез и больше не будет возвращаться». Это похоже на код 404 «Не найдено», за исключением того, что 410 указывает, что условие является ожидаемым и постоянным.
  • 411: «Требуемая длина». Это означает, что запрашиваемый ресурс требует, чтобы клиент указывал определенную длину, а это не так.
  • 412: «Предварительное условие не выполнено». Ваш браузер включил определенные условия в заголовки запросов, и сервер не соответствовал этим требованиям.
  • 413: «Слишком большая полезная нагрузка» или «Слишком большой объект запроса». Ваш запрос больше, чем сервер может или готов обработать.
  • 414: «Слишком длинный URI». Обычно это результат запроса GET, который был закодирован как строка запроса, которая слишком велика для обработки сервером.
  • 415: «Неподдерживаемый тип носителя». Запрос включает тип мультимедиа, который сервер или ресурс не поддерживает.
  • 416: «Недопустимый диапазон.«Ваш запрос был на часть ресурса, которую сервер не может вернуть.
  • 417: «Ожидание не выполнено». Сервер не может выполнить требования, указанные в поле заголовка expect запроса.
  • 418: «Я чайник». Этот код возвращают чайники, которые получают запросы на заваривание кофе. Это еще и первоапрельская шутка 1998 года.

418 Код статуса «Я чайник»

  • 422: «Необработанная сущность.«Клиентский запрос содержит семантические ошибки, и сервер не может их обработать.
  • 425: «Слишком рано». Этот код отправляется, когда сервер не желает обрабатывать запрос, потому что он может быть воспроизведен.
  • 426: «Требуется обновление». Из-за содержимого поля заголовка запроса обновления клиент должен переключиться на другой протокол.
  • 428: «Требуется предварительное условие». Сервер требует, чтобы перед обработкой запроса были указаны условия.
  • 429: «Слишком много запросов». Это генерируется сервером, когда пользователь отправил слишком много запросов за заданный промежуток времени (ограничение скорости). Иногда это может происходить из-за того, что боты или скрипты пытаются получить доступ к вашему сайту. В этом случае вы можете попробовать изменить URL-адрес для входа в WordPress. Вы также можете ознакомиться с нашим руководством по исправлению ошибки 429 «Слишком много запросов».

429 слишком много запросов

  • 431: «Поля заголовка запроса слишком велики.»Сервер не может обработать запрос, потому что поля заголовка слишком велики. Это может указывать на проблему с одним полем заголовка или со всеми ими вместе.
  • 451: «Недоступно по юридическим причинам». Оператор сервера получил требование запретить доступ к запрошенному вами ресурсу (или к набору ресурсов, включая тот, который вы запросили). Интересный факт: этот код является отсылкой к роману Рэя Брэдбери: « Фаренгейт 451 ».
  • 499: «Клиент закрыл запрос.Это возвращается NGINX, когда клиент закрывает запрос, в то время как Nginx все еще обрабатывает его.

500 Коды состояния

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

  • 500: «На сервере произошла ошибка, и запрос не может быть выполнен». Это общий код, который просто означает «внутреннюю ошибку сервера». Что-то пошло не так на сервере, и запрошенный ресурс не был доставлен.Этот код обычно создается сторонними плагинами, неисправным PHP или даже нарушением соединения с базой данных. Ознакомьтесь с нашими руководствами о том, как исправить ошибку при установке соединения с базой данных и о других способах устранения внутренней ошибки сервера 500.

Ошибка установления соединения с базой данных

  • 501: «Не реализовано». Эта ошибка указывает на то, что сервер не поддерживает функции, необходимые для выполнения запроса. Это почти всегда проблема самого веб-сервера и обычно должна решаться хостом.Ознакомьтесь с нашими рекомендациями по устранению нереализованной ошибки 501.
  • 502: «Плохой шлюз». Этот код ошибки обычно означает, что один сервер получил недопустимый ответ от другого, например, когда используется прокси-сервер. В других случаях запрос или запрос занимает слишком много времени, поэтому он отменяется или прерывается сервером, и соединение с базой данных разрывается. Для получения дополнительных сведений см. Наше подробное руководство о том, как исправить ошибку 502 Bad Gateway.
  • 503: «Сервер сейчас недоступен для обработки этого запроса.”Запрос не может быть выполнен на данный момент. Этот код может быть возвращен перегруженным сервером, который не может обрабатывать дополнительные запросы. У нас есть полное руководство по исправлению ошибки 503 Service Unavailable.
  • 504: «Сервер, выступающий в качестве шлюза, истекло время ожидания ответа от другого сервера». Это код, возвращаемый, когда два сервера участвуют в обработке запроса, и время ожидания первого сервера истекает, пока второй сервер не ответит. Вы можете узнать больше о том, как исправить ошибку 504, в нашем специальном руководстве.
  • 505: «Версия HTTP не поддерживается». Сервер не поддерживает версию HTTP, которую клиент использовал для запроса.
  • 508 : достигнуты лимиты ресурсов, установленные вашим веб-хостом. Ознакомьтесь с нашим руководством по устранению ошибки «Достигнут предел ресурса 508».
  • 511: «Требуется сетевая аутентификация». Этот код состояния отправляется, когда сеть, которую вы пытаетесь использовать, требует некоторой формы аутентификации перед отправкой вашего запроса на сервер.Например, вам может потребоваться принять Условия использования общедоступной точки доступа Wi-Fi.
  • 521: «Веб-сервер не работает». Ошибка 521 — это сообщение об ошибке, относящееся к Cloudflare. Это означает, что ваш веб-браузер смог успешно подключиться к Cloudflare, но Cloudflare не смог подключиться к исходному веб-серверу.
  • 525 : «Подтверждение связи SSL не удалось». Ошибка 525 означает, что установление связи SSL между доменом, использующим Cloudflare, и исходным веб-сервером не удалось.Если у вас возникли проблемы, вы можете попытаться легко исправить ошибку 525 пятью способами.

Где узнать больше о кодах состояния HTTP

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

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

Поначалу они могут показаться устрашающими, но коды состояния HTTP важны для понимания того, что происходит на вашем сайте. Вот подробный список тех, с которыми вам стоит познакомиться! 📟🌐Нажмите, чтобы написать твит

Сводка

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

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


Экономьте время, деньги и повышайте производительность сайта с помощью:

  • Мгновенная помощь от экспертов по хостингу WordPress, 24/7.
  • Интеграция Cloudflare Enterprise.
  • Глобальный охват аудитории с 28 центрами обработки данных по всему миру.
  • Оптимизация с помощью нашего встроенного мониторинга производительности приложений.

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

Коды статуса

HTTP для начинающих | Alone On A Hill

HTTP, протокол передачи гипертекста — это метод, с помощью которого клиенты (то есть вы) и серверы обмениваются данными. Когда кто-то щелкает ссылку, вводит URL-адрес или отправляет форму, его браузер отправляет запрос на сервер для получения информации.Он может запрашивать страницу или отправлять данные, но в любом случае это называется HTTP-запросом. Когда сервер получает этот запрос, он отправляет ответ HTTP с информацией для клиента. Обычно это невидимо, хотя я уверен, что вы видели один из очень распространенных кодов ответа — 404, указывающий, что страница не найдена. Есть еще несколько кодов состояния, отправляемых серверами, и ниже приводится список текущих кодов в HTTP 1.1, а также объяснение их значений.

Более техническая разбивка HTTP 1.Коды состояния 1 и их значения доступны по адресу http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html. Существует несколько версий HTTP, но в настоящее время наиболее широко используется HTTP 1.1.

Информационное

  • 100 — Продолжить
    Код состояния 100 указывает, что (обычно первая) часть запроса была получена без каких-либо проблем, и что остальная часть запроса теперь должна быть отправлена.
  • 101 — протоколы переключения
    HTTP 1.1 — это всего лишь один тип протокола для передачи данных в сети, а код состояния 101 указывает, что сервер переходит на протокол, который он определяет в заголовке «Upgrade», который он возвращает клиенту. Например, при запросе страницы браузер может получить код статистики 101, за которым следует заголовок «Обновить», показывающий, что сервер переходит на другую версию HTTP.

Успешно

  • 200 — OK
    Код состояния 200 является наиболее часто возвращаемым.Это просто означает, что запрос был получен, понят и обрабатывается.
  • 201 — Создано
    Код состояния 201 указывает, что запрос был успешным, и в результате был создан ресурс (например, новая страница).
  • 202 — Принято
    Код состояния 202 указывает, что сервер получил и понял запрос, и что он был принят для обработки, хотя он не может быть обработан немедленно.
  • 203 — Неавторизованная информация
    Код состояния 203 означает, что запрос был получен и понят, и что информация, отправленная обратно об ответе, исходит от третьей стороны, а не от исходного сервера.Это практически идентично по значению коду состояния 200.
  • 204 — Нет содержимого
    Код состояния 204 означает, что запрос был получен и понят, но нет необходимости отправлять какие-либо данные обратно.
  • 205 — сброс содержимого
    Код состояния 205 — это запрос от сервера к клиенту на сброс документа, из которого был отправлен исходный запрос. Например, если пользователь заполняет форму и отправляет ее, код состояния 205 означает, что сервер просит браузер очистить форму.
  • 206 — Частичное содержимое
    Код состояния 206 — это ответ на запрос части документа. Это используется расширенными инструментами кэширования, когда пользовательский агент запрашивает только небольшую часть страницы, и возвращается только этот раздел.

Перенаправление

  • 300 — множественный выбор
    Код состояния 300 указывает, что ресурс перемещен. Ответ также будет включать список мест, из которых пользовательский агент может выбрать наиболее подходящие.
  • 301 — Постоянно перемещен
    Код состояния 301 сообщает клиенту, что запрашиваемый им ресурс навсегда перемещен в новое место. В ответе также должно быть указано это местоположение. Он сообщает клиенту использовать новый URL-адрес в следующий раз, когда он захочет получить тот же ресурс.
  • 302 — Найдено
    Код состояния 302 сообщает клиенту, что запрашиваемый им ресурс временно перемещен в новое место. В ответе также должно быть указано это местоположение.Он сообщает клиенту, что он должен продолжать использовать тот же URL-адрес для доступа к этому ресурсу.
  • 303 — См. Другое
    Код состояния 303 указывает, что ответ на запрос может быть найден по указанному URL-адресу и должен быть получен оттуда. Это не означает, что что-то переместилось — это просто указание адреса, по которому можно найти ответ на запрос.
  • 304 — Не изменено
    Код состояния 304 отправляется в ответ на запрос (для документа), который запрашивал документ, только если он был новее, чем тот, который уже был у клиента.Обычно, когда документ кэшируется, сохраняется дата его кэширования. При следующем просмотре документа клиент спрашивает сервер, изменился ли документ. В противном случае клиент просто перезагружает документ из кеша.
  • 305 — Использовать прокси
    Код состояния 305 сообщает клиенту, что запрошенный ресурс должен быть достигнут через прокси, который будет указан в ответе.
  • 307 — Временное перенаправление
    307 — это код состояния, который отправляется, когда документ временно доступен по другому URL-адресу, который также возвращается.Существует очень небольшая разница между кодом состояния 302 и кодом состояния 307. 307 был создан как другая, менее двусмысленная версия кода состояния 302.

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

  • 400 — неверный запрос
    Код состояния 400 указывает, что сервер не понял запрос из-за неправильного синтаксиса.
  • 401 — Неавторизованный
    Код состояния 401 указывает, что перед тем, как к ресурсу можно будет получить доступ, клиент должен быть авторизован сервером.
  • 402 — Требуется оплата
    Код состояния 402 в настоящее время не используется, он указан как «зарезервирован для использования в будущем».
  • 403 — Запрещено
    Код состояния 403 указывает, что клиент не может получить доступ к запрошенному ресурсу. Это может означать, что в запросе были отправлены неправильное имя пользователя и пароль или что разрешения на сервере не позволяют то, что было запрошено.
  • 404 — Not Found
    Самый известный из них, код состояния 404 указывает, что запрошенный ресурс не был найден по указанному URL-адресу, и сервер не знает, как долго.
  • 405 — Метод запрещен
    Код состояния 405 возвращается, когда клиент пытается использовать метод запроса, который не разрешен сервером. Разрешенные методы запроса должны быть отправлены вместе с ответом (распространенными методами запроса являются POST и GET).
  • 406 — Неприемлемо
    Код состояния 406 означает, что, хотя сервер понял и обработал запрос, ответ имеет форму, которую клиент не может понять. Клиент отправляет как часть запроса заголовки, указывающие, какие типы данных он может использовать, и возвращается ошибка 406, когда ответ относится к типу, отличному от указанного в списке.
  • 407 — Требуется проверка подлинности прокси-сервера
    Код состояния 407 очень похож на код состояния 401 и означает, что клиент должен быть авторизован прокси-сервером, прежде чем запрос может быть продолжен.
  • 408 — Тайм-аут запроса
    Код состояния 408 означает, что клиент не произвел запрос достаточно быстро. Сервер настроен на ожидание ответа от клиентов только определенное время, а код состояния 408 указывает, что время прошло.
  • 409 — Конфликт
    Код состояния 409 указывает на то, что серверу не удалось выполнить запрос, часто из-за того, что файл нужно было отредактировать, создать или удалить, и этот файл нельзя отредактировать, создать или удалить.
  • 410 — Исчез
    Код состояния 410 — это менее известный родственник 404. Он указывает на то, что ресурс окончательно ушел (код состояния 404 не указывает, работает ли ресурс постоянно или временно), и для него не известен новый адрес.
  • 411 — Требуется длина
    Код состояния 411 появляется, когда сервер отказывается обрабатывать запрос, поскольку длина содержимого не была указана.
  • 412 — Ошибка предварительного условия
    Код состояния 412 указывает, что одно из условий, при которых был сделан запрос, не выполнено.
  • 413 — Слишком большой объект запроса
    Код состояния 413 указывает, что запрос был больше, чем сервер может обработать, либо из-за физических ограничений, либо из-за настроек. Обычно это происходит, когда файл отправляется с помощью метода POST из формы, а размер файла превышает максимальный размер, разрешенный в настройках сервера.
  • 414 — Request-URI Too Long
    Код состояния 414 указывает, что URL-адрес, запрошенный клиентом, длиннее, чем он может обработать.
  • 415 — Неподдерживаемый тип носителя
    Сервер возвращает код состояния 415, чтобы указать, что часть запроса была в неподдерживаемом формате.
  • 416 — Запрошенный диапазон не выполняется
    Код состояния 416 указывает на то, что сервер не смог выполнить запрос. Это может быть, например, потому, что клиент запросил 800-900 байтов документа, но документ имел длину всего 200 байтов.
  • 417 — Ошибка ожидания
    Код состояния 417 означает, что серверу не удалось правильно выполнить запрос.Один из отправленных на сервер заголовков, заголовок «Expect», указывает на ожидание, которое сервер не может удовлетворить.

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

  • 500 — Внутренняя ошибка сервера
    Код состояния 500 (слишком часто встречающийся программистами Perl) указывает, что сервер обнаружил нечто, чего он не ожидал, и не смог выполнить запрос.
  • 501 — Не реализовано
    Код состояния 501 указывает, что сервер не поддерживает все, что необходимо для выполнения запроса.
  • 502 — Плохой шлюз
    Код состояния 502 указывает, что сервер, выступая в качестве прокси, получил ответ от вышестоящего сервера, который был признан недействительным.
  • 503 — Служба недоступна
    Код состояния 503 чаще всего встречается на чрезвычайно загруженных серверах и указывает на то, что серверу не удалось выполнить запрос из-за перегрузки сервера.
  • 504 — Тайм-аут шлюза
    Код состояния 504 возвращается, когда сервер, действующий как прокси, слишком долго ждал ответа от сервера, находящегося дальше в восходящем направлении.
  • 505 — Версия HTTP не поддерживается
    Код состояния 505 возвращается, когда версия HTTP, указанная в запросе, не поддерживается. В ответе должно быть указано, какие версии HTTP поддерживаются.

11 мая 2004 г. | разработка, http, справочник, веб, коды, статус, apache, webdev, для начинающих

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

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

Представление ответа ДОЛЖНО содержать ссылку на ресурс, который позволяет пользователю отправлять учетные данные (например, с помощью HTML-формы).

Обратите внимание, что ответ 511 НЕ ДОЛЖЕН содержать запрос или сам интерфейс входа в систему, поскольку браузеры будут отображать интерфейс входа в систему как связанный с первоначально запрошенным URL-адресом, что может вызвать путаницу.

Статус 511 НЕ ДОЛЖЕН генерироваться исходными серверами; он предназначен для использования путем перехвата прокси, которые вставляются как средство контроля доступа к сети.

Ответы с кодом состояния 511 НЕ ДОЛЖНЫ храниться в кэше.

Код состояния 511 разработан для смягчения проблем, вызванных «перехватывающими порталами» для программного обеспечения (особенно агентов, не являющихся браузерами), которое ожидает ответа от сервера, к которому был сделан запрос, а не от промежуточной сетевой инфраструктуры. Он не предназначен для поощрения развертывания скрытых порталов, он предназначен только для ограничения наносимого ими ущерба.

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

Неизвестные клиенты затем блокируют весь трафик, за исключением TCP-порта 80, который отправляется на HTTP-сервер («сервер входа в систему»), предназначенный для «входа в систему» ​​неизвестных клиентов и, конечно же, трафика на сам сервер входа в систему.

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

Однако эти риски не уникальны для кода состояния 511; Другими словами, адаптивный портал, который не использует этот код состояния, вызывает те же проблемы.

Также обратите внимание, что связанные порталы, использующие этот код состояния в соединении SSL или TLS (обычно порт 443), будут генерировать ошибку сертификата на клиенте.

Википедия

Клиент должен пройти аутентификацию, чтобы получить доступ к сети. Предназначен для использования путем перехвата прокси-серверов, используемых для управления доступом к сети (например,g. «Адаптивные порталы», используемые для требования согласия с Условиями обслуживания перед предоставлением полного доступа в Интернет через точку доступа Wi-Fi).

кодов ответа HTTP | Коды состояния HTTP 404

Коды ответа HTTP выдаются сервером в ответ на запрос, сделанный к серверу. Он включает коды из запроса комментариев IETF (RFC), а также некоторые дополнительные коды, которые обычно используются в приложениях HTTP.

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

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

  • Информационные ответы (100-199)
  • Успешные ответы (200-299)
  • Перенаправления (300-399)
  • Ошибки клиента (400-499)
  • Ошибки сервера (500-599)

Класс кодов состояния 1xx является информационным и указывает, что запрос был получен и понят.Он выдается как предварительный статус, пока процесс еще продолжается. Он также говорит клиенту дождаться окончательного ответа. Эти сообщения состоят из строки состояния и дополнительных полей заголовка.

Диапазон кодов 2xx обычно означает, что запрос был успешно получен, понят и принят, а диапазон кодов 3xx указывает, что клиент должен предпринять дополнительные действия для выполнения конкретного запроса. Это часто используется при перенаправлении URL-адресов.

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

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

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

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

Ищете самый быстрый и дешевый CDN для вашей компании?

Попробуйте БЕСПЛАТНО в течение 30 дней

1, информационные ответы

Коды ответов HTTP

в этом семействе предназначены только для получения дополнительной информации, только для идентификации того, что определенный процесс был завершен или запрос был завершен.Коды статуса HTTP в этом диапазоне используются редко, потому что большинство из них определяют, казалось бы, рутинные процессы. Примеры этих кодов состояния HTTP включают в себя самый простой: 100: Продолжить, что означает, что сервер должен продолжать работу в обычном режиме, и 102: Обработка, что означает, что запрос обрабатывается либо сервером, либо клиентом (клиент — это объект на принимающая сторона запроса). Как видите, эти два информационных кода являются частью нормального процесса, почему для них необходимо идентифицировать коды ответов Hypertext Transfer Protocol (HTTP)? Эти коды HTTP помогают отслеживать пути передачи данных во всей производительности сервера.Без этих кодов состояния HTTP не будет указателей для определенного процесса, а просмотр журнала превратится в игру в угадывание. В конце концов, коды ответа HTTP от 100 до 199 имеют соответствующее значение.

100 Продолжить

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

101 Протоколы коммутации

Этот ответ указывает, что код отправляется в ответ на заголовок запроса обновления от клиента, который указывает протокол, на который серверы переключаются.

102 Обработка (WebDAV)

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

103 Ранние подсказки

Этот код ответа HTTP в основном используется с заголовком Link, позволяя пользовательскому агенту начать предварительную загрузку ресурсов, пока сервер готовит ответ.

2, успешные ответы

Коды ошибок HTTP из этого семейства показывают успех в различных формах. Коды ответа HTTP 200 — 299 несут хорошие новости: запрос принят, создан новый запрос или решена определенная проблема.Поскольку коды состояния HTTP в более ранней группе действуют как указатели, коды состояния HTTP в группе 200 действуют как сигналы go для продолжения определенных действий, поскольку необходимые запросы стали возможными. 202: Принято означает, что клиент получил запрос. Код 202 ответа HTTP не обязательно означает, что запрос сделан, но важно то, что он обрабатывается. Часть этих кодов состояния HTTP — 206: Частичное содержимое. Это означает, что запрос удовлетворен частично, но тем не менее удовлетворен.

200 ОК

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

  • GET: ресурс был получен и передается
  • ЗАГОЛОВОК: Заголовки объектов находятся в теле сообщения
  • PUT или POST: ресурс, описывающий результат действия, передается в теле сообщения
  • TRACE: тело сообщения содержит сообщение запроса в том виде, в каком оно получено

201 Создано

Это указывает на то, что отходы прошли успешно и в результате был создан новый ресурс.Обычно это ответ, который отправляется после запросов POST или некоторых запросов PUT.

202 Принято

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

203 Неавторизованная информация

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

204 Без содержания

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

205 Сбросить содержимое

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

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

Этот код ответа используется, когда заголовок Range отправляется от клиента для запроса только части ресурса.

207 Мульти-статус (WebDAV)

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

208 Уже отправлено (WebDAV)

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

226 Использовано IM (кодировка HTTP Delta)

Сервер выполнил запрос GET для ресурса, и ответ является представлением результата одной или нескольких манипуляций с экземпляром, примененных к текущему экземпляру.

3, сообщения о перенаправлении

Коды состояния HTTP 300-399 говорят о перенаправлении. Эти коды ответа HTTP означают, что запрос должен быть перенаправлен по разным причинам. Код состояния HTTP 300–399 может потребовать немедленных действий, поскольку перенаправление может быть ожидающим запросом, а веб-браузер где-то застрял. 300: Multiple Choices затрудняет выбор веб-браузера, куда идти, поэтому необходимо выполнять прямые действия. 310: Ресурс перемещен навсегда означает, что с этого момента маршрут запроса изменится навсегда.

300 Множественный выбор

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

301 Постоянно перемещен

Этот код ответа HTTP указывает, что конкретный URL-адрес запрашиваемого ресурса изменился навсегда.Новый URL-адрес указан в ответе.

302 Найдено

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

303 См. Другие

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

304 Без изменений

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

305 Использовать прокси

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

306 неиспользованные

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

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

Для этого кода состояния это означает, что запрос должен быть повторен с другим URI. Однако любые будущие запросы должны по-прежнему использовать исходный URI.По сути, он похож на HTTP-код 302 Found, но за исключением того, что пользовательский агент не должен изменять используемый HTTP-метод. Если POST использовался в первом запросе, POST должен использоваться во втором запросе.

308 Постоянное перенаправление

Этот код состояния указывает, что ресурс не находится постоянно по другому URL-адресу. Это будет указано в заголовке Location: HTTP Response. Это также похоже на код ответа 301, перемещенный навсегда, за исключением того, что пользовательский агент не должен изменять используемый метод HTTP.Если POST использовался в первом запросе, POST должен использоваться во втором запросе.

4, ответы клиента об ошибках

Теперь мы переходим к кодам ошибок HTTP, которые могут в некоторой степени настораживать. Коды ответа HTTP в сообщениях об ошибке HTTP 400 означают, что клиент не в состоянии выполнить запрос. Самая известная из семейства ошибок 400 кода состояния протокола передачи гипертекста (HTTP) — это 404: файл не найден. Это просто означает, что клиент, с которым связываются, нигде не может быть найден, поэтому запрос не может быть выполнен.

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

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

401 Неавторизованный

Хотя стандарт HTTP определяет «неавторизованный», семантически этот ответ означает «неавторизованный». То есть клиент должен аутентифицироваться, чтобы получить запрошенный ответ.Подобно 403 Forbidden, но специально для использования, когда аутентификация требуется, но она не удалась или еще не была предоставлена.

402 Требуется оплата

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

403 Запрещено

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

404 Не найдено

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

405 Метод запрещен

Этот код ответа означает, что метод запроса известен серверу, но отключен и не может быть использован. Примером может служить API, запрещающий удаление ресурса.

406 Неприемлемо

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

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

Этот код ответа очень похож на код 401, но аутентификация должна выполняться прокси.

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

Этот ответ обычно отправляется неактивным соединением какого-либо сервера, даже без какого-либо предыдущего запроса со стороны клиента. По сути, это означает, что серверу нравится закрывать бездействующее соединение, и в наши дни ответ используется гораздо чаще, поскольку веб-браузеры, такие как Chrome и Firefox, используют механизмы HTTP-соединения для ускорения серфинга.Также обратите внимание, что некоторые серверы могут отключать соединение без выдачи этого уведомления.

409 Конфликт

Этот ответ он отправляет сервером, когда запрос конфликтует с текущим состоянием сервера.

410 Исчез

Это состояние ошибки указывает на то, что запрошенный ресурс больше не доступен и больше не будет доступен. Этот код следует использовать, когда ресурс был намеренно удален, и этот ресурс не следует очищать.Когда получен код состояния 410, клиент не должен запрашивать этот ресурс снова в будущем. Такие клиенты, как поисковые системы, удалят ресурс.

411 Требуемая длина

Этот ответ просто означает, что в запросе не указана ссылка на контент, который требуется запрошенному ресурсу.

412 Ошибка предварительного условия

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

413 Слишком большая полезная нагрузка

Объект запроса превышает пределы, определенные сервером; сервер может закрыть соединение или вернуть поле заголовка Retry-After.

414 URI слишком длинный

Запрос больше, чем сервер может или может обработать. Ранее назывался «Слишком большой объект запроса».

415 Неподдерживаемый тип носителя

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

416 Диапазон Не выполняется

Диапазон, указанный полем заголовка Range в запросе, не может быть выполнен; возможно, что диапазон выходит за пределы размера данных целевого URI.

417 Неудачное ожидание

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

418 Я чайник

Сервер отклоняет попытку заварить кофе с помощью чайника.Этот код был определен в 1998 году как одна из традиционных первоапрельских шуток IETF.

421 Неверный запрос

Запрос был направлен на сервер, который не может дать ответ. Это может быть отправлено сервером, который не настроен для создания ответов для комбинации схемы и полномочий, которые включены в URI запроса.

422 Необработанный объект (WebDAV)

Запрос был правильно сформирован, но его не удалось выполнить из-за семантических ошибок.Например, это состояние ошибки может возникнуть, если тело запроса XML содержит правильно сформированные (т. Е. Синтаксически правильные), но семантически ошибочные инструкции XML.

423 Заблокировано (WebDAV)

Ресурс, к которому осуществляется доступ, заблокирован.

424 Неудачная зависимость (WebDAV)

Запрос не удался, потому что он зависел от другого запроса, и этот запрос не удался.

425 Слишком рано

Указывает, что сервер не желает рисковать обработкой запроса, который может быть воспроизведен.

426 Требуется обновление

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

428 Требуются предварительные условия

Исходный сервер требует, чтобы запрос был условным. Предназначен для предотвращения проблемы «потерянного обновления», когда клиент ПОЛУЧАЕТ состояние ресурса, изменяет его и отправляет обратно на сервер, когда тем временем третья сторона изменила состояние на сервере, что привело к конфликту.

429 Слишком много запросов

Код состояния 429 указывает, что пользователь отправил слишком много запросов за заданный промежуток времени («ограничение скорости»).Представления ответа ДОЛЖНЫ включать подробности, объясняющие условие, и МОГУТ включать заголовок Retry-After, указывающий, как долго ждать, прежде чем делать новый запрос. Когда сервер находится под атакой или просто получает очень большое количество запросов от одной стороны, ответ на каждый с кодом состояния 429 потребляет ресурсы.

431 Поля заголовка запроса слишком велики

Код состояния 431 указывает, что сервер не желает обрабатывать запрос, потому что его поля заголовка слишком велики.Запрос МОЖЕТ быть отправлен повторно после уменьшения размера полей заголовка запроса. Его можно использовать как в случае, когда совокупность полей заголовка запроса слишком велика, так и в случае неисправности одного поля заголовка. В последнем случае представление ответа должно указывать, какое поле заголовка было слишком большим.

451 Недоступно по юридическим причинам

Пользователь-агент запросил ресурс, который не может быть предоставлен по закону, например веб-страницу, подвергнутую цензуре правительством.Это также отсылка к роману 1953 года «451 градус по Фаренгейту», где книги запрещены, а температура самовоспламенения бумаги составляет 451 ° F.

5, ответы сервера при ошибках

И, наконец, коды статуса HTTP 500 — 599, информируют журнал о проблемах с сервером. Предполагается, что серверы взаимодействуют друг с другом, но этот код ответа протокола передачи гипертекста (HTTP) означает, что может возникнуть проблема в том, как эти серверы работают вместе.502: Плохой шлюз просто означает, что один сервер получил недопустимый ответ от другого сервера. Однако серьезность этой ситуации может быть разной. Но опять же, коды ответа HTTP в группе 500 могут потребовать некоторого внимания.

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

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

501 Не реализовано

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

502 Плохой шлюз

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

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

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

504 Тайм-аут шлюза

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

505 Версия HTTP не поддерживается

Этот код состояния указывает, что сервер не поддерживает версию протокола HTTP, используемую в запросе.

506 Вариант также оговаривается

Эта ошибка сервера означает, что согласование запроса сервера приводит к циклическим ссылкам.

507 Недостаточно памяти (WebDAV)

Сервер не может сохранить представление, необходимое для выполнения запроса.

508 Обнаружен цикл (WebDAV)

Сервер прервал операцию, поскольку он обнаружил бесконечный цикл при обработке запроса с «Глубиной: бесконечность». Этот статус указывает на то, что вся операция завершилась неудачно.

510 Не расширенный

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

511 Требуется сетевая аутентификация

Клиент должен пройти аутентификацию, чтобы получить доступ к сети. Предназначен для использования путем перехвата прокси-серверов, используемых для управления доступом к сети (например, «перехватывающие порталы», используемые для запроса согласия с Условиями обслуживания перед предоставлением полного доступа в Интернет через точку доступа Wi-Fi).

Другие важные коды состояния HTTP

HTTP 502: Плохой побег.HTTP 404: файл не найден. Вам знакомы эти слова? Это, вероятно, одни из наиболее распространенных кодов ответов HTTP, с которыми мы сталкиваемся, возможно, ежедневно. Это не единственные коды состояния HTTP. Фактически, их множество, от 100 до 599, и все они несут конкретные новости для всех, кто хочет их услышать: администраторов журналов, посетителей веб-сайтов, программистов. Эти коды являются частью определенного языка, который поможет тем, кто управляет всемирной паутиной, превратить ее в хорошо отлаженную машину, связывающую всех в сети.

Но почему вы должны знать все о коде ответа HTTP? Эти коды ошибок HTTP уже кажутся вам чуждыми; для некоторых простая ошибка HTTP 502 или HTTP 404 уже сбивает их с толку. В BelugaCDN мы видим ценность технической подкованности не только в индивидуальном, но и в профессиональном смысле, особенно для потенциальных клиентов CDN, таких как вы, и сотрудников, которых вы хотите поддерживать. Такие знания также дают вам преимущество, когда речь идет об использовании технологий бок о бок с бизнесом.Зная коды ответа HTTP, журналы сервера будут иметь для вас больше смысла, и вы сможете воспользоваться более конкретными технологическими решениями, чем те, которые используются всеми. Итак, давайте начнем ваше путешествие с овладения другими важными кодами статуса HTTP.

Неофициальные коды

103 КПП

Используется для возврата некоторых заголовков ответа перед окончательным HTTP-сообщением.

218 Это нормально (веб-сервер Apache)

Используется как условие общей ошибки, позволяющее передавать тела ответов через Apache, когда включен ProxyErrorOverride.

419 Срок действия страницы истек (Laravel Framework)

Используется Laravel Framework, когда токен CSRF отсутствует или просрочен.

420 Ошибка метода (Spring Framework)

Устаревший ответ, используемый Spring Framework в случае сбоя метода.

420 Укрепите свое спокойствие (Twitter)

Код статуса 420 Enhance Your Calm является неофициальным расширением Twitter.Twitter использовал это, чтобы сообщить HTTP-клиентам, что их скорость ограничена. Ограничение скорости означает наложение ограничений на общее количество запросов, которые клиент может выполнить в течение определенного периода времени.

430 Поля заголовка запроса слишком велики (Shopify)

Этот код состояния указывает, что сервер не желает обрабатывать запрос, потому что его поля заголовка слишком велики. Запрос МОЖЕТ быть отправлен повторно после уменьшения размера полей заголовка запроса…. Ответы с кодом состояния 430 НЕ ДОЛЖНЫ храниться в кэше

450 Заблокировано родительским контролем Windows (Microsoft)

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

498 Неверный токен (Esri)

Возвращено ArcGIS for Server. Код 498 указывает на просроченный или недействительный токен по иным причинам.

499 Требуется токен (Esri)

Нестандартный код состояния, введенный nginx для случая, когда клиент закрывает соединение, пока nginx обрабатывает запрос.

509 Превышен предел пропускной способности (веб-сервер Apache / cPanel)

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

526 Недействительный сертификат SSL

Этот код ответа HTTP относится к тому, когда клиент должен переключиться на другой протокол, указанный в поле заголовка Upgrade.

529 Сайт перегружен

Этот код ответа HTTP используется Qualys в API тестирования сервера SSLLabs, чтобы сигнализировать о том, что сайт не может обработать запрос.

530 Сайт заморожен

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

598 (неофициальное соглашение) Ошибка тайм-аута сетевого чтения

Используется некоторыми прокси-серверами HTTP для передачи клиенту перед прокси-сервером тайм-аута сетевого чтения за прокси-сервером.

Информационные службы Интернета

440 Тайм-аут входа

Сеанс клиента истек, и он должен войти снова.

449 Повторить попытку

Сервер не может выполнить запрос, потому что пользователь не предоставил требуемую информацию.

451 Перенаправление

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

Nginx

444 Нет ответа

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

494 Заголовок запроса слишком большой

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

495 Ошибка сертификата SSL

Расширение кода ответа 400 Bad Request, используемого, когда клиент предоставил недействительный сертификат клиента.

496 Требуется сертификат SSL

Расширение кода ответа 400 Bad Request, используемого, когда сертификат клиента требуется, но не предоставляется.

497 HTTP-запрос отправлен на HTTPS-порт

Расширение кода ответа 400 Bad Request, используемого, когда клиент отправил HTTP-запрос на порт, который прослушивает HTTPS-запросы.

499 Клиент закрытый запрос

Нестандартный код состояния, введенный nginx для случая, когда клиент закрывает соединение, пока nginx обрабатывает запрос.

Cloudflare

520 Веб-сервер возвратил неизвестную ошибку

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

521 Веб-сервер не работает

Эта ошибка указывает на то, что соединение с Cloudflare было отклонено сервером.

522 Превышено время ожидания соединения

Этот код состояния указывает, что квитирование TCP не может быть согласовано с Cloudflare.

523 Источник недоступен

Cloudflare не смог связаться с исходным сервером; например, если записи DNS для исходного сервера неверны.

524 Истекло время ожидания

Cloudflare смог установить TCP-соединение с исходным сервером, но не получил своевременный HTTP-ответ.

525 Ошибка установления связи SSL

Cloudflare не удалось согласовать рукопожатие SSL / TLS с исходным сервером.

526 Недействительный сертификат SSL

Используется Cloudflare и gorouter Cloud Foundry, чтобы указать, что не удалось проверить сертификат SSL / TLS, представленный исходным сервером.

527 Ошибка рейлгана

Ошибка 527 указывает на то, что запрос истек или завершился неудачно после того, как WAN-соединение было установлено.

530

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

AWS Эластичный балансировщик нагрузки

460

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

463

Этот код ошибки относится к недопустимому имени носителя.

Заключение

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

499 Код ошибки

Работает ли моя CDN

Связанный ресурс

API Разнорабочий | Пустой список, код состояния HTTP 200 против 204 против 404

Код состояния 404 (не найден) указывает, что исходный сервер не нашел текущего представления для целевого ресурса или не желает раскрывать его существование.

Я только что понял, что это четвертый пост в этой серии, и пока 404 Not Found был задействован во всех сообщениях.Давайте посмотрим, что говорится в RFC HTTP (с буквой s) об его использовании в этом случае.

Если мы посмотрим на это определение кода состояния в RFC 7231 и примем во внимание, что ресурс / users является используемым даже при выполнении команды GET / users? Name = spock , возврат этого кода состояния HTTP не имеет никакого смысла, потому что ресурс / users существует, просто список, который он содержит, может быть пустым.

Но действительно ли это определение идентификатора ресурса (исключая параметры запроса) правильное? В разделе 2 RFC 7231 указано, что каждый ресурс идентифицируется унифицированным идентификатором ресурса (URI), как описано в разделе 2.7 RFC 7230 . В разделе 2.7 RFC 7230 говорится, что «запрос» (что находится между первыми ? и # ) является частью идентификатора ресурса. Если мы перейдем по ссылке (это настоящий лабиринт!), Ведущей к полному описанию запроса, мы в конечном итоге придем к разделу 3.4 RFC 3986, в котором говорится, что компонент запроса содержит неиерархические данные, которые наряду с данными в компоненте пути ( Раздел 3.3), служит для идентификации ресурса . Это в основном означает, что / users? Name = spock является идентификатором ресурса, поэтому возвращение 404 допустимо в соответствии с HTTP RFC, если мы хотим сказать «извините, ни один ресурс не соответствует строгому идентификатору, указанному в вашем запросе» или «нет такого список пользователей, содержащий пользователей с именем spock ».Но если этот код состояния HTTP действителен с точки зрения чистого HTTP, действительно ли это хорошая идея использовать его в этом случае использования?

По моему скромному мнению, основанному на моем опыте проектирования API, чтения и прослушивания многих практиков API, анализа многих API и сотен обзоров дизайна API, я не рекомендую использовать его в этом случае, потому что это нарушит общепринятую практику. В большинстве API-интерфейсов REST / RESTful / RESTish «идентификатор ресурса» — это фактически путь к ресурсу без части запроса, что может быть неправильным, если говорить строго по протоколу HTTP, но это текущее состояние общей практики.В большинстве API-интерфейсов 404 Not Found строго привязан к «нет ничего для запрошенного пути (исключая параметры запроса)». Он возвращается в случае с / путь-который-не-существует или / collection / {id, который не существует} (см. Выбор кодов состояния HTTP, часть 2 — Отключите этот ресурс, код состояния HTTP 401 vs 403 vs 404 или Выбор кодов состояния HTTP. Часть 3 — Двигайтесь вперед, здесь нет ресурсов для просмотра (действительно), код состояния HTTP 204 vs 403 vs 404 vs 410), но не для пустых списков (обычно это 2xx класс успеха ).Кроме того, при возврате 4xx Client Error Class говорится, что потребитель сделал ошибку, действительно ли это так? Я так не думаю, потребитель просто предоставил поисковые фильтры, которые не соответствуют ни одному элементу в списке.

Это мое обоснованное мнение о том, что не следует использовать 404 Not Found для пустых списков, но если у вас есть веские причины использовать этот код состояния HTTP для этого варианта использования, не забывайте быть последовательным и предоставлять информативный отзыв об ошибках. В самом деле, если мы примем как должное, что GET / users? Name = spock возвращает 404 Not Found , если нет пользователей с именем spock.А как насчет GET / users , если пользователей нет вообще? Он должен возвращать тот же код состояния HTTP. И чтобы отличить это от более распространенного / path-that-does-not-exist , потребуется добавить некоторую информацию в тело ответа, чтобы объяснить фактическую причину этого ответа.

что вам нужно знать

Коротко о кодах состояния HTTP

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

HTTP — это трехзначные ответы, которые сервер возвращает по запросу клиента (браузера или поисковой системы).Они разделены на пять классов с несколькими вариантами, которые передают разные типы сообщений.

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

  • 200 ОК
  • 301 Постоянно перемещен
  • 302 Найдено / перемещено временно
  • 404 Не найдено
  • 410 Исчез
  • 503 Служба недоступна

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

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

HTTP — это трехзначные ответы, которые сервер возвращает по запросу клиента (браузера или поисковой системы).Существует пять классов кодов состояния, каждый из которых передает свой тип сообщения.

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

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

Обратите внимание, что мы будем использовать термины «URL», «страница» и «ресурс» как синонимы, в зависимости от контекста. В конце концов, это все ресурсы.

Полезные ресурсы

Коды статуса

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

Я лично считаю обработку кода статуса одним из наиболее важных элементов гигиены SEO и одним из самых важных текущих процессов.

Вот почему важно понимать коды состояния HTTP:

  • У нас было много дискуссий по 301 и 302 , с одним из самых больших расхождений между тем, что официально говорит Google, и тем, что говорит нам практичность. Я предлагаю позаботиться о любых 302s , потому что даже если они могут передавать PageRank так же, как 301s , Google не будет обновлять ваш фрагмент в поисковой выдаче. Имейте это в виду при любом типе миграции.
  • Soft 404 — одни из самых больших врагов крупных сайтов, по моему опыту. Обычно они сводятся к пустым страницам и должны быть исправлены, как и 404s .
  • 5xx часто возникают от случая к случаю, и о них следует немедленно позаботиться, поскольку за ними следует уменьшение бюджета сканирования.

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

Примечание о тайм-аутах и ​​других ошибках подключения

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

Поскольку это важно понимать, но сбивает с толку большинство людей, мы рассмотрим несколько примеров:

  • Ошибки тайм-аута подключения, такие как сообщение Google Chrome «Этот сайт недоступен», не являются кодами состояния.Сервер не достигнут, поэтому они не могут быть ответами сервера и не классифицируются как коды состояния.
  • Ошибки поиска DNS, такие как «Эта веб-страница недоступна» в Google Chrome. Эта ошибка также не является ответом сервера, поскольку клиенту не удалось подключиться к серверу из-за проблемы с DNS.

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

Почему коды состояния HTTP важны для SEO?

Цель SEO — привлечь органический трафик, который, вероятно, будет заинтересован в том, что вы хотите сказать.

Чтобы привлечь этот трафик, вам необходимо убедиться, что ваш контент доступен для поисковых роботов. Когда они запрашивают ваш контент, вы хотите, чтобы был возвращен статус HTTP 200 OK . Чего вы не хотите, так это того, чтобы коды состояния HTTP 5xx и 4xx возвращались, и вы также хотите свести коды состояния HTTP 3xx к минимуму.

Сканеры поисковых систем и веб-сайты используют протокол HTTP . Если вам сложно понять, о чем они говорят, как вы собираетесь стать эффективным SEO-специалистом?

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

Если вы используете CMS, такую ​​как WordPress, с плагином Redirect Manager, например Yoast, настроить 301 очень просто. Как специалисту по цифровому маркетингу, действительно полезно понимать, как это можно сделать без плагина и почему могут существовать коды статуса, которые вы не настроили намеренно. Почему? Это помогает вам быстрее отлаживать проблемы и позволяет более подробно обсуждать с разработчиками.

В идеальном мире у вас нет 404 ошибок или 301 переадресации внутри внутренних ссылок вашего веб-сайта.

Наиболее распространенные внутренние ошибки 404 вызваны людьми — использование относительных путей для ссылки на другой корневой домен, неправильный ввод URL-адреса и иногда вставка невидимых символов в ваш редактор WYSIWYG.

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

Не пропустите органический трафик

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

Как выглядят HTTP-ответы?

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

Заголовки содержат код состояния HTTP и другую информацию, такую ​​как инструкции о том, как долго клиент должен кэшировать ответ.

Заголовки не отображаются для пользователя, но они инструктируют клиента о том, как обрабатывать ответ и как отображать полезные данные тела (если они есть). Вы можете увидеть, какие заголовки HTTP были возвращены с помощью Web Inspector или других инструментов браузера.

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

Как выглядят коды состояния HTTP?

Давайте посмотрим на упрощенный пример того, что сделал ваш браузер, когда вы запросили эту страницу:

GET / академия / http-статус-коды / HTTP / 2

Это разбивается на:

  • GET : описывает метод HTTP , используемый для получения от сервера того, что вы хотите.
  • / academy / http-status-codes / : описывает, к какому URL-адресу относится запрос.
  • HTTP / 2 : описывает протокол для связи.

А вот заголовок ответа HTTP, который наш сервер отправил обратно:

HTTP / 2 200 ОК

  • HTTP / 2 — описывает, по какому протоколу взаимодействовать.
  • 200 ОК — запрос выполнен — ​​это то, что вы хотите увидеть.

Какие коды статуса HTTP являются наиболее распространенными в SEO?

Наиболее распространенные коды состояния HTTP, с которыми вы столкнетесь в повседневной SEO-жизни:

Как вы проверяете коды состояния HTTP?

Вы можете увидеть коды состояния HTTP прямо в браузере с помощью встроенных инструментов, плагина браузера или, например, инструмента проверки URL в консоли поиска Google.

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

Проверка кода состояния HTTP в вашем браузере с помощью встроенных инструментов

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

Каждый браузер поставляется с применимыми встроенными инструментами:

Анализ кода состояния HTTP на вкладке сети Google Chrome DevTools

Проверка кода состояния HTTP с помощью плагина для браузера

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

Один из примеров популярного плагина Google Chrome: Redirect Path (открывается в новой вкладке) от Ayima.

Путь перенаправления Ayima в действии, показывающий коды ответа для запроса варианта HTTP от Facebook.

Проверка кода статуса HTTP в Google Search Console

В Google Search Console вы можете запросить код статуса HTTP для URL с помощью функции проверки URL. Вы увидите код статуса HTTP как значение для «Выборка страницы».

Например, когда мы запрашиваем https: // www.contentkingapp.com/academy/protect-staging-environment/ и открыв панель «Покрытие», мы видим, что она возвращает «Успешно» — что на самом деле является кодом состояния 200 OK .

Консоль поиска Google показывает, что получение URL-адреса было успешным.

Когда мы запрашиваем несуществующий URL, мы видим следующее:

Консоль поиска Google показывает, что не удалось получить URL-адрес, поскольку сервер вернул ошибку 404 Not Found.

Когда дело доходит до диагностики заголовков состояния HTTP, одна из наиболее распространенных ошибок, которые я вижу, — это когда сервер отвечает условно в зависимости от User-Agent .

Например, я видел случаи, когда сервер отвечает со статусом 404 , когда браузер пытается получить доступ к файлу robots.txt, но когда вы используете браузер без сохранения состояния или инструмент командной строки, который имитирует Googlebot, сервер ответит совсем другое. Наихудший сценарий — это когда на самом деле есть статус HTTP 500 вместо 404 , который вы видели в браузере.

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

  $ curl -sIX GET --user-agent 'Mozilla / 5.0 (Linux; Android 6.0.1; Nexus 5X Build / MMB29P) AppleWebKit / 537.36 (KHTML, например, Gecko) Chrome / 41.0.2272.96 Mobile Safari / 537.36 (совместимый; Googlebot / 2.1; + http: //google.com/bot .html) 'http://yoursite.com
  

Если можете, также измените это, чтобы выводить HTML в файл.

Итак, мой совет: проверьте и обеспечьте согласованность в заголовках HTTP , независимо от браузера или агента пользователя. Не доверяйте только одному источнику, особенно плагинам браузера. Кроме того, если вы не знаете, что делаете, у сервера нет причин отвечать на запрос условно.

Полезные ресурсы

Как вы отслеживаете коды состояния HTTP?

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

Поэтому мы настоятельно рекомендуем отслеживать коды состояния HTTP ваших URL-адресов. Вы можете сделать это с помощью ContentKing, который предупреждает вас, если важные страницы начинают перенаправлять ( 3xx ) или возвращают ошибки клиента ( 4xx ) или ошибки сервера ( 5xx ).

Оповещение ContentKing, показывающее множество URL-адресов с измененными кодами статуса HTTP.

И, конечно же, вы всегда можете видеть код состояния HTTP любого URL-адреса, поскольку он обновляется в режиме реального времени.

Обзор страниц ContentKing, показывающий URL-адреса и их коды состояния HTTP.

Получите представление о кодах состояния HTTP вашего сайта

Позвольте ContentKing предупреждать вас, если важные страницы начинают перенаправлять или возвращают ошибки клиента или сервера.

Различные типы статусов HTTP

Существует пять классов кодов состояния ответа HTTP:

Коды состояния HTTP 1xx

Коды состояния HTTP 1xx являются информационными.Они указывают на то, что запрос был получен и понят, но просто еще не обработан.

Мы не рассматриваем коды состояния 1xx , так как они редко встречаются.

Полезные ресурсы

Коды состояния HTTP 2xx

Коды состояния HTTP 2xx указывают на успешные запросы. Все прошло по плану.

С точки зрения SEO, наиболее важным кодом статуса в диапазоне 2xx является код статуса HTTP 200 .

Код состояния HTTP 200 ОК
Что означает код состояния HTTP 200?

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

Обратите внимание, что это не код ошибки. Статус HTTP 200 OK означает, что все прошло нормально!

Пример правильного использования кода состояния HTTP 200

Когда запрашивается существующая страница, и этот код состояния HTTP является ответом.

Типичный пример неправильного использования кода состояния HTTP 200

Когда запрашивается несуществующая страница и используется код состояния HTTP 200 вместо кода состояния HTTP 404 или кода состояния HTTP 410. Это то, что мы называем программной ошибкой 404.

Полезные ресурсы

Коды состояния HTTP 3xx

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

Это происходит, когда запрос сделан для URL-адреса A, но URL-адрес A перенаправлен на URL-адрес B. Таким образом, запрос фактически должен быть сделан на URL-адрес B.

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

В этом разделе мы рассмотрим следующие коды статуса HTTP, поскольку они важны для SEO:

При просмотре кодов состояния перенаправления в анализе журнала через Chrome или Live Test Google Search Console важно не объединять обработку Google кодов 30X для HTML-страниц и ресурсов страниц.

Google использует коды 30X для страниц, чтобы канонизировать и консолидировать ссылочный вес. 302 vs 301 в файлах CSS или JS мало влияют, поскольку Google не нужно понимать каноническую версию. Активные или кэшированные ресурсы Google используются для рендеринга, а не для индексации.

301 код статуса: постоянное перемещение
Что означает код состояния HTTP 301?

Код состояния HTTP 301 , сокращенно «301 перенаправление», указывает, что ресурс окончательно перемещен в другое место. Запрос и все будущие запросы должны быть перенаправлены на другой URL вместо запрошенного источника.

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

301 редирект: постоянно перемещаемый контент
Пример правильного использования кода состояния HTTP 301

Когда веб-сайт перешел с HTTP на HTTPS , и каждый URL-адрес HTTP перенаправляется на свою версию HTTPS .301 редирект важен для успешной миграции веб-сайтов.

Типичный пример некорректного использования кода статуса HTTP 301

Когда страница временно недоступна.

Полезные ресурсы

Я склонен прислушиваться к совету Google с недоверием. Это не значит, что я думаю, что они пытаются передать дезинформацию, я просто не верю, что ответы всегда «полные».

Алгоритм поиска Google является проприетарным, и часть «игры» SEO заключается в тестировании компонентов, которые положительно / отрицательно влияют на ранжирование.Я полагаю, что Google довольно быстро видит убывающую отдачу при предоставлении информации / подтверждения теорий SEO, поэтому я не виню их за расплывчатость или потенциально неполные ответы на вопросы.

Что касается конкретно редиректов, я строго использую 301 редирект. Я видел слишком много миграций, в которых использовались редиректы, отличные от 301, с немедленным отрицательным влиянием на производительность. Будет ли переадресация 302 или 307 передавать значение ранжирования / канонизации с течением времени (согласно заявлению Google)?

Может быть.

Я готов подождать и узнать, нет!

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

Поскольку Google игнорирует теги rel = "canonical" для изображений, настройка переадресации 301 — единственный способ передать полномочия ваших старых изображений новым. Имейте в виду, что Google по-прежнему медленно отслеживает обновления изображений, поэтому убедитесь, что вы создали карты сайта для старых и новых изображений, чтобы поисковая система быстрее увидела изменения.

Также важно отметить, что Google увеличит скорость сканирования при обнаружении переадресации 301 в целом, поэтому, если у вас большой сайт электронной коммерции, убедитесь, что ваша среда хостинга может справиться с повышенной скоростью сканирования при переносе полной Веб-сайт!

302 код статуса: найдено / временно перемещено

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

Код состояния HTTP 302 , сокращенно «302 перенаправление», указывает, что ресурс временно перемещен в другое место.

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

Проще говоря: если перенаправление 302 существует в течение длительного времени, оно считается постоянным.

302 редирект: временно перемещенный контент
Пример правильного использования кода статуса HTTP 302

Вы запускаете кампанию и в течение короткого периода времени хотите вместо этого отправлять пользователей, переходящих с URL A на URL B.Через три недели кампания заканчивается, и вы удаляете 302 редирект.

Типичный пример некорректного использования кода статуса HTTP 302

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

Полезные ресурсы

303 код состояния: см. Другие
Что означает код состояния HTTP 303?

Код состояния HTTP 303 , сокращенно «303 перенаправление», указывает, что сервер перенаправляет URL-адрес запроса на другой URL-адрес.Его можно, например, использовать для предотвращения случайной повторной отправки пользователями форм при использовании кнопки «назад» в своем браузере, поскольку перенаправление 303 указывает, что последующий запрос на временный URL-адрес должен быть выполнен с использованием GET HTTP. метод.

Когда Гэри Иллиса из Google спросили, проходят ли переадресации 303 сигналы популярности, он ответил «Да» (открывается в новой вкладке); Когда дело доходит до форм, можно использовать 303 редирект, но не используйте их для перенаправления контента, не связанного с формами.

Почему?

Потому что Google отметил, что 303 редиректа также передают равенство ссылок (аналогично 301 редиректу), но они не отметили, что для этого требуется довольно много времени.

Пример правильного использования кода статуса HTTP 303

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

Типичный пример некорректного использования кода статуса HTTP 303

Когда контент постоянно перемещается и используется перенаправление 303 вместо перенаправления 301.

Полезные ресурсы

Вредят ли переадресации вашей SEO-эффективности?

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

Коды состояния 304: Не изменено

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

Код состояния HTTP 304 , сокращенно «304 перенаправление», указывает, что запрошенный ресурс не изменялся с момента последнего запроса; поэтому он не будет возвращен клиенту, и вместо этого следует использовать кешированную версию.

Пример: мы открыли страницу 27 мая 2019 года в 9:00. В четверг, 30 мая, мы снова получаем доступ к странице, но мы спрашиваем сервер, изменилась ли страница с момента нашего последнего доступа к ней. Мы можем сделать это, добавив это условие в запрос.

If-Modified-Since: Mon, 27 May 2019 09:00:00 GMT

Пример правильного использования кода статуса HTTP 304

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

Типичный пример некорректного использования кода статуса HTTP 304

Ответ с кодом состояния HTTP 304 , когда страница действительно изменилась.

Полезные ресурсы

307 код состояния: временное перенаправление / внутреннее перенаправление
Что означает код состояния HTTP 307?

Код состояния HTTP 307 , сокращенно «307 редирект», — это HTTP 1.1 эквивалент редиректа 302. Перенаправление 302 не гарантирует, что в используемый метод HTTP не будет внесено никаких изменений, в отличие от перенаправления 307. Редирект 307 был изобретен, чтобы гарантировать, что метод HTTP, используемый для выполнения запроса, не изменится, когда сервер отвечает перенаправлением. Например, если использовался HTTP-метод GET , то HTTP-метод GET передается как часть перенаправления.

307 код статуса как внутреннее перенаправление

Редирект 307 также используется в качестве внутреннего перенаправления в тех случаях, когда браузер знает, что HTTPS применяется.Браузер может знать это либо потому, что это было сказано при выполнении предыдущих запросов, либо потому, что домен находится в списке предварительной загрузки HSTS.

Список предварительной загрузки HSTS — это список доменов, использующих HTTPS . Даже если пользователь может запросить версию URL-адреса HTTP , браузер будет использовать внутреннее перенаправление 307 для запроса версии URL-адреса HTTPS . Это предотвратит ненужные небезопасные запросы.

Этот список доступен для всех браузеров.См. Раздел «Отправка списка предварительной загрузки HSTS» (открывается в новой вкладке) для получения дополнительной информации.

Пример правильного использования кода статуса HTTP 307

Когда используется внутреннее перенаправление 307 , чтобы убедиться, что соединение остается безопасным.

Типичный пример некорректного использования кода статуса HTTP 307

Когда контент постоянно перемещается и используется перенаправление 307 вместо перенаправления 301.

Полезные ресурсы

308 код статуса: постоянное перенаправление
Что означает код состояния HTTP 308?

Код состояния HTTP 308 , сокращенно «308 редирект», — это HTTP 1.1 эквивалент 301 редиректа, и он не позволяет изменить метод запроса с POST на GET .

На данный момент не очень ясно, какой авторитет страницы передает перенаправление 308, поэтому мы рекомендуем вместо этого использовать перенаправление 301, чтобы указать, что контент перемещен навсегда.

Полезные ресурсы

Коды состояния HTTP 4xx

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

В этом разделе мы рассмотрим следующие коды статуса HTTP, поскольку они важны для SEO:

401 код статуса: не авторизован
Что означает код состояния HTTP 401?

Код состояния HTTP 401 является ошибкой и указывает на сбой проверки подлинности HTTP. Запрошенная страница требует комбинации имени пользователя и пароля и / или не имеет доступа в зависимости от ее IP-адреса.

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

Пример правильного использования кода статуса HTTP 401

Когда реализована HTTP-аутентификация и вы отклоняете неверные запросы с кодом состояния HTTP 401 .

Типичный пример некорректного использования кода статуса HTTP 401

Использование кода состояния HTTP 401 вместо 403 , чтобы указать, что авторизация не удалась.

Полезные ресурсы

403 код статуса: Запрещено
Что означает код состояния HTTP 403?

Код состояния HTTP 403 , для краткости «ошибка 403», указывает, что запрашивать URL-адрес запрещено. Этот код состояния обычно используется как постоянная мера для предотвращения того, чтобы сканеры (поисковой системы) выполняли запросы после некорректного поведения. Он также возвращается в случае, если клиент предоставляет неправильные учетные данные для входа.

Обратите внимание, что коды состояния HTTP 401 и 403 используются в разных ситуациях.

Пример правильного использования кода статуса HTTP 403

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

Типичный пример некорректного использования кода статуса HTTP 403

Использование кода состояния HTTP 403 вместо 401 , чтобы указать, что клиент не авторизован для выполнения запросов.

Полезные ресурсы

404 код статуса: не найдено
Что означает код состояния HTTP 404?

Код состояния HTTP 404 , для краткости «ошибка 404», указывает на то, что запрошенный ресурс не может быть найден.Он явно не говорит, что его можно было найти раньше, в отличие от кода состояния HTTP 410 , но просто говорит: «Эй, у нас нет того, что вы ищете (больше)».

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

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

Хотя поисковые системы не удаляют URL-адреса, возвращающие из своего индекса ошибки 404, после однократного попадания в 404 , они могут сделать это после нескольких попыток, поэтому вам необходимо отслеживать ошибки 404. Если URL-адрес постоянно возвращает ошибки, зачем им хранить его в своем индексе?

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

Пример правильного использования кода статуса HTTP 404

Когда вы обслуживаете код состояния HTTP 404 для всех запрошенных URL-адресов, которые не существуют и никогда не существовали.

Типичный пример некорректного использования кода статуса HTTP 404

Использование кода состояния HTTP 404 на страницах, которые существуют и действительно работают нормально.

Полезные ресурсы

Предупреждение… хотя ошибки , 404, и программные 404 являются обычным явлением в Search Console и часто не вызывают беспокойства, НЕ применяйте политику перенаправления ошибок 404 для URL-адресов, которые никогда не существовали!

Это стало распространенной тактикой негативного SEO, когда злоумышленники злоупотребляют URL-адресами, которые могут быть действительными (например, результатами поиска).Они создают спам-ссылки на эти страницы и ожидают, что, когда вы увидите 404s в Search Console, вы перенаправите их. Как только вы это сделаете, эти спам-ссылки будут накапливаться на любой странице, на которую вы были перенаправлены!

Многие платформы на основе JavaScript делают практически невозможным (или невозможным) правильную доставку кода состояния 404 , когда страница не существует. По сути, запрос REST API выполнен успешно, но не возвращает содержимого. Из-за «успеха» вы получаете код статуса 200 … но страницы нет! Обычным обходным решением для этого является перенаправление на URL-адрес, который всегда возвращает код состояния 404 .

Хотя это не самое чистое решение, оно гарантирует, что поисковые системы не будут введены в заблуждение и не станут недоверчивыми, когда существует бесконечное количество URL-адресов, возвращающих код состояния 200 .

410 код статуса: ушел
Что означает код состояния HTTP 410?

Код состояния HTTP 410 , для краткости «ошибка 410», указывает, что запрошенный URL был окончательно удален. Это означает, что URL-адрес существовал раньше, но был явно удален и больше не вернется.

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

Пример правильного использования кода статуса HTTP 410

Когда вы обслуживаете код состояния HTTP 410 для всех URL-адресов, которые были явно удалены и не вернутся.

Типичный пример некорректного использования кода статуса HTTP 410

Использование кода состояния HTTP 410 для URL-адресов, которые временно недоступны.

Полезные ресурсы

Группа кодов состояния 4xx используется для указания, когда страница недоступна на сервере. Чаще всего это заголовок 404 с пометкой «Страница не найдена».

Код состояния 410 используется, чтобы указать, что контент был намеренно удален. Хотя мы иногда видим, что компания использует это, когда они удаляют инвентарь (например, товар или объявление о недвижимости), обычно это не рекомендуемый подход по сравнению сперенаправление на соответствующую замену.

Чаще всего мы используем код статуса 410 , когда мы удалили URL-адреса, которые, как нам кажется, никогда не вернутся для домена. В качестве примера, когда сайт был взломан и внезапно появляются спамерские URL-адреса, или если мы определяем, что более выгодно использовать «наживку» на URL-адресе по сравнению с постоянными попытками очистки ссылок.

418 код статуса: я чайник
Что означает код состояния HTTP 418?

Код статуса HTTP 418 на самом деле немного шутка, так как он исходит из шутки.1 апреля 1998 года протокол HTCPCP был определен в RFC 2324 как протокол связи для управления, мониторинга и диагностики кофейников.

Это не реальный код статуса, который что-то делает, но он иногда используется Google в качестве пасхального яйца, например.

Полезные ресурсы

429 код состояния: слишком много запросов
Что означает код состояния HTTP 429?

Код состояния HTTP 429 , для краткости «ошибка 429», указывает на то, что клиент делал слишком много запросов к серверу в течение определенного периода времени.

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

Если сервер продолжает возвращать в Google коды состояния 429 HTTP в течение более длительного периода времени, Google может удалить контент, для которого они получают коды состояния HTTP 429 .Это еще одна причина убедиться, что ваша хостинговая платформа надежна, и всегда возвращать правильные коды статуса для правильной работы.

Вот что Гэри Иллес из Google сказал об этом в Twitter:

Пример правильного использования кода состояния HTTP 429

Когда клиент запрашивает слишком много URL-адресов в течение определенного периода времени и с кодом состояния HTTP 429 , сервер посылает четкий сигнал о том, что клиент должен замедлиться.

Типичный пример некорректного использования кода статуса HTTP 429

Использование кода состояния HTTP 429 вместо кода состояния HTTP 403 для защиты от мошенников.

Полезные ресурсы

430 код состояния: Слишком большие поля заголовка запроса (Shopify)
Что означает код состояния HTTP 430?

Код состояния HTTP 430 — это неназначенный (неофициальный) код состояния. Этот код состояния HTTP не следует использовать.

Однако Shopify перепутала использование кодов состояния и неправильно отправляет код состояния 430 , хотя на самом деле они должны отправлять 429 .

Итак, когда вы отслеживаете сайт Shopify и получаете 430 ошибок, это означает, что вы запрашиваете слишком много URL-адресов в течение определенного периода времени.В этом случае лучше всего снизить скорость мониторинга.

Пример правильного использования кода статуса HTTP 430

Этот код состояния используется неправильно.

Типичный пример некорректного использования кода статуса HTTP 430

Shopify с использованием кода состояния HTTP 430 вместо 429 .

Полезные ресурсы

451 код статуса: недоступен по юридическим причинам
Что означает код состояния HTTP 451?

Код состояния HTTP 451 , для краткости «ошибка 451», указывает, что запрошенный URL-адрес недоступен по юридическим причинам.Например, он может быть подан, когда вам было приказано (или только что получено требование) удалить определенную страницу. Номер кода состояния 451 является ссылкой на книгу по 451 градусам Фаренгейта (открывается в новой вкладке).

Интернет-провайдеры

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

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

Пример правильного использования кода статуса HTTP 451

Когда кто-то явно скопировал контент с другого веб-сайта и впоследствии получил приказ удалить его и, таким образом, возвращает 451 ошибку клиентам, которые запрашивают URL-адрес, при этом объясняя, что произошло.

Типичный пример некорректного использования кода статуса HTTP 451

Обслуживает 451 ошибку, когда люди из Европейской экономической зоны (ЕЭЗ) запрашивают ресурсы с веб-сайтов за пределами ЕЭЗ из-за опасений по поводу последствий GDPR.

Pilotonline.com неправильно возвращает код статуса HTTP 451

Полезные ресурсы

Коды состояния HTTP 5xx

5xx Коды состояния HTTP, для краткости «ошибки 5xx», обслуживаются, когда клиенты делают допустимые запросы, но серверы не могут их выполнить по какой-либо причине. Например, веб-сайт может быть слишком загружен или временно недоступен для обслуживания.

Если поисковые системы часто получают ошибку 5xx (или 429 , если на то пошло) при сканировании веб-сайта, они могут делать ряд вещей, ни одна из которых не является хорошей с точки зрения SEO:

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

В этом разделе мы рассмотрим следующие коды состояния:

500 код состояния: внутренняя ошибка сервера
Что означает код состояния HTTP 500?

Код состояния HTTP 500 , для краткости «ошибка 500», указывает на то, что у сервера возникли проблемы с обработкой запроса, но он не может явно указать, что пошло не так.

Пример правильного использования кода статуса HTTP
500

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

Типичный пример некорректного использования кода статуса HTTP
500

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

Полезные ресурсы

503 код состояния: служба недоступна
Что означает код состояния HTTP 503?

Код состояния HTTP 503 , сокращенно «ошибка 503», указывает на то, что сервер временно недоступен и будет снова доступен позже.Это может быть связано с плановым обслуживанием (хотя мы настоятельно не рекомендуем этого делать) или когда сервер слишком загружен.

Ошибка 503 позволяет включить в свой ответ значение « Retry-After », в основном говоря: «Попробуйте еще раз позже, тогда я смогу обработать ваш запрос».

Подобно коду состояния HTTP 429, Google может удалять контент, для которого они получают коды состояния HTTP 503 на более длительный период времени.

Предупреждать об ошибках 5xx

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

Пример правильного использования кода статуса HTTP 503

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

Типичный пример некорректного использования кода статуса HTTP 503

Обработка ошибки 503 со значением « Retry-After » в прошлом или в далеком будущем.

Полезные ресурсы

Если ваш сайт выходит из строя по какой-либо причине и страницы становятся недоступными в течение длительного периода времени, поисковые системы в конечном итоге удаляют страницу из своего индекса.Чтобы предотвратить это, используйте код состояния 503 с заголовком Retry-After с указанным временем, сообщая поисковым роботам снова попытаться получить доступ к странице через X промежуток времени. Вы также можете указать дату в случаях, когда у вас запланирован простой и вы точно знаете, когда сайт снова будет доступен.

Образец кода

Retry-After: Wed, 11 Nov 2019 23:59:59 GMT

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

Retry-After: 7200

Это указывает поисковым роботам попытаться повторно получить доступ к сайту через два часа (время в секундах 60 x 120 = 7200 секунд или 2 часа).

Имейте в виду, что вам необходимо как можно скорее убедиться, что ваш веб-сайт снова доступен, чтобы предотвратить деиндексирование ваших страниц. Даже код состояния 503 с заголовком Retry-After не может помешать поисковым системам деиндексировать страницы, если они недоступны в течение длительного периода времени.

524 код состояния: истекло время ожидания (Cloudflare)
Что означает код состояния HTTP 524?

Код статуса HTTP 524 официально не существует. Он был создан Cloudflare и отправляется по истечении времени ожидания источника запроса. Проблема не в Cloudflare; вместо этого проблема заключается в сервере, на который полагается Cloudflare.

Понятно, что Cloudflare изобрели здесь свой собственный код статуса HTTP, потому что, когда были разработаны коды статуса HTTP, таких компаний, как Cloudflare, еще не существовало.

Cloudflare возвращает ошибку 524

Полезные ресурсы

Заключительные слова

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

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

Вот список наиболее распространенных кодов состояния HTTP из всех:

  • 200 ОК
  • 301 Постоянно перемещен
  • 302 Найдено / перемещено временно
  • 404 Не найдено
  • 410 Исчез
  • 503 Служба недоступна

Выучите их хорошо!

Удачи, дайте нам знать (открывается в новой вкладке), если вы считаете, что мы пропустили код статуса, важный для SEO!

Ресурсы, использованные при создании этой статьи

Часто задаваемые вопросы

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *