Быстрый и удобный сервис по проверке кода ответа сервера с широким функционалом и расшифровкой HTTP-заголовков. Мобильная версия и кнопка быстрой проверки для удобства работы. Checkmy показывает ответ сервера по заданному URL, это поможет определить существование URL или корректность работы сайта в зависимости от кода, который отдает сервер.
Как проверить ответ сервера
Используйте кнопку быстрого доступа к сервису Checkmy для мгновенной проверки кода ответа сервера нужной страницы сайта.
1. Перетащите кнопку Checkmy на панель закладок своего браузера.
2. Зайдите на страницу сайта, которую хотите проверить.
3. Нажмите кнопку /Checkmy/ в панели закладок своего браузера.
В новой вкладке браузера откроется результат проверки ответа сервера страницы на которой вы находитесь.
Проверка кода ответа сервера
C помощью онлайн сервиса проверки кода ответа сервера вы можете проверить http заголовки, которые выдает сервер при запросе url адреса. Это может быть полезно для того, чтобы узнать включено ли сжатие контента на сервере, проверить исходный код страницы, узнать включена ли поддержка кеширования на сервере и получить другую полезную информацию из заголовков ответа сервера. Что можно проверить в заголовках сервера:
Заголовки ответа сервера
Список популярных заголовков ответа сервера с пояснением их значений.
Content-Type
Описание формата передаваемого контента. Необходимо для корректного распознавания браузером.
Accept-Encoding
Перечень способов кодирования содержимого ответа при передаче.
Дата генерации передаваемого контента, используется время отвечающего сервера.
Expires
Дата предполагаемого истечения срока актуальности контента.
Last-Modified
Дата последней модификации контента.
If-Modified-Since
Дата, когда необходимо загружать контент, если он изменился с указанного момента.
Location
URL-адрес по которому клиенту следует перейти или URL созданного ресурса.
Server
Список названий и версий веб-сервера и его компонентов с комментариями.
Коды состояний http-сервера
Полный список кодов состояний http-сервера с расшифровкой значения.
200 Ok
Запрос клиента обработан успешно и ответ сервера содержит затребованные данные.
201 Created
Этот код состояния используется в случае создания нового URI. Вместе с этим кодом результата сервер выдает заголовок Location, который содержит информацию о том, куда были помещены новые данные.
202 Accepted
Запрос принят, но обрабатывается не сразу. В теле содержимого ответа сервера может быть дана дополнительная информация о данной транзакции. Гарантии того, что сервер в конечном итоге удовлетворит допустимым.
203 Non-Authoritative Information
Информация в заголовке содержимого взята из локальной копии или у третьей стороны, а не с исходного сервера.
204 No Content
Ответ содержит код состояния и заголовок, но тело содержимого отсутствует. При получении этого ответа браузер не должен обновлять свой документ. Обработчик чувствительных областей изображений может возвращать этот код, когда пользователь щелкает на бесполезных или пустых участках изображения.
205 Reset Content
Браузер должен очистить форму, используемую в данной транзакции, для дополнительных входных данных. Полезен для CGI-приложений, требующих ввода данных.
206 Partial Content
Сервер возвращает лишь часть данных затребованного объема. Используется в ответе на запрос с указанием заголовка Range. Сервер должен указать диапазон, включенный в ответ, в заголовке Content-Range.
300 Multiple Choices
Запрошенный URI обозначает более одного ресурса, например, документ переведенный на несколько языков. В теле ответа сервера может находиться перечень конкретных данных о том, как выбрать ресурс правильно.
301 Moved Permanently
Документ перемещен навсегда, новый адрес документа указывается в заголовке Location. Старый адрес больше не используется.
302 Moved Temporarily
Документ перемещен временно, новый адрес документа указывается в заголовке Location. Сейчас нужно запросить документ по новому адресу, но в последствии документ будет доступен по старому адресу.
303 See Other
Документ доступен также и по другому адресу, который указан в заголовке Location.
304 Not Modified
Если при запросе используется заголовок lf-Modified-Since и документ не менялся с указанной даты, то сервер ответит данным кодом. Тело содержимого не посылается, и клиент должен использовать свою локальную копию.
305 Use Proxy
Доступ к документу должен осуществляться через proxy-сервер, указанный в заголовке Location.
500 Internal Server Error
Внутренняя ошибка конфигурации сервера или одного из его компонентов. Запрос не может быть обработан.
501 Not Implemented
Запрос не может быть выполнен сервером.
502 Bad Gateway
Сервер получил недопустимый ответ от другого сервера или прокси-сервера.
503 Service Unavailable
Служба временно недоступна, если известно время восстановления, то будет выдан заголовок Retry-After.
504 Gateway Time-out
Шлюз или сервер превысил время ожидания ответа и ожидание прервано.
505 HTTP Version not supported
Сервер не поддерживает версию протокола HTTP, использованную в запросе.
Ответы на популярные вопросы
Проверьте ответы на популярные вопросы, возможно вы найдете ответ на свой вопрос.
По-умолчанию Checkmy использует User Agent пользователя, то есть ваш. Если вы хотите его изменить, то можете выбрать любой другой из соответствующего выпадающего списка.
Да, сервис поддерживает IDN-домены и для их проверки не требуется переводить имя домена в punycode. Просто введите введите адрес вашего кириллического домена и проверьте http-код ответа сервера.
Да, конечно, вы можете использовать Checkmy на мобильных устройствах для проверки http-ответа сервера, он быстро загружается и прекрасно выглядит.
Что делает Checkmy
Он позволяет быстро и удобно проверить заголовки ответа http-сервера, опционально поддерживает заголовки Accept-Encoding и If-Modified-Since.
Кому нужно проверять HTTP-заголовки
Корректность HTTP-заголовков ответа сервера необходимо проверять разработчиками, вебмастерам и SEO-оптимизаторам.
Инструмент предназначен для отображения кода ответа HTTP страницы, который отдает сервер взамен на запрос, он позволяет определить доступность анализируемой страницы.
Для проверки кода ответа ресурса необходимо ввести его URL адрес в строку проверки, робот зайдет на страницу и выведет отдаваемый ей код ответа. Что он означает, можно узнать из таблиц.
Коды ответа страницы сервера
Код
Ошибка
Описание
200
Хорошо
Успешный запрос ресурса. Если клиентом были запрошены какие-либо данные, то они находятся в заголовке и/или теле сообщения.
В результате успешного выполнения запроса был создан новый ресурс. Сервер должен указать его местоположение в заголовке Location. Серверу рекомендуется дополнительно указывать в заголовке характеристики созданного ресурса (например, в поле Content-Type). Если сервер не уверен, что ресурс действительно будет существовать к моменту получения данного сообщения клиентом, то лучше использовать ответ 202.
Запрос был принят на обработку, но обработка не завершена. Клиенту не обязательно дожидаться окончательной передачи сообщения, так процесс может оказаться очень долгим.
Аналогично ответу 200, но в этом случае передаваемая информация была взята не из первичного источника (резервной копии, другого сервера и т. д.) и поэтому может быть неактуальной.
Сервер успешно обработал запрос, но в ответе были переданы только заголовки без тела сообщения. Клиент не должен обновлять содержимое документа, но может применить к нему полученные метаданные.
Сервер обязывает клиента сбросить введенные пользователем данные. Тела сообщения сервер при этом не передаёт и документ обновлять не обязательно.
Сервер удачно выполнил частичный GET возвратив только часть. В заголовке Content-Range сервер указывает байтовые диапазоны содержимого. Особое внимание при работе с подобными ответами следует уделить кэшированию.
Сервер передаёт результаты выполнения сразу нескольких независимых операций. Они помещаются в само тело сообщения в виде XML-документа с объектом multistatus.
Заголовок A-IM от клиента был успешно принят и сервер возвращает содержимое с учетом указанных параметров.
Коды 3xx (перенаправление)
Код
Ошибка
Описание
300
Множественный выбор
Затребованный URL обозначает более одного ресурса, и робот не смог однозначно определить, к какой странице URL относится (получен код 300 Multiple Choices).
Исправьте заголовки или укажите ресурс правильно, и тогда робот сможет проиндексировать страницу.
Документ уже не используется сервером, а ссылка перенаправляет на другую страницу (получен код 301 Moved Permanently).
Так как пользователи не смогут увидеть подобные документы, показывать их в поиске не имеет смысла, и робот их не индексирует. Однако робот обязательно проиндексирует страницу, на которую установлено перенаправление.
Запрошенный ресурс временно находится под другим адресом (получен код 302 Found).
Так как пользователи не смогут увидеть подобные документы, показывать их в поиске не имеет смысла, и робот их не индексирует. Однако робот обязательно проиндексирует страницу, на которую установлено перенаправление.
Запрошенный ресурс находится под другим адресом, и его следует запрашивать, используя метод GET (получен код 303 See Other). Если вы хотите, чтобы указанная страница находилась в поиске, она должна отвечать кодом 200.
Получен код 304 Not Modified. Если страница не изменилась с момента последнего обращения робота, рекомендуется выдавать этот код. Это ускорит индексирование и уменьшит трафик.
Доступ к затребованному ресурсу может осуществляться только через прокси-сервер, указанный в заголовке Location (получен код 305 Use Proxy).
Затребованный ресурс был временно переведен на другой адрес, который необходимо прописать в Location (получен код 307 Temporary Redirect).
Коды 4xx (ошибка клиента)
Код
Ошибка
Описание
400
Неверный запрос
Запрос не может быть понят сервером из-за некорректного синтаксиса (получен код 400 Bad Request).
Для доступа к документу необходимо вводить пароль или быть зарегистрированным пользователем (получен код 401 Unauthorized).
Внутренняя ошибка или ошибка конфигурации сервера (получен код 402 Payment Required).
Доступ к документу запрещен (получен код 403 Forbidden). Если вы хотите, чтобы страница индексировалась, необходимо разрешить доступ к ней.
Документ не существует (получен код 404 Not Found). Если вы удалили какой-то раздел сайта, можно с помощью robots.txt запретить роботу обращаться к нему. Если такой страницы на сайте никогда не существовало, игнорируйте эту ошибку, возможно, кто-то поставил некорректную ссылку на ваш сайт.
Метод, определенный в строке запроса (Request-Line), не дозволено применять для указанного ресурса, поэтому робот не смог его проиндексировать (получен код 405 Method Not Allowed).
Нужный документ существует, но не в том формате (язык или кодировка не поддерживаются роботом). Получен код 406 Not Acceptable.
Необходима регистрация на прокси-сервере (получен код 407 Proxy Authentication Required).
Сайт не передал полный запрос в течение установленного времени и робот разорвал соединение (получен код 408 Request Timeout).
Запрос конфликтует с другим запросом или с конфигурацией сервера (получен код 409 Conflict).
Затребованный ресурс был окончательно удален с сайта (получен код 410 Gone).
Сервер отказывается принимать запрос без определенного заголовка Content-Length (получен код 411 Length Required). Поправьте заголовки на своем сервере — тогда в следующий раз робот сможет проиндексировать страницу.
При проверке на сервере одного или более полей заголовка запроса обнаружено несоответствие (сбой или ошибка при обработке предварительного условия). Получен код 412 Precondition Failed.
Сервер отказывается обрабатывать запрос потому, что размер запроса больше того, что может обработать сервер (получен код 413 Request Entity Too Large).
Сервер отказывается обслуживать запрос, потому что запрашиваемый роботом URI (Request-URI) длиннее, чем сервер может интерпретировать (получен код 414 Request-URI Too Long).
Сервер отказывается обрабатывать запрос, потому что тело запроса имеет неподдерживаемый формат (получен код 415 Unsupported Media Type).
Сервер отказывается обрабатывать запрос, потому что значение поля Range в заголовке запроса указывает на недопустимый диапазон байтов (получен код 416 Requested Range Not Satisfiable).
Сервер отказывается обрабатывать запрос, потому что значение поля Expect в заголовке запроса не соответствует ожиданиям (получен код 417 Expectation Failed).
Сервер не в состоянии обработать один (или более) элемент запроса (получен код 422 Unprocessable Entity).
Сервер отказывается обработать запрос, так как один из требуемых ресурсов заблокирован (получен код 423 Locked).
Сервер отказывается обработать запрос, так как один из зависимых ресурсов заблокирован (получен код 424 Failed Dependency).
Сервер запросил апгрейд соединения до SSL, но SSL не поддерживается клиентом (получен код 426 Upgrade Required).
Коды 5xx (ошибка сервера)
Код
Ошибка
Описание
500
Внутренняя ошибка сервера
Сервер столкнулся с непредвиденным условием, которое не позволяет ему выполнить запрос (получен код 500 Internal Server Error).
Сервер не поддерживает функциональные возможности, требуемые для выполнения запроса (получен код 501 Not Implemented). Этот ответ соответствует состоянию, когда сервер не распознает метод запроса и не способен обеспечить его для любого ресурса.
Сервер, действуя в качестве шлюза или прокси-сервера, получил недопустимый ответ от следующего сервера в цепочке запросов, к которому обратился при попытке выполнить запрос (получен код 502 Bad Gateway).
Возникла ошибка из-за временной перегрузки или отключения на техническое обслуживание сервера (получен код 503 Service Unavailable).
Сервер, при работе в качестве внешнего шлюза или прокси-сервера, своевременно не получил отклик от вышестоящего сервера, к которому он обратился, пытаясь выполнить запрос (получен код 504 Gateway Timeout).
Сервер не поддерживает или отказывается поддерживать версию HTTP-протокола, которая используется в сообщении запроса робота (получен код 505 HTTP Version Not Supported).
Сервер не может обработать запрос из-за недостатка места на диске (получен код 507 Insufficient Storage).
Сервер не может обработать запрос из-за того, что запрашиваемое расширение не поддерживается (получен код 510 Not Extended).
«Создано». Запрос успешно выполнен и в результате был создан ресурс. Этот код обычно присылается в ответ на запрос PUT «ПОМЕСТИТЬ».
«Принято». Запрос принят, но ещё не обработан. Не поддерживаемо, т.е., нет способа с помощью HTTP отправить асинхронный ответ позже, который будет показывать итог обработки запроса. Это предназначено для случаев, когда запрос обрабатывается другим процессом или сервером, либо для пакетной обработки.
«Информация не авторитетна». Этот код ответа означает, что информация, которая возвращена, была предоставлена не от исходного сервера, а из какого-нибудь другого источника. Во всех остальных ситуациях более предпочтителен код ответа 200 OK.
«Нет содержимого». Нет содержимого для ответа на запрос, но заголовки ответа, которые могут быть полезны, присылаются. Клиент может использовать их для обновления кешированных заголовков полученных ранее для этого ресурса.
«Сбросить содержимое». Этот код присылается, когда запрос обработан, чтобы сообщить клиенту, что необходимо сбросить отображение документа, который прислал этот запрос.
«Частичное содержимое». Этот код ответа используется, когда клиент присылает заголовок диапазона, чтобы выполнить загрузку отдельно, в несколько потоков.
«Множественный выбор». Этот код ответа присылается, когда запрос имеет более чем один из возможных ответов. И User-agent или пользователь должен выбрать один из ответов. Не существует стандартизированного способа выбора одного из полученных ответов.
«Перемещён на постоянной основе». Этот код ответа значит, что URI запрашиваемого ресурса был изменен. Возможно, новый URI будет предоставлен в ответе.
«Найдено». Этот код ответа значит, что запрошенный ресурс временно изменен. Новые изменения в URI могут быть доступны в будущем. Таким образом, этот URI, должен быть использован клиентом в будущих запросах.
«Просмотр других ресурсов». Этот код ответа присылается, чтобы направлять клиента для получения запрашиваемого ресурса в другой URI с запросом GET.
«Не модифицировано». Используется для кэширования. Это код ответа значит, что запрошенный ресурс не был изменен. Таким образом, клиент может продолжать использовать кэшированную версию ответа.
«Использовать прокси». Это означает, что запрошенный ресурс должен быть доступен через прокси. Этот код ответа в основном не поддерживается из соображений безопасности.
«Перенаправление на постоянной основе». Это означает, что ресурс теперь постоянно находится в другом URI, указанном в заголовке Location: HTTP Response. Данный код ответа имеет ту же семантику, что и код ответа 301 Moved Permanently, за исключением того, что агент пользователя не должен изменять используемый метод HTTP: если POST использовался в первом запросе, POST должен использоваться и во втором запросе.
«Плохой запрос». Этот ответ означает, что сервер не понимает запрос из-за неверного синтаксиса.
«Неавторизовано». Для получения запрашиваемого ответа нужна аутентификация. Статус похож на статус 403, но,в этом случае, аутентификация возможна.
«Необходима оплата». Этот код ответа зарезервирован для будущего использования. Первоначальная цель для создания этого когда была в использовании его для цифровых платежных систем(на данный момент не используется).
«Запрещено». У клиента нет прав доступа к содержимому, поэтому сервер отказывается дать надлежащий ответ.
«Не найден». Сервер не может найти запрашиваемый ресурс. Код этого ответа, наверно, самый известный из-за частоты его появления в вебе.
Method Not Allowed
«Метод не разрешен». Сервер знает о запрашиваемом методе, но он был деактивирован и не может быть использован. Два обязательных метода, GET и HEAD, никогда не должны быть деактивированы и не должны возвращать этот код ошибки.
Этот ответ отсылается, когда веб сервер после выполнения server-driven content negotiation, не нашел контента, отвечающего критериям, полученным из user agent.
Proxy Authentication Required
Этот код ответа аналогичен коду 401, только аутентификация требуется для прокси сервера.
Ответ с таким кодом может прийти, даже без предшествующего запроса. Он означает, что сервер хотел бы отключить это неиспользуемое соеднинение. Этот метод используется все чаще с тех пор, как некоторые браузеры, вроде Chrome и IE9, стали использовать HTTP механизмы предварительного соединения для ускорения серфинга (смотрите баг 634278, будущей реализации этого механизма в Firefox). Также учитывайте, что некоторые серверы прерывают соединения не отправляя подобных сообщений.
Этот ответ отсылается, когда запрос конфликтует с текущим состоянием сервера.
Этот ответ отсылается, когда запрашиваемый контент удален с сервера.
Запрос отклонен, потому что сервер требует указание заголовка Content-Length, но он не указан.
Клиент указал в своих заголовках условия, которые сервер не может выполнить
Request Entity Too Large
Размер запроса превышает лимит, объявленный сервером. Сервер может закрыть соединение, вернув заголовок Retry-After
Request-URI Too Long
URI запрашиваемый клиентом слишком длинный для того, чтобы сервер смог его обработать
Unsupported Media Type
Медиа формат запрашиваемых данных не поддерживается сервером, поэтому запрос отклонен
Requested Range Not Satisfiable
Диапозон указанный заголовком запроса Range не может быть выполнен; возможно, он выходит за пределы переданного URI
Этот код ответа означает, что ожидание, полученное из заголовка запроса Expect, не может быть выполнено сервером.
Internal Server Error
«Внутренняя ошибка сервера». Сервер столкнулся с ситуацией, которую он не знает как обработать.
«Плохой шлюз». Эта ошибка означает что сервер, во время работы в качестве шлюза для получения ответа, нужного для обработки запроса, получил недействительный (недопустимый) ответ.
«Сервис недоступен». Сервер не готов обрабатывать запрос. Зачастую причинами являются отключение сервера или то, что он перегружен. Обратите внимание, что вместе с этим ответом удобная для пользователей(user-friendly) страница должна отправлять объяснение проблемы. Этот ответ должен использоваться для временных условий и Retry-After: HTTP-заголовок должен, если возможно, содержать предполагаемое время до восстановления сервиса. Веб-мастер также должен позаботиться о заголовках, связанных с кэшем, которые отправляются вместе с этим ответом, так как эти ответы, связанные с временными условиями, обычно не должны кэшироваться.
Этот ответ об ошибке предоставляется, когда сервер действует как шлюз и не может получить ответ вовремя.
HTTP Version Not Supported
«HTTP-версия не поддерживается». HTTP-версия, используемая в запроcе, не поддерживается сервером.
Как легко проверить код ответа сервера? Понятно о HTTP status code
Читайте этот пост на английском языке
Поделиться этим постом
Все мы боимся слышать, что у нас на сайте есть битые ссылки, но как их быстро найти и убрать? Какой именно редирект поставить, если теперь у тебя все URL начинаются с www? Как собрать все четырёхсотые и пятисотые? Предлагаю обо всём поговорить по порядку.
Самая простая задача — проверка кода ответа сервера. Следующий шаг — запомнить классы ответов сервера, а после этого — каждый код ответа. Всего есть 5 классов и несколько десятков кодов, из которых только несколько действительно стоит знать и помнить без помощи Google.
1. Кратко о том, что такое код ответа сервера
Каждый раз, когда ты кликаешь по ссылке или вводишь URL в адресную строку, ты отправляешь запрос к серверу. Он обрабатывает его и формирует ответ, в котором начальная часть показывает код состояния сервера.
Код ответа сервера (или код состояния HTTP) — это первые три цифры и фраза на английском языке, которые дают понять пользователю (браузеру), краулеру и поисковому роботу, как сайт отреагировал на запрос к определённой странице или документу. Например, код ответа страницы 200 OK говорит сам за себя: «Всё ОК, ты обратился по нужному адресу».
Все коды ответов разделены на 5 классов, и отличает их первая цифра:
2. Как проверить код ответа страницы?
Проверки кода ответа сервера есть множество способов: панель инструментов разработчика в браузере ( F12 + вкладка «Network»), плагины в браузере, специальные онлайн-службы, различные SEO-сервисы. Но я всё таки работаю в Netpeak Software, так что покажу, как это сделать с помощью нашего инструмента Netpeak Spider.
Зарегистрировались, скачали Netpeak Launcher, установили Netpeak Spider, запустили его. Дальше есть выбор в зависимости от твоих задач:
2.1. Проверка кода ответа сервера на всех страницах сайта
В основном интерфейсе программы введи URL твоего сайта и нажми кнопку «Старт». После завершения сканирования ты увидишь все коды ответа в соответствующей колонке таблицы.
Страницы, которые ответили 4хх и 5хх кодами ответа, будут собраны в отдельный отчёт по этим ошибкам. Когда ты нажмёшь на ошибку на боковой панели, программа соберёт отчёт исключительно по таким страницам.
Дальше ты можешь посмотреть все страницы на твоём сайте, которые ведут на такие 4хх и 5хх страницы. Замени эти ссылки на рабочие страницы, и ты избавишься от страшного сна — битых ссылок на твоём сайте. Вызови для этого контекстное меню правой кнопкой мыши и кликни по разделу «Входящие ссылки». Дополнительно там можно:
Быстро проверять коды ответа сервера страниц сайта вы можете даже в бесплатной версии Netpeak Spider без ограничений по времени. Также во Freemium-версии доступны и другие базовые функции программы.
Чтобы начать пользоваться бесплатным Netpeak Spider, просто зарегистрируйтесь, скачайте и установите программу — и вперёд! 😉
P.S. Сразу после регистрации у вас также будет возможность потестировать весь платный функционал, а затем сравнить все наши тарифы и выбрать для себя подходящий.
2.2. Массовая проверка кодов ответа сервера по списку страниц
Если перед тобой стоит задача массово проверить список страниц различных сайтов, рекламных кампаний или просто отдельных страниц, можешь добавить эти страницы в программу:
Нажми после этого «Старт», и программа начнёт сканирование этого списка URL.
Кстати, вот ещё одно удобство! Если нужно получить только коды ответов HTTP, выключи все остальные параметры на боковой панели. А если нужен более информативный отчёт с определённым набором параметров — выбери нужные и запускай сканирование.
3. От сервера пришёл ответ с кодом ххх — что это значит?
Давай разберём отдельно самые популярные HTTP коды ответа, чтобы понять их назначение.
200 ОК
Ответ, который говорит об успешно обработанном запросе: сервер дал ответ → страница найдена → информация передана клиенту.
301 Moved Permanently
Запрашиваемый документ перемещён на другой URL-адрес навсегда.
Это код ответа сервера, который вызывает больше всего вопросов у начинающих. На самом деле ответ прост: все страницы, с которых пользователей нужно навсегда переправить на другую страницу (дубли, удалённые страницы, зеркала и всякие штучки, о которых ты не расскажешь на исповеди Google), должны отвечать этим кодом.
После краулинга таких страниц поисковые системы рано или поздно «склеят» их с целевой страницей редиректа и передадут ссылочный вес. Ну и, конечно, старайся убирать внутри сайта все ссылки на страницы, которые отдают 301 код ответа, и проставь сразу целевую страницу редиректа.
302 Found
Уведомляет клиента, что страница найдена и временно расположена по другому адресу. Поисковые системы обычно не удаляют её из индекса. Ранее этот код ответа использовался во время доработок на сайте или случаев, когда товара временно нет в наличии, но страница приносит трафик, поэтому есть смысл перенаправить пользователей на страницу каталога или похожего товара. Но с появлением HTTP 1.1 на замену ему пришли 303 и 307 коды ответа.
303 See Other
Лучше всего использовать этот код ответа, когда хочешь временно направить пользователя на немного другую страницу, которая сможет ему помочь, но не удовлетворит на 100% его поисковый запрос. Доступен запрос только методом GET, что даёт вам доступ только запрашивать информацию, но не обновлять или добавлять данные ресурса.
304 Not Modified
Интересный код ответа, так как на первый взгляд является перенаправлением, но в реальности настраивается специально для ботов и даёт эффект даже лучше, чем 200 OK.
Все мы слышали про краулинговый бюджет. Так вот 304 код ответа является отличным способом помочь ботам поисковых систем не тратить время на страницы, которые не изменились с их последнего визита, а сосредоточиться на сканировании новых. Реализовывается это в связке с HTTP-заголовком If-Modified-Since.
Хочу заметить, что актуальность такого кода ответа для маленьких сайтов маленькая, но если ты будешь работать с большими сайтами, то это очень полезная фича 😉
307 Temporary Redirect
Советую использовать этот код в случае, если нужно временно перенаправить пользователя и одновременно оставить возможность отправлять запрос методом POST, так как это особенность 307 кода, которая позволяет передевать информацию на сервер. Это основное отличие между 303 и 307 редиректами.
Перейдём к кодам, которые отвечают за ошибки на стороне клиента.
401 Unauthorized
Код, который говорит о том, что пользователь ещё не прошёл аутентификацию, или данные неверны.
403 Forbidden
Доступ запрещён. Сервер получил запрос, но отказывается его выполнить из-за ограничений доступа (например, когда пользователь хочет посмотреть системные файлы или другие документы, к которым у него нет доступа).
404 Not Found
410 Gone
При запросе к намеренно удалённой странице лучше возвращать 410 код, когда ты уверен, что точно не сделаешь похожую. В этом случае поисковый робот не вернётся к странице и отметит её как удаленную, после чего со временем она пропадёт из индекса.
429 Too Many Requests
Код ответа, который мы часто видим в нашем краулере. Сервер возвращает такой код, когда определяет слишком большую активность от одного пользователя за определённый промежуток времени. Если тебе нужно продолжить сканирование такого сайта, уменьши количество потоков в настройках краулера.
Уважай сервер, он почти как Google — у него очень много спрашивают, а он один.
Ну и завершим всё ошибками на стороне сервера, которые чаще всего встречаются.
500 Internal Server Error
Ошибка говорит о том, что сервер не может обработать запрос. Это любая непредвиденная для сервера ситуация, причину которой он не способен определить (она не соответствует ни одной другой пятисотой ошибке).
503 Service Unavailable
Сервер недоступен, и обработка запросов временно не осуществляется по техническим причинам. Чаще всего ты видишь такой ответ, когда сервер обслуживается или перегружен.
Ещё одно корокое и полезное видео о том, как проверить код ответа страниц на сайте:
Подводим итоги
Напоследок давай пробежимся по всему, что уже сказано: