Проверить код ответа сервера

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

О том, что означают коды ответов сервера, — в новом выпуске «Азбуки SEO».

Что такое «код ответа сервера»

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

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

Как проверить код ответа сервера


Чтобы увидеть код при работе в Google Chrome, воспользуйтесь вкладкой Network на панели инструментов разработчика (чтобы попасть туда, нажмите F12). После открытия панели обновите страницу.

Как проверить код ответа сервера

Также можно использовать расширения для браузеров: Live HTTP Headers для Firefox, HTTP Headers для Chrome. С их помощью можно в один клик получить информацию по отдельным страницам. А для массовой проверки по списку URL можно использовать Netpeak Spider, Netpeak Checker или онлайн-инструмент Urlitor (анализ до 150 URL-адресов).

Что такое «классы состояния»

Это группы кодов, объединенных определенными признаками. На класс состояния указывает первая цифра в коде.

Выделяют пять классов:

  1. 1xx — информационные коды. Они отвечают за процесс передачи данных. Это временные коды, они информируют о том, что запрос принят и обработка будет продолжаться.
  2. 2xx — успешная обработка. Запрос был получен и успешно обработан сервером.
  3. 3xx — перенаправление (редирект). Эти ответы сервера гласят, что нужно предпринять дальнейшие действия для выполнения запроса. Например, сделать запрос по другому адресу.
  4. 4xx — ошибка пользователя. Это значит, что запрос не может быть выполнен по его вине.
  5. 5xx — ошибка сервера. Эти коды возникают из-за ошибок на стороне сервера. В данном случае пользователь всё сделал правильно, но сервер не может выполнить запрос. Для кодов этого класса сервер обязательно показывает сообщение, что не может обработать запрос и по какой причине.

Основные ответы сервера

200 ОК

Самый популярный и важный статус. Означает, что запрос выполнен успешно в соответствии с ожиданиями пользователя — запрошенные данные или страница существуют и доступны для просмотра. Все страницы, которые мы хотим видеть в индексе поисковых систем, должны отдавать код 200 OK.

301 Moved Permanently

Этот ответ гласит, что документ или страница были перемещены на другой адрес навсегда. Если у страницы, которая уже была в выдаче поисковых систем, изменился адрес, для сохранения трафика и ссылочного веса рекомендуется настраивать 301 редирект со старого URL-адреса на новый. В конечном итоге поисковик «склеит» эти адреса.

302 Found

Документ временно перенесен на другой адрес. Этот код — сигнал о том, что удалять эту страницу из индекса не надо. По заявлению Gary Illyes из Google, ссылочный вес при этом передается.

304 Not Modified

Важный код с точки зрения нагрузки на сервер и количества передаваемых данных. Сервер возвращает 304 код, если в HTTP-заголовке дата последнего обновления (Last-Modified) старее, чем в запросе с заголовком If-Modified-Since. То есть, если документ не менялся с указанной даты, сервер возвращает код 304 Not Modified. В таком случае роботам поисковиков нет необходимости загружать документ повторно: он не изменился с момента их последнего визита. Фактически они получают только http-заголовки и двигаются дальше.


403 Forbidden

Отказано в доступе. Этот ответ возвращается, если пользователю запрещен доступ к данному документу. В данном случае речь не идет об HTTP-аутентификации (для таких случаев используются 401 и 407 коды). 403 код выводится, например, при входе с запрещенных IP или попытке просмотра системного файла .htaccess.

404 Not Found

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

Страница с сообщением 404 File Not Found не всегда отдает код 404. Многие вебмастера не уделяют этому внимание, что в результате может негативно сказаться на ранжирования всего сайта. Это так называемые страницы «Soft 404». Они возникают, если несуществующая страница отдает код ответа, отличный от 404 и 410. К «Soft 404» могут быть причислены страницы, которые должны отдавать код 200, но на них нет контента (пустая страница). Решение вопроса — найти такие страницы и обязательно настроить для них 404 код.

В искусстве оформления 404 страниц многие преуспели. Отвлекитесь и зацените:

  • Разговорчивые строители;
  • Ты не должен быть здесь;
  • А здесь можно немного поиграть.

Смотрите также другие интересные примеры дизайна страниц с 404 ошибкой.

410 Gone

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

451 Unavailable For Legal Reasons

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

500 Internal Server Error

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


503 Service Unavailable

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

504 Gateway Timeout

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

Выводы

  1. Существуют пять групп кодов ответа сервера — классы состояния, указывающие на разные этапы процесса передачи данных: от успешной обработки до ошибки сервера.
  2. Все страницы, которые мы хотим видеть в индексе поисковых систем, должны отдавать код 200 OK.
  3. Если у страницы, которая уже была в выдаче поисковых систем, изменился адрес, рекомендуется настраивать 301 редирект со старого URL-адреса на новый.
  4. Если несуществующая страница отдает код ответа, отличный от 404 и 410, возникает ошибка страниц «Soft 404». К ним могут быть причислены страницы, которые должны отдавать код 200, но на них нет контента.

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

Напоследок вопрос на общую эрудицию: почему для ответа сервера Unavailable For Legal Reasons выбрали число 451?

netpeak.net

Что такое код ответа сервера?


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

1xx — информационные:

  • 100 — сервер принял первую часть запроса, можно подрожать передачу;
  • 101 — нужно изменить протокол работы на более подходящий;
  • 102 — на обработку запроса уйдет много времени, используется чтобы браузер не разрывал соединение раньше времени;

2хх — операция успешна:

  • 200 — запрос выполнен успешно, отправляется для большинства запрашиваемых страниц;
  • 201 — после выполнения запроса был создан ресурс;
  • 202 — запрос принят, но еще не обработан;
  • 203 — запрос выполнен успешно, но информация для ответа взята из прокси;
  • 204 — запрос обработан, но контента для отображения нет;
  • 205 — попросить пользователя ввести необходимые данные;
  • 206 — запрос обработан, но передана только часть контента;

3xx — перенаправления:

  • 300 — есть несколько страниц для этого запроса, например, на нескольких языках;
  • 301 — страница навсегда перемещена по новому адресу;
  • 302 — документ был временно перемещен;
  • 303 — документ необходимо загрузить по указанному адресу с помощью протокола GET;
  • 304 — документ не изменился с последнего запроса;
  • 305 — нужно использовать прокси;
  • 307 — ресурс временно перемещен на новый адрес.

4хх — ошибка в запросе:

  • 400 — неверный запрос;
  • 401 — необходимо аутентифицироваться;
  • 403 — запрос принят, но у вас нет доступа;
  • 404 — страница не найдена на сервере;
  • 405 — используемый метод нельзя применять на сервере;
  • 408 — время ожидания передачи запроса истекло;
  • 410 — ресурс полностью удален;
  • 411 — нужно указать длину запроса;
  • 413 — запрос слишком длинный;
  • 414 — URI запроса слишком длинная.

5хх — ошибка сервера:

  • 500 — внутренняя ошибка сервера;
  • 501 — нужная функция не поддерживается;
  • 502 — прокси не может соединиться со шлюзом;
  • 503 — сервер не может обрабатывать запросы по техническим причинам;
  • 504 — прокси не дождался ответа от сервера;
  • 505 — версия протокола HTTP не поддерживается.

Что такое http заголовки?

С помощью http заголовков клиент и сервер обмениваются информацией и командами между собой. Они используются для согласования метода, протокола, кодировки, языка и многих других параметров работы. Рассмотрим основные заголовки, которые будет отправлять сервер:

  • Server — имя и версия веб-сервера;
  • Date — дата осуществления запроса;
  • Content-Type — MIME тип передаваемых данных, например, text/html, тут же задается кодировка;
  • Connection — тип соединения, может быть closed — уже закрыто, или keep-alive — открыто для передачи данных;
  • Vary — указывает при каких заголовках веб-сервер будет возвращать разные старины для одного URI;

  • Set-Cookie — сохранить Cookie информацию для страницы;
  • Expires — можно хранить страницу или ресурс в кэше до определенной даты;
  • Cache-Control — настройка времени кэширования страницы браузером, а также разрешения на кэширования;
  • ETag — содержит контрольную сумму для страницы, применимо для проверки кэша;
  • Last-Modified — дата, когда страница последний раз была изменена;

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

Проверка кода ответа сервера с помощью cURL

Чтобы увидеть только код ответа страницы достаточно выполнить такую команду:

curl -s -o /dev/null -w "%{http_code}" https://losst.ru

Проверить код ответа сервера

Или, если хотите, чтобы ответ выглядел более естественно:

curl -I https://losst.ru 2>/dev/null | head -n 1 | cut -d$' ' -f2

Проверить код ответа сервера

Страницы вернули 200, все в порядке. Но отправляет ли сервер редирект для нужных нам страниц? Если ваш сайт работает на https, то все запросы http должны перекидываться на https, также для любого сайта, все запросы на www домен должны перенаправляться на основной, или наоборот. Запросы на ip сайта тоже в идеале должны отправляться на основной домен. Проверка http ответа:


curl -I http://losst.ru 2>/dev/null | head -n 1 | cut -d$' ' -f2

curl -I https://www.losst.ru 2>/dev/null | head -n 1 | cut -d$' ' -f2

Проверить код ответа сервера

Все работает так, как нужно. Но смотреть код ответа сервера вряд ли понадобиться, намного интереснее проверка http статусов.

Проверка http заголовков с помощью Curl

Для проверки заголовков мы тоже можем использовать утилиту curl. Чтобы вывести заголовки страницы запустите ее с опцией -I:

curl -I https://losst.ru

Проверить код ответа сервера

Здесь отображается код ответа сервера, а также принятые http заголовки. Из них мы можем сделать такие выводы:

  • Страница сгенерирована в nginx 1.10.2;
  • Это обычная html страница (text/html);
  • Размер страницы 102452 байт или 100 кб;
  • Страница последний раз изменялась 18:13:12 (last_modified) это очень важный параметр для поисковых систем;
  • Сервер будет выдавать разные версии страниц при изменении поля Accept-Encoding (Vary);
  • Страница может храниться в любом кэше (public) на протяжении часа (expires);

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

 curl -I https://losst.ru/wp-content/uploads/2016/08/map-2.png

Проверить код ответа сервера

Мы можем видеть, что картинка будет храниться в кэше намного дольше (max-age) чем html страница.

Осталось проверить работают ли такие заголовки, как If-Modified-Since и If-None-Match. Первый позволяет выполнять проверку актуальности кэша по дате модификации, второй — по контрольной сумме поля ETag. Кэш очень важен, чтобы снизить нагрузку на ваш сервер. Если страница не изменилась, то сервер лишь сообщает что она не изменилась, отправляя код ответа 304, вместо передачи полного файла.

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

Проверка If-Modified-Since

Сначала запрашиваем нашу страницу для просмотра заголовков http, а затем копируем поле Last-Modified:

curl -I https://losst.ru

Проверить код ответа сервера

Теперь запрашиваем ее еще раз, но уже с заголовком If-Modified-Since: и ваша дата:

curl -I --header 'If-Modified-Since: Mon, 26 Dec 2016 18:13:12 GMT' https://losst.ru

Проверить код ответа сервера

В ответ вы должны получить не саму страницу, а только заголовок HTTP/1.1 304 Not Modified. Если так, значит проверка кода ответа сервера пройдена и все работает верно.

Проверка If-None-Match

Заголовок If-None-Match работает похожим образом, только здесь используется значение контрольной суммы кэша из поля ETag. Опять запросим нашу страницу и скопируем сумму:

curl -I https://losst.ru

Проверить код ответа сервера

Затем отправим полученную сумму с заголовком:

curl -I --header 'If-None-Match: "58615db8-19034"' https://losst.ru

Проверить код ответа сервера

 

 

И снова мы должны получить ответ 304, страница не изменена.

Проверка сжатия

Сжатие позволяет уменьшить размер передаваемых данных, но в то же время создает дополнительную нагрузку на сервер. Чтобы проверить поддерживает ли сервер сжатие gzip нужно отправить в запросе заголовок Accept-Encoding с параметром gzip:

 curl -I https://losst.ru --header 'Accept-Encoding: gzip'

Проверить код ответа сервера

В ответе мы увидим поле Content-Encoding: gzip. Это будет означать, что сжатие используется.

Выводы

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

losst.ru

Массовая проверка кода ответа сервера

Как пользоваться инструментом?

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

  1. Отслеживания работоспособности продвигаемых SEO-специалистами страниц.
    В том случае если продвигаемая страница отдаёт неверный код ответа сервера (отличный от 200 ОК), это может приводить к исключению страницы из индекса поисковой системы.

  2. Отслеживания работоспособности страниц, на которые ведут объявления рекламной кампании.
    Возможны ситуации, когда с сайта удаляются товары (страницы), на которые ведут объявления рекламной компании. С помощью сервиса можно своевременно обнаружить ошибки, получив коды ответа сервера для целого списка страниц (максимум за одну итерацию — 100 ссылок).

    Работа инструмента проверки кода

    В данном случае страница № 4 отдаёт код 404, что говорит о её недоступности к индексации.

  3. Выявления редиректов в структуре сайта для исключения излишних перенаправлений.

    Проверить код ответа сервера

    Если в исходном коде имеются ссылки на указанные URL-адреса, то рекомендуется заменить их на конечные URL-адреса (столбец «URL-переадресации»).

 

Зачем столбец с размерами страниц?

  1. Избыточный вес страниц может негативно влиять на ранжирование документа.
    Максимальное рекомендованное значение: 120 Кб. В случае превышения данного лимита стоит оптимизировать контент, расположенный на странице (выносить в отдельный файлы JS и CSS-фрагменты).

  2. По весу страницы можно сделать определённые выводы о типе документа, расположенному по введенному URL-адресу, а также находить потенциальные дубли.
    Рассмотрим ряд страниц интернет-магазина измерительной техники:

    Проверить код ответа сервера

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

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

 

Возможность скачать результат в CSV

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

Проверить код ответа сервера

Какие коды ответа сервера существуют?

Существует свыше 50 различных кодов ответа сервера, но повседневно SEO-специалистам, вебмастерам и директологам приходится сталкиваться со следующими:

  • 200 OK — страница доступна, в ответе сервера содержатся запрошенные данные. Надо стремиться к тому, чтобы этот код ответа отдавали все продвигаемые документы сайта и документы, на которые ведут объявления рекламных кампаний.
  • 301 Moved Permanently — запрашиваемая страница была перенесена на новый URL, который указан в инструменте в случае данного кода ответа в столбце «URL-переадресации».
  • 302 Found — запрашиваемая страница была временно перенесена на другой URL, который указан в инструменте в случае данного кода ответа в столбце «URL-переадресации».
  • 404 или Not Found — страница не была найдена по указанному URL.
  • 410 Gone — запрашиваемая страница была удалена с указанного URL и теперь недоступна. Если документ в ближайшее время может быть восстановлен, рекомендуется клиенту отдавать код 404.
  • 503 Server Unavailable — сервер временно не имеет возможности обрабатывать запросы по техническим причинам. В поле Retry-After заголовка сервер может указать время, через которое клиенту рекомендуется повторить запрос. Данный код ответа используется для того, чтобы сообщить поисковому роботу о проведении технических работ на сайте и необходимости посетить ресурс позже. С точки зрения продвижения рекомендуется следить за страницами с кодом ответа 503, чтобы после проведения технических работ на сайте они снова отдавали код ответа 200 OK.

tools.pixelplus.ru

Проверка ответа сервера в реальном времени

Код ответа сервера – что это?

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

Ниже представлены коды ответа сервера, встречающиеся чаще всего:

1) Код, начинающийся на 1, несет информационный характер:

  • «100» первая часть запроса прошла успешно;
  • «101» требует замену протокола;
  • «102» информирует, что обработка займет большое количество времени, необходимо использовать браузер, который не разорвет соединение.

2) Успехи операции определяются кодом на 2:

  • «200» успешное выполнение запроса;
  • «201» создание ресурса после исполнения запроса;
  • «202» не обработка запроса, но его принятие;
  • «205» нехватка данных;
  • «206» часть контента не передана.

3) Код 3 осуществляет перенаправление:

  • «300» две и более страницы на запрос;
  • «301» перемещение страницы в связи с новым адресом;
  • «302» временное перемещение документа;
  • «303» воспользовавшись протоколом GET, прикрепить документы в указанный адрес;
  • «305» необходимо использовать программу прокси.

4) Код 4 говорит о допущенных ошибках, указанных в запросе:

  • «400» неправильный запрос;
  • «401» необходимо отслеживать;
  • «403» отсутствует доступ, запрос принят;
  • «404» аппаратное обеспечение не нашло страницу;
  • «405» метод неприменим к серверу;
  • «410» произведено удаление ресурса;
  • «414» длинная URL запроса.

5) Код 5 говорит об ошибке сервера:

  • «500» аппаратное обеспечение указывает на системную ошибку;
  • «501» необходимая функция не читаема;
  • «502» шлюз не может установить соединение с программой прокси;
  • «503» технические причины с обработкой запроса;
  • «505» устарело издание http.

HTTP сообщения

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

Приведем примеры http сообщений, отправляемых сервером:

  • «Server» – указывает на издание аппаратного обеспечения и его имя;
  • «Date» – день и время запроса;
  • «Content — Type» – тип передачи данных;
  • «Connection» – соединение либо открыто, либо закрыто;
  • «Set — Cookie» – сохранение куки для веб-страницы;
  • «Expires» – возможность сохранения данных в кэше;
  • «Cache — Control» – допуск к кэшированию, настройка его времени;
  • «ETag» – хранит сумму для осмотра кэшем.

jcover.ru

         

Для чего предназначен инструмент «Проверка заголовков сервера»?

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

Что такое заголовки сервера и для чего они нужны?

Различные устройства обмениваются между собой информацией с помощью протокола HTTP (аббревиатура от HyperText Transfer Protocol – «Протокол передачи гипертекста»), и заголовки в этом «общении» играют очень важную роль. В заголовке передается основная информация о соединении, которое устанавливается, и о передаваемых через это соединение данных.

Как работает инструмент «Проверка HTTP статусов» и для чего он нужен?

После того, как вы введете адрес ресурса и нажмете кнопку «Показать», сервер обработает запрос и выдаст результат. В самой верхней строке ответа вы увидите состояние (статус) сервера: например, HTTP/1.1 200 OK.

Что такое статус сервера?

Статусов у сервера – четыре, и они сгруппированы по назначению.

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

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

Коды 4xx – это самая обширная группа статусов сервера, которая обозначают, что в запросе допущена ошибка.

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

Более подробно о статусах запросов вы можете узнать из таблицы «Перечень кодов HTTP» ниже.

Что такое метод GET и метод POST?

Существует три типа запросов, принимаемых сервером: GET, POST и HEAD, но мы поговорим о наиболее распространенных – первых двух. Третий метод используется достаточно редко, потому как HEAD запрашивает только заголовок ответа, а полноценный обмен данными при этом не происходит. Метод GET используется при запросе к серверу по умолчанию, а POST – только при однозначном указании в запросе формы. Веб-мастера должны учитывать, что при запросе методом GET серверу передаются все данные формы вместе с URL, а при использовании метода POST данные перемещаются не в URL, а в само тело запроса.

Коды 2xx (успешно)

Перечень кодов статуса HTTP, использующихся при успешном запросе (коды 2xx).

Код Ошибка Описание
200 Хорошо

Успешный запрос ресурса. Если клиентом были запрошены какие-либо данные, то они находятся в заголовке и/или теле сообщения.

201 Транзакция прошла успешно

В результате успешного выполнения запроса был создан новый ресурс. Сервер должен указать его местоположение в заголовке Location. Серверу рекомендуется ещё указывать в заголовке характеристики созданного ресурса (например, в поле Content-Type). Если сервер не уверен, что ресурс действительно будет существовать к моменту получения данного сообщения клиентом, то лучше использовать ответ 202.

202 Принято

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

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

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

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

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

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

Сервер обязывает клиента сбросить введённые пользователем данные. Тела сообщения сервер при этом не передаёт и документ обновлять не обязательно.

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

Сервер удачно выполнил частичный GET возвратив только часть. В заголовке Content-Range сервер указывает байтовые диапазоны содержимого. Особое внимание при работе с подобными ответами следует уделить кэшированию.

207 Многостатусный

Сервер передаёт результаты выполнения сразу нескольких независимых операций. Они помещаются в само тело сообщения в виде XML-документа с объектом multistatus.

226 IM использовано

Заголовок A-IM от клиента был успешно принят и сервер возвращает содержимое с учётом указанных параметров.

Коды 3xx (перенаправление)

Перечень кодов статуса HTTP, использующихся при перенаправлении запроса (коды 3xx).

Код Ошибка Описание
300 Множественный выбор

Затребованный URL обозначает более одного ресурса, и робот не смог однозначно определить, к какой странице URL относится (получен код 300 Multiple Choices).

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

301 Ресурс перемещен навсегда

Документ уже не используется сервером, а ссылка перенаправляет на другую страницу (получен код 301 Moved Permanently).

Так как пользователи не смогут увидеть подобные документы, показывать их в поиске не имеет смысла, и робот их не индексирует. Однако робот обязательно проиндексирует страницу, на которую установлено перенаправление.

302 Ресурс временно перемещен

Запрошенный ресурс временно находится под другим адресом (получен код 302 Found).

Так как пользователи не смогут увидеть подобные документы, показывать их в поиске не имеет смысла, и робот их не индексирует. Однако робот обязательно проиндексирует страницу, на которую установлено перенаправление.

303 Смотрите другой ресурс

Запрошенный ресурс находится под другим адресом и его следует запрашивать, используя метод GET (получен код 303 See Other). Если вы хотите, чтобы указанная страница находилась в поиске, она должна отвечать кодом 200.

304 Ресурс не изменялся

Получен код 304 Not Modified. Если страница не изменилась с момента последнего обращения робота, рекомендуется выдавать этот код. Это ускорит индексирование и уменьшит трафик.

305 Следует использовать прокси

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

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

Затребованный ресурс был временно переведен на другой адрес, который необходимо прописать в Location (получен код 307 Temporary Redirect).

Коды 4xx (ошибка клиента)

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

Код Ошибка Описание
400 Неверный запрос

Запрос не может быть понят сервером из-за некорректного синтаксиса (получен код 400 Bad Request).

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

Для доступа к документу необходимо вводить пароль или быть зарегистрированным пользователем (получен код 401 Unauthorized).

402 Необходима оплата за запрос

Внутренняя ошибка или ошибка конфигурации сервера (получен код 402 Payment Required).

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

Доступ к документу запрещен (получен код 403 Forbidden). Если вы хотите, чтобы страница индексировалась, необходимо разрешить доступ к ней.

404 Ресурс не найден

Документ не существует (получен код 404 Not Found). Если вы удалили какой-то раздел сайта, можно с помощью robots.txt запретить роботу обращаться к нему. Если такой страницы на сайте никогда не существовало, игнорируйте эту ошибку, возможно, кто-то поставил некорректную ссылку на ваш сайт.

405 Недопустимый метод

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

406 Неприемлемый запрос

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

407 Требуется идентификация прокси, файервола

Необходима регистрация на прокси-сервере (получен код 407 Proxy Authentication Required).

408 Время запроса истекло

Сайт не передал полный запрос в течение установленного времени и робот разорвал соединение (получен код 408 Request Timeout).

409 Конфликт

Запрос конфликтует с другим запросом или с конфигурацией сервера (получен код 409 Conflict).

410 Ресурс недоступен

Затребованный ресурс был окончательно удален с сайта (получен код 410 Gone).

411 Необходимо указать длину

Сервер отказывается принимать запрос без определенного заголовка Content-Length (получен код 411 Length Required). Поправьте заголовки на своем сервере;— тогда в следующий раз робот сможет проиндексировать страницу.

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

При проверке на сервере одного или более полей заголовка запроса обнаружено несоответствие (сбой или ошибка при обработке предварительного условия). Получен код 412 Precondition Failed.

413 Тело запроса превышает допустимый размер

Сервер отказывается обрабатывать запрос потому, что размер запроса больше того, что может обработать сервер (получен код 413 Request Entity Too Large).

414 Недопустимая длина URI запроса

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

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

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

416 Диапазон не может быть обработан

Сервер отказывается обрабатывать запрос, потому что значение поля Range в заголовке запроса указывает на недопустимый диапазон байтов (получен код 416 Requested Range Not Satisfiable).

417 Сбой при ожидании

Сервер отказывается обрабатывать запрос, потому что значение поля Expect в заголовке запроса не соответствует ожиданиям (получен код 417 Expectation Failed).

422 Необрабатываемый элемент

Сервер не в состоянии обработать один (или более) элемент запроса (получен код 422 Unprocessable Entity).

423 Заблокировано

Сервер отказывается обработать запрос, так как один из требуемых ресурсов заблокирован (получен код 423 Locked).

424 Неверная зависимость

Сервер отказывается обработать запрос, так как один из зависимых ресурсов заблокирован (получен код 424 Failed Dependency).

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

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

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

Перечень кодов статуса HTTP, использующихся для обозначения возможных ошибок сервера (коды 5xx).

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

Сервер столкнулся с непредвиденным условием, которое не позволяет ему выполнить запрос (получен код 500 Internal Server Error).

501 Метод не поддерживается

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

502 Ошибка шлюза

Сервер, действуя в качестве шлюза или прокси-сервера, получил недопустимый ответ от следующего сервера в цепочке запросов, к которому обратился при попытке выполнить запрос (получен код 502 Bad Gateway).

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

Возникла ошибка из-за временной перегрузки или отключения на техническое обслуживание сервера (получен код 503 Service Unavailable).

504 Время прохождения через межсетевой шлюз истекло

Сервер, при работе в качестве внешнего шлюза или прокси-сервера, своевременно не получил отклик от вышестоящего сервера, к которому он обратился, пытаясь выполнить запрос (получен код 504 Gateway Timeout).

505 Версия НТТР не поддерживается

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

507 Недостаточно места

Сервер не может обработать запрос из-за недостатка места на диске (получен код 507 Insufficient Storage).

510 Отсутствуют расширения

Сервер не может обработать запрос из-за того, что запрашиваемое расширение не поддерживается (получен код 510 Not Extended).

www.cy-pr.com

Коды 2xx (успешно)

Код Ошибка Описание
200 Хорошо

Успешный запрос ресурса. Если клиентом были запрошены какие-либо данные, то они находятся в заголовке и/или теле сообщения.

201 Транзакция прошла успешно

В результате успешного выполнения запроса был создан новый ресурс. Сервер должен указать его местоположение в заголовке Location. Серверу рекомендуется дополнительно указывать в заголовке характеристики созданного ресурса (например, в поле Content-Type). Если сервер не уверен, что ресурс действительно будет существовать к моменту получения данного сообщения клиентом, то лучше использовать ответ 202.

202 Принято

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

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

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

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

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

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

Сервер обязывает клиента сбросить введенные пользователем данные. Тела сообщения сервер при этом не передаёт и документ обновлять не обязательно.

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

Сервер удачно выполнил частичный GET возвратив только часть. В заголовке Content-Range сервер указывает байтовые диапазоны содержимого. Особое внимание при работе с подобными ответами следует уделить кэшированию.

207 Многостатусный

Сервер передаёт результаты выполнения сразу нескольких независимых операций. Они помещаются в само тело сообщения в виде XML-документа с объектом multistatus.

226 IM использовано

Заголовок A-IM от клиента был успешно принят и сервер возвращает содержимое с учетом указанных параметров.

 

Коды 3xx (перенаправление)

Код Ошибка Описание
300 Множественный выбор

Затребованный URL обозначает более одного ресурса, и робот не смог однозначно определить, к какой странице URL относится (получен код 300 Multiple Choices).

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

301 Ресурс перемещен навсегда

Документ уже не используется сервером, а ссылка перенаправляет на другую страницу (получен код 301 Moved Permanently).

Так как пользователи не смогут увидеть подобные документы, показывать их в поиске не имеет смысла, и робот их не индексирует. Однако робот обязательно проиндексирует страницу, на которую установлено перенаправление.

302 Ресурс временно перемещен

Запрошенный ресурс временно находится под другим адресом (получен код 302 Found).

Так как пользователи не смогут увидеть подобные документы, показывать их в поиске не имеет смысла, и робот их не индексирует. Однако робот обязательно проиндексирует страницу, на которую установлено перенаправление.

303 Смотрите другой ресурс

Запрошенный ресурс находится под другим адресом, и его следует запрашивать, используя метод GET (получен код 303 See Other). Если вы хотите, чтобы указанная страница находилась в поиске, она должна отвечать кодом 200.

304 Ресурс не изменялся

Получен код 304 Not Modified. Если страница не изменилась с момента последнего обращения робота, рекомендуется выдавать этот код. Это ускорит индексирование и уменьшит трафик.

305 Следует использовать прокси

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

307 Временно перемещен

Затребованный ресурс был временно переведен на другой адрес, который необходимо прописать в Location (получен код 307 Temporary Redirect).

 

Коды 4xx (ошибка клиента)

Код Ошибка Описание
400 Неверный запрос

Запрос не может быть понят сервером из-за некорректного синтаксиса (получен код 400 Bad Request).

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

Для доступа к документу необходимо вводить пароль или быть зарегистрированным пользователем (получен код 401 Unauthorized).

402 Необходима оплата за запрос

Внутренняя ошибка или ошибка конфигурации сервера (получен код 402 Payment Required).

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

Доступ к документу запрещен (получен код 403 Forbidden). Если вы хотите, чтобы страница индексировалась, необходимо разрешить доступ к ней.

404 Ресурс не найден

Документ не существует (получен код 404 Not Found). Если вы удалили какой-то раздел сайта, можно с помощью robots.txt запретить роботу обращаться к нему. Если такой страницы на сайте никогда не существовало, игнорируйте эту ошибку, возможно, кто-то поставил некорректную ссылку на ваш сайт.

405 Недопустимый метод

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

406 Неприемлемый запрос

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

407 Требуется идентификация прокси, файервола

Необходима регистрация на прокси-сервере (получен код 407 Proxy Authentication Required).

408 Время запроса истекло

Сайт не передал полный запрос в течение установленного времени и робот разорвал соединение (получен код 408 Request Timeout).

409 Конфликт

Запрос конфликтует с другим запросом или с конфигурацией сервера (получен код 409 Conflict).

410 Ресурс недоступен

Затребованный ресурс был окончательно удален с сайта (получен код 410 Gone).

411 Необходимо указать длину

Сервер отказывается принимать запрос без определенного заголовка Content-Length (получен код 411 Length Required). Поправьте заголовки на своем сервере — тогда в следующий раз робот сможет проиндексировать страницу.

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

При проверке на сервере одного или более полей заголовка запроса обнаружено несоответствие (сбой или ошибка при обработке предварительного условия). Получен код 412 Precondition Failed.

413 Тело запроса превышает допустимый размер

Сервер отказывается обрабатывать запрос потому, что размер запроса больше того, что может обработать сервер (получен код 413 Request Entity Too Large).

414 Недопустимая длина URI запроса

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

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

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

416 Диапазон не может быть обработан

Сервер отказывается обрабатывать запрос, потому что значение поля Range в заголовке запроса указывает на недопустимый диапазон байтов (получен код 416 Requested Range Not Satisfiable).

417 Сбой при ожидании

Сервер отказывается обрабатывать запрос, потому что значение поля Expect в заголовке запроса не соответствует ожиданиям (получен код 417 Expectation Failed).

422 Необрабатываемый элемент

Сервер не в состоянии обработать один (или более) элемент запроса (получен код 422 Unprocessable Entity).

423 Заблокировано

Сервер отказывается обработать запрос, так как один из требуемых ресурсов заблокирован (получен код 423 Locked).

424 Неверная зависимость

Сервер отказывается обработать запрос, так как один из зависимых ресурсов заблокирован (получен код 424 Failed Dependency).

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

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

 

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

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

Сервер столкнулся с непредвиденным условием, которое не позволяет ему выполнить запрос (получен код 500 Internal Server Error).

501 Метод не поддерживается

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

502 Ошибка шлюза

Сервер, действуя в качестве шлюза или прокси-сервера, получил недопустимый ответ от следующего сервера в цепочке запросов, к которому обратился при попытке выполнить запрос (получен код 502 Bad Gateway).

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

Возникла ошибка из-за временной перегрузки или отключения на техническое обслуживание сервера (получен код 503 Service Unavailable).

504 Время прохождения через межсетевой шлюз истекло

Сервер, при работе в качестве внешнего шлюза или прокси-сервера, своевременно не получил отклик от вышестоящего сервера, к которому он обратился, пытаясь выполнить запрос (получен код 504 Gateway Timeout).

505 Версия НТТР не поддерживается

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

507 Недостаточно места

Сервер не может обработать запрос из-за недостатка места на диске (получен код 507 Insufficient Storage).

510 Отсутствуют расширения

Сервер не может обработать запрос из-за того, что запрашиваемое расширение не поддерживается (получен код 510 Not Extended).

be1.ru

От чего зависит время ответа сервера

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

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

Нормальное время ответа — это сколько?

Чем меньше, тем лучше.

  • До 300 миллисекунд — очень хороший результат, можно спать спокойно.
  • От 300 до 700 миллисекунд — тоже неплохо, волноваться повода нет.
  • Если время ответа вашего сайта приближается к секунде, или ещё выше — повод принимать меры.

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

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

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

Код состояния HTTP — это число, состоящее из трех цифр. Первая цифра означает группу, к которой принадлежит код.

Существуют следующие группы:

  • 1xx — Информационные коды
  • 2xx — Успешные коды
  • 3xx — Коды перенаправлений
  • 4xx — Коды ошибок клиента
  • 5xx — Коды ошибок сервера

Проверка 304 Not Modified

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

Помимо этого, для корректной работы этой схемы сайт должен на каждый GET запрос возвращать заголовок Last-Modified, содержащий дату последнего изменения страницы. Браузеры и поисковые роботы сохраняют эту дату и при следующем запросе используют именно её для заголовка If-Modified-Since как бы спрашивая, изменилась ли страница с тех пор, нужно ли её скачивать заново.

calcus.ru

Что такое код статуса HTTP?

Код статуса HTTP (или код ответа сервера) — трёхзначное число, которое обозначает определенный статус запрашиваемой страницы.

Пример:

HTTP/1.1 200 OK , где
HTTP/1.1 — версии протокола,
200 — код успешного выполнения запроса.

Подробнее посмотреть значения кодов ответа сервера можно в этой статье.

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

 

Проверить код ответа сервера страницы

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

Все довольно просто: необходимо вставить URL страницы и нажать кнопку “Проверить”.

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

Узнать код ответа сервера всех страниц сайта

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

 

Получение статуса страниц в Xenu

В главном меню перейдем «File- Check URL». Введем адрес сайта и запустим проверку урлов на ответ сервера

Результат проверки статуса ответа сервера можно будет увидеть в колонке «Status».

 

Получение статуса страниц в Spider

Запускаем приложение, вводим URL. Результат смотрим в колонке “Статус”.

Массовая проверка страниц на код ответа сервера

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

Получаем результат.

Есть небольшое ограничение: максимальное количество Url-ов составляет 100 адресов.

Но это совсем не проблема. Я предлагаю вам решение, которое вы можете реализовать на вашем веб-сервере (необходимы небольшие знания PHP).

Рассмотрим функцию get_headers, которая возвращает все заголовки, посланные сервером в ответ на HTTP запрос.

Пример: Возвращает код ответа сервера заданного URL-а.

  <!--?php  ini_set('max_execution_time', 900);  $url='//semantica.in/';  $code=get_headers($url);  echo($code[0]);  ?>  

Немного доработав php код , мы сможем списком вводить URL-ы и получать коды ответа сервера:

  <form action="index.php" method="POST">  	<textarea name='url'></textarea>  	<button type="submit">Send</button>  </form>  <?php  	if(!empty($_POST["url"])){  		$url = $_POST['url'];  		$links = explode("rn",$url);  		$count = count($links);     		for ($i =0; $count > $i; $i++)  		{  			$url = $links[$i];  			$head = get_headers($url);  			$code = $head[0];  			echo "$url $code";  			echo "<br>";  		}  				}  ?>  

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

semantica.in


You May Also Like

About the Author: admind

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

Adblock
detector