в SEO

Коды ответов сервера. О чем надо знать?

БесполезноНе очень как-тоСреднеПолезноОчень полезно (2 голосов, средняя оценка: 5,00 максимум из 5)

Мы часто говорим, ошибка 404, ошибка 403, 301, ошибка 503 и друг друга отлично понимаем. И примерно понимаем, что нужно делать в данной ситуации. Данная статья направлена на тех, кто только начинает во всё этом разбираться, чтобы мы все могли говорить на одном языке.

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

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

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

Какие бывают коды ответа

Коды ответа делятся по числовым значениям

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

Информационные ответы (1xx):

  • 100 Continue 
    Часть запроса принята, можно отправлять следующую часть запроса. Часто даже не выделяется отдельно. Код говорит серверу — ОК, работаем дальше, всё идет по плану!
  • 101 Switching Protocols
    Сервер производит переключение протоколов в соответствии с заголовком Upgrade. Пользователя это никоим боком не касается. Про этот код ответа можете забыть 🙂

Успешная обработка запроса (2xx):

  • 200 OK 
    Запрос обработан успешно. Самый главный код. Именно он дает команду браузеру производить загрузку страницы. Говорит, что всё хорошо с запросом, он успешно обработан.
  • 201 Created
    Данный код используется когда происходит создание нового URI. Вместе с кодом сервер посылает заголовок Location с адресом нового URI. Например при поиске или фильтрации может возвращаться этот код.
  • 202 Accepted
    Запрос принят и обрабатывается. В теле ответа как правило содержится дополнительная информация.
  • 203 Non-Authoritative Information
    Ответ означает, что информация получена из ненадежного источника (например, с другого сервера). Иногда этим пользуются злоумышленники, поэтому при наличии 203 кода следует проверить сайт на вирусы.
  • 204 No Content
    Запрос обработан, но в ответ ничего не возвращается. Как правило используется если в ответ на запрос не нужно обновлять содержимое документа. Чисто технический момент, на него не обращайте внимания
  • 205 Reset Content
    Означает, что содержимое документа должно быть сброшено в начальное состояние. Обычно используется при очистке форм ввода данных. Похож на 204 код, но тут нужно перезагружать документ.
  • 206 Partial Content
    При данном ответе возвращается лишь часть данных. Обычно используется если клиент запросил часть данных с использованием заголовка Range. Тесно связан с процессом кэширования.

Переадресация (3xx):

  • 300 Multiple Choices
    Означает, что существует несколько вариантов запрашиваемой страницы. Например, сайт, переведенный на несколько языков и пользователю предложены варианты выбора. В теле содержимого могут возвращаться данные для выбора правильного ресурса.
  • 301 Moved Permanently
    Затребованный URI уже не используется сервером, и указанная в запросе операция не выполнена. Новое местонахождение затребованного документа указывается в заголовке Location файла .htaccess. Во всех последующих запросах данного документа следует указывать новый URI. Очень важный код ответа, с помощью которого можно избавиться от дублей страниц и сменить адреса страниц на новые без потери позиций и веса.
  • 302 Moved Temporarily
    Затребованный URI перемешен, но лишь временно. Заголовок Location файла .htaccess указывает на новое местонахождение. После получения этого кода ответа клиент получает документ по новому адресу, а во всех последующих запросах — по старому.
  • 303 See Other
    Затребованный URI можно найти по другому адресу, указанному в заголовке Location файла .htaccess. Его следует выбрать методом GET по данному ресурсу.
  • 304 Not Modified
    Данный код ответа возвращается если был запрос lf-Modified-Since, и документ не изменялся с указанной даты. Тело документа не посылается, а клиент должен использовать локальную версию документа.
  • 305 Use Proxy
    Доступ к документу должен осуществляться через proxy-сервер, адрес которого указан в Location.

Ошибки выполнения запроса (4xx):

  • 400 Bad Request
    Любая синтаксическая ошибка в строке запроса.
  • 401 Unauthorized
    Этот ответ, передаваемый с заголовком WWW-Authenticate, означает, что пользователь не имеет достаточных прав для просмотра документа. Как правило эта ошибка появляется, если для просмотра документа нужна авторизация пользователя, а пользователь не авторизован, например, через связку htaccess-htpasswd.
  • 402 Payment Required
    Этот код ответа еще не реализован, но название говорит само за себя. Используется несколькими популярными сервисами (в частности, youtube), чтобы защититься от спама с конкретного IP адреса.
  • 403 Forbidden
    Запрос клиента отклонен по какой-либо причине. Чаще всего, когда страница находится в закрытом разделе с ограниченным доступом.
  • 404 Not Found
    Документ не найден. Наверное это самая распространенная ошибка сервера. Возникает, когда документ был удален или допущена ошибка в адресе документа.
  • 405 Method Not Allowed
    Означает, что метод, используемый клиентом, не поддерживается. Например, при попытке отправить POST — данные документу, который не является скриптом.
  • 406 Not Acceptable
    Ресурс существует, но в другом формате, например, может различаться язык документа. Вместе с этим кодом сервер возвращает заголовки Content-Language, Content-Encoding и Content-Type.
  • 407 Proxy Authentication Required
    Proxy-сервер должен санкционировать запрос перед тем, как пересылать его. Используется с заголовком Proxy-Authenticate.
  • 408 Request Time-out
    Сервер разорвал соединение из-за превышенного таймаута. Этот код ответа означает, что клиент не передал полный запрос в течение некоторого установленного промежутка времени (который задается в конфигурации сервера) и сервер разрывает сетевое соединение. Как правило это происходит при плохом качестве связи, при передачи больших объемов данных серверу, при очень низкой скорости сайта.
  • 409 Conflict
    Данный запрос конфликтует с другим запросом или с конфигурацией сервера. Информация о конфликте обычно возвращается в информационной части ответа. Можно почитать и быстро устранить.
  • 410 Gone
    Запрошеный документ навсегда удален с сервера.
  • 411 Length Required
    Пропущено необходимое поле в заголовке запроса Content-Length.
  • 412 Precondition Failed
    Не выполнено условие, указанное в заголовке.
  • 413 Request Entity Too Large
    Слишком большой запрос.
  • 414 Request-URI Too Long
    Слишком длинный URL в запросе. Часто возникает при GET фильтрации данных в многоуровневых фильтрах. Поэтому на этапе разработки сайта следует подумать, а может лучше фильтровать данные через POST, генерируя потом уникальную ЧПУ ссылку. Ведь данные в POST могут передаваться в огромном количестве (зависит от параметра в php.ini)
  • 415 Unsupported Media Type
    Сервер не поддерживает указанный формат данных. Не поддерживает и не собирается. Всё, точка.
  • 416 Requested Range Not Satisfiable
    Сервер сообщает — форма запроса (требуемый диапазон) не выполнима.
  • 417 Expectation Failed
    Время ожидания истекло.

Ошибки сервера (5xx):

  • 500 Internal Server Error
    Внутренняя ошибка сервера. Ошибка выполнения скрипта, ошибка в файле .htaccess и т.д. Легко обнаруживается в логах веб-сервера. Исправляется программистами 🙂
  • 501 Not Implemented
    Недопустимое действие.
  • 502 Bad Gateway
    Недопустимый ответ с другого ресурса.
  • 503 Service Unavailable
    Данный код означает, что указанный сервис временно недоступен, если известно время восстановления работы, то может быть передан заголовок Retry-After. Часто возникает из-за перегрузок сервера на слабых хостингах.
  • 504 Gateway Time-out
    Превышен таймаут ожидания от другого ресурса.
  • 505 HTTP Version not supported
    Данная версия протокола HTTP не поддерживается сервером.

Что делать при возникновении ошибок

Некоторые ошибки являются временными (например, 503), а некоторые делают работу сайта невозможной.

Поэтому сперва при возникновении ошибок следует смотреть записи в логах сервера. Там будут ответы на очень многие вопросы.

А если сайт часто не отвечает, то есть смысл подумать о смене хостера.

БесполезноНе очень как-тоСреднеПолезноОчень полезно (2 голосов, средняя оценка: 5,00 максимум из 5)

Хотите задать вопрос или заказать услугу? Пишите!

Ваше имя (обязательно)

Ваш e-mail (обязательно)

Суть вопроса

Сообщение

Гарантирован ответ в течение 1 часа в рабочее время!

Понравилась статья? Поделись ею с друзьями!

в SEO | 27 января 2016 | 143 Слов |

Оставить комментарий

Комментарии

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