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

Http — что это такое, как просмотреть заголовки и проверить код ответов сервера, что означают коды 200, 301, 302, 404 и 500 |

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Http — что это такое, как просмотреть заголовки и проверить код ответов сервера, что означают коды 200, 301, 302, 404 и 500

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

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

Что такое http и онлайн сервисы для просмотра ответа сервера

Итак, при запросе браузером пользователя какой-либо страницы вашего сайта вместе с Html кодом этой вебстраницы, обозревателю будет передан и так называемый Http заголовок с ответом хоста, в котором помимо прочей информации будет указан код. Он представляет из себя трехзначное число (наиболее часто встречаются варианты 200, 301, 302, 404), которое обозначает ситуацию, сложившуюся на хосте при обработке запроса браузера.

Если ответ на http запрос приходит положительный (200 OK), то браузер начинает загрузку нужного ему файла. Если отрицательный, то информирует об этом пользователя. Имеется еще и шифрованный протокол SHTTP, но сути дела это не меняет.

Например, при успешной загрузке страницы, в браузер будет передан Http заголовок с кодом 200 OK (кроме цифр еще приводится и поясняющая надпись). В случае, если запрошенная страница на сервере найдена не будет, то браузер получит ответ 404 Not Found. Можете сами проверить ответ главной страницы своего сайта, например, на этом сервисе.

К примеру, введя туда заведомо несуществующий адрес страницы своего ресурса (для этого после доменного имени можно написать любую ахинею, например, https://ktonanovenkogo. ru/трали-вали), будет получен примерно такой Http заголовок:

И это хорошо, ибо поисковые системы правильно обработают данный ответ сервера и не будут добавлять в индекс вашу несуществующую вебстраницу (404 страница для Joomla, 404 Not Found для Вордпресса).

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

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

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

Обязательно проверьте коды ответа хотя бы у некоторых вебстраниц вашего ресурса, и особенно проверьте правильность цифр, выдаваемых в ответ на запрос несуществующего документа (введите что-то типа https://vash-domen. ru/jhguytrhkfkfijd). Для этой цели можно воспользоваться приведенным выше онлайн сервисом или же рядом других, способных показать все это:

Все возможные варианты кодов ответа сервера

Обращу ваше внимание еще и на ответ сервера 301, который появляется в случае использования редиректа (перенаправление навсегда). Дело в том, что поисковые системы рекомендуют использовать 301 редирект в случае изменения адреса (URL) страницы сайта (он будет перебрасывать посетителя со старого Урла на новый) или, например, при склейке зеркал сайта с WWW или без WWW, как это было описано тут.

Если вы использовали 301 редирект, то можете проверить правильность Http ответа при обращении к склеенным Урлам. Например, при запросе www. ktonanovenkogo. ru сервер дает правильный ответ 301 Moved Permanently:

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

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

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

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

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

300-399 означают переадресацию и необходимость выполнить дополнительные действия (например,301 — грубо говоря, документ изменил адрес навсегда; 302 — документ изменил адрес временно)

Более подробно посмотреть все возможные коды ответа в Http заголовке вы можете, например, в Википедии.

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

Комментарии и отзывы (18)

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

Благодарю за статью

спасибо огромное за такую статью — было очень интересно почитать и я добавлю вас в свою рссленту

Дмитрий, еще есть плагины для определения кодов ответа, например, для FF:

— firebug, вы его раньше описывали, разноплановый инструмент.

— LiveHTTPHeaders https://livehttpheaders. mozdev. org/index. html чисто под заголовки, очень удобный.

radiomaster: спасибо большое за ценное дополнение.

А как настроить чтобы сервер отдавал вот такой ответ:

Expires: Wed, 11 Jan 1984 05:00:00 GMT

Cache-Control: no-cache, must-revalidate, max-age=0

Last-Modified: Wed, 09 Mar 2011 14:52:43 GMT

т. е. время последнего изменения, сколько хранить кэш?

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

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

Поставил 301 редирект с WWW на без WWW. Но при проверке несуществующего адреса www. site. ru/несуществующая. html, перекидывает на главную без WWW. Как бы решить эту проблему. Спасибо.

Здравствуйте, Дмитрий. Помогите решить проблему — на моем сайте (Joomla! 1.5.23) некорректно работает обработка 404 ошибки.

Например, URL реальной страницы (свой SEF отображение):

но если поставить пробел или добавить-удалить символ в любом месте URL после «https://banketoff. com/index. php/mainmenu-halls/», и сделать, например, такой URL:

код 404 ошибки не выдается.

Все эти действия в первой части адреса приводят к нормальной 404 ошибке.

Очень прошу помочь решить проблему. Заранее спасибо.

Руслан: скорее всего этот вопрос нужно задать вашему хостеру и добиться от него вразумительного ответа.

Облазил весь интернет, так и не нашел ответа. Может Вы сможете мне помочь?

Куда конкретно нужно прописать скрипт на сайте джумла 1.5 для правильного ответа If-Modified-Since. На джумле включен модуль для создания ЧПУ.

А что делать если ответ 200ОК? И переадресация идет на главную страницу.

У меня главная страница с www и без www — обе показывают 200 OK, хотя в robots. txt указан основной хост, на яндексе прописаны зеркала и указан основной хост и в htaccess стоит редирект.

Что я сделала не так? Не подскажете?

Хороший у вас сайт, плюсогугланула ?

Ну сделала я свою страницу 404. и что это мне дало, не очень поняла из статьи. ARTIO не ставила, уже много страниц проиндексировано Яндексом, боюсь экспериментировать.

А 130 страниц 404 как висели с весны в яндекс мастере так и висят, некоторые давноудалены на сайте, а другие получились, когда я не сразу встроенный sef включила. И как с этими страницами быть? Меня накажут?

Буду очень призательна за ответы на мои вопросы. Я подписалась.

Затвитерила. Контактнула. Фэйсбукнула.

Спсибо, очень полезная статья!

Статья как всегда очень содержательна, помогла спасибо!

Кстати, ответ сервера я проверяю https://analizsaita. com/proverit-otvet-servera

У меня прото беда. Раньше были Last Modified и 304 Not Modified, а теперь нет. Пробовал плагин Add Headers — работает прекрасно (есть Last Modified и 304 Not Modified), но разваливается sitemap. xml Плагин снес.

Вствалял в файл шаблона header. php.

Устанавливал Hyper Cache — толку нет.

Ничего разумного нагуглить не смог. И что тут делать?

Здравствуйте у меня скоро экзамены и мне нужна помощь у меня онлайн тест я пытаюсь расшифровать HTML И JAVASCRIPT с целью получения правильных ответов но не получается

Источники:
https://webznam. ru/publ/google/iveb/kody_sostojanija_oshibok_http/9-1-0-477https://ktonanovenkogo. ru/web-obzory/prosmotr-http-zagolovka-proverka-koda-otveta-servera-200-301-302-404-500.html
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

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