Иногда, входя на тот или иной сайт мы получаем вместо страницы
сайта экран с сообщением об ошибке содержащего сообщение "404" или "Not Found". Большинство ошибок являются служебными и
Пользователь их не видит. Они используются администратором сервера на котором
расположен Ваш сайт чтобы контролировать работу сервера. Что это такое и в чем
причина этого попробую немного рассказать ниже.
Когда на сервере запрашивается страница (например, когда пользователь
открывает страницу в браузере или когда ее сканирует робот), сервер в ответ на
запрос возвращает код статуса (состояния) НТТР. Этот
код статуса содержит информацию о статусе запроса. Код статуса предоставляет
информацию о запрашиваемой странице.
Таких сообщений существует 40 и они делятся на пять больших групп:
информационные сообщения, сообщения об успешном завершении, сообщения о
перенаправлении, сообщения об ошибках клиента и сообщения об ошибках сервера.
Status-Code |
Eng |
Ru |
Описание |
Примечание |
100 |
Continue |
продолжить |
Начальная часть запроса
принята, и клиент может продолжать передачу запроса |
1xx:
Informational (информационные) |
101 |
Switching Protocols |
переключение протоколов |
Сервер выполняет
требование клиента и переключает протоколы в соответствии с указанием,
данным в поле заголовка Upgrade |
102 |
Processing |
идёт
обработка |
запрос принят, но на его
обработку понадобится длительное время. Используется сервером, чтобы
клиент не разорвал соединение из-за превышения времени ожидания. Клиент
при получении такого ответа должен сбросить таймер и дожидаться
следующей команды в обычном режиме |
200 |
OK |
хорошо |
Запрос клиента обработан
успешно и ответ сервера содержит затребованные данные |
2xx:
Success
(успешно) |
201 |
Created |
создано |
Этот код состояния
используется в случае создания нового URL. Вместе с этим кодом
результата сервер выдает заголовок Location, который содержит информацию
о том, куда были помещены новые данные |
202 |
Accepted |
принято |
Запрос принят, но
обрабатывается не сразу. В теле содержимого ответа сервера может быть
дана дополнительная информация о данной транзакции. Гарантии того, что
сервер в конечном итоге удовлетворит запрос, нет, даже несмотря на то,
что на момент приема запрос выглядел допустимым |
203 |
Non-Authoritative
Information |
информация
не авторитетна |
Информация в заголовке
содержимого взята из локальной копии или у третьей стороны, а не с
исходного сервера |
204 |
No Content |
нет
содержимого |
Ответ содержит код
состояния и заголовок, но тело содержимого отсутствует. При получении
этого ответа броузер не должен обновлять свой документ. Обработчик
чувствительных областей изображений может возвращать этот код, когда
пользователь щелкает на бесполезных или пустых участках изображения |
205 |
Reset Content |
сбросить
содержимое |
Броузер должен очистить
форму, используемую в данной транзакции, для дополнительных входных
данных. Полезен для CGI-приложений, требующих ввода данных |
206 |
Partial Content |
частичное
содержимое |
Сервер возвращает лишь
часть данных затребованного объема. Используется в ответе на запрос с
указанием заголовка Range. Сервер должен указать диапазон, включенный в
ответ, в заголовке Content-Range |
207 |
Multi-Status |
многостатусный |
сервер передаёт результаты
выполнения сразу нескольких независимых операций. Они помещаются в само
тело сообщения в виде XML-документа
с объектом multistatus. Не
рекомендуется размещать в этом объекте статусы из серии 1xx из-за
бессмысленности и избыточности |
226 |
IM Used |
использовано IM |
заголовок A-IM от клиента
был успешно принят и сервер возвращает содержимое с учётом указанных
параметров. Введено в RFC 3229 для дополнения протокола HTTP поддержкой
дельта-кодирования |
300 |
Multiple Choices |
множество
выборов |
Затребованный URI
обозначает более одного ресурса. Например, URI может обозначать
документ, переведенный на несколько языков. В теле содержимого,
возвращенном сервером, может находиться перечень более конкретных данных
о том, как выбрать ресурс правильно |
3xx:
Redirection (перенаправление) |
301 |
Moved Permanently |
перемещено
навсегда |
Документ уже не
используется сервером, а ссылка перенаправляет на другую страницу |
302 |
Found |
найдено |
Запрошенный ресурс
временно находится под другим адресом |
303 |
See Other |
смотреть
другое |
Запрошенный ресурс
находится под другим адресом и его следует запрашивать, используя метод
GET |
304 |
Not Modified |
не
изменялось |
Это код ответа на
заголовок lf-Modified-Since, если URI не изменялся с указанной даты.
Тело содержимого не посылается, и клиент должен использовать свою
локальную копию |
305 |
Use Proxy |
использовать прокси |
Доступ к затребованному
URI должен осуществляться через proxy-сервер, указанный в заголовке
Location |
307 |
Temporary Redirect |
временное
перенаправление |
Затребованный ресурс был
временно переведен на другой адрес, который необходимо прописать в
Location |
400 |
Bad Request |
неверный
запрос |
Запрос не может быть понят
сервером из-за некорректного синтаксиса |
4xx:
Client Error
(ошибка клиента) |
401 |
Unauthorized |
неавторизован |
Для доступа к документу
необходимо вводить пароль или быть зарегистрированным пользователем |
402 |
Payment Required |
необходима
оплата |
Внутренняя ошибка или
ошибка конфигурации сервера |
403 |
Forbidden |
запрещено |
Доступ к документу
запрещен |
404 |
Not Found |
не найдено |
Документ по указанному URL
не существует. Возможно, такой файл удален, а возможно, вы ошиблись при
наборе URL в браузере или пошли по неверной ссылке |
405 |
Method Not Allowed |
метод не
поддерживается |
Этот код выдается с
заголовком Allow и показывает, что метод, используемый клиентом, для
данного URL не поддерживается. (Например, при отправки POST данных на
страницу, которая не является скриптом) |
406 |
Not Acceptable |
не
приемлемо |
Ресурс, указанный клиентом
по данному URL, существует, но не в том формате, который нужен клиенту.
Вместе с этим кодом сервер выдает заголовки Content-Language,
Content-Encoding и Content-Type |
407 |
Proxy Authentication
Required |
необходима
аутентификация прокси |
Proxy-сервер должен
санкционировать запрос перед тем, как пересылать его. Используется с
заголовком Proxy-Authenticate |
408 |
Request Timeout |
истекло
время ожидания |
Этот код ответа означает,
что клиент не передал полный запрос в течение некоторого установленного
промежутка времени (который обычно задается в конфигурации сервера) и
сервер разрывает сетевое соединение |
409 |
Conflict |
конфликт |
Данный запрос конфликтует
с другим запросом или с конфигурацией сервера. Информацию о конфликте
следует возвратить в информационной части ответа |
410 |
Gone |
удалён |
Затребованный ресурс был
окончательно удален с сайта |
411 |
Length Required |
необходима
длина |
Сервер отказывается
принимать запрос без определенного заголовка Content-Length |
412 |
Precondition Failed |
условие
ложно |
При проверке на сервере
одного или более полей заголовка запроса обнаружено несоответствие (сбой
или ошибка при обработке предварительного условия) |
413 |
Request Entity Too
Large |
размер
запроса слишком велик |
Сервер отказывается
обрабатывать запрос потому, что размер запроса больше того, что может
обработать сервер |
414 |
Request-URI Too Large |
запрашиваемый URI слишком длинный |
Сервер не будет
обрабатывать запрос, потому что его URL слишком длинный. |
415 |
Unsupported Media Type |
неподдерживаемый тип данных |
Сервер отказывается
обрабатывать запрос, потому что тело запроса имеет неподдерживаемый
формат |
416 |
Requested Range Not
Satisfiable |
запрашиваемый диапазон не достижим |
Сервер отказывается
обрабатывать запрос, потому что значение поля Range в заголовке запроса
указывает на недопустимый диапазон байтов |
417 |
Expectation Failed |
ожидаемое
неприемлемо |
Сервер отказывается
обрабатывать запрос, потому что значение поля Expect в заголовке запроса
не соответствует ожиданиям |
422 |
Unprocessable Entity |
необрабатываемый экземпляр |
Сервер не в состоянии
обработать один (или более) элемент запроса. |
423 |
Locked |
заблокировано |
Сервер отказывается
обработать запрос, так как один из требуемых ресурсов заблокирован |
424 |
Failed Dependency |
невыполненная зависимость |
Сервер отказывается
обработать запрос, так как один из зависимых ресурсов заблокирован |
425 |
Unordered Collection |
неупорядоченный набор |
посылается, если клиент
послал запрос, обозначив положение в неотсортированной коллекции или
используя порядок следования элементов, отличный от
серверного[уточнить]. Введено в черновике по WebDAV Advanced Collections
Protocol |
426 |
Upgrade Required |
необходимо
обновление |
Сервер запросил апгрейд
соединения до SSL, но SSL не поддерживается клиентом |
449 |
Retry With |
повторить с |
возвращается сервером,
если для обработки запроса от клиента поступило недостаточно информации.
При этом в заголовок ответа помещается поле Ms-Echo-Request. В настоящий
момент как минимум используется программой Microsoft Money |
456 |
Unrecoverable Error |
некорректируемая ошибка |
возвращается сервером,
если обработка запроса вызывает некорректируемые сбои в таблицах баз
данных |
500 |
Internal Server Error |
внутренняя
ошибка сервера |
Сервер столкнулся
с непредвиденным условием, которое не позволяет ему выполнить запрос |
5xx:
Server Error
(ошибка сервера) |
501 |
Not Implemented |
не
реализовано |
Сервер не поддерживает
функциональные возможности, требуемые для выполнения запроса. Этот ответ
соответствует состоянию, когда сервер не распознает метод запроса
и не способен обеспечить его для любого ресурса |
502 |
Bad Gateway |
плохой,
ошибочный шлюз |
Сервер, действуя
в качестве шлюза или прокси-сервера, получил недопустимый ответ
от следующего сервера в цепочке запросов, к которому обратился при
попытке выполнить запрос |
503 |
Service Unavailable |
сервис
недоступен |
Возникла ошибка из-за
временной перегрузки или отключения на техническое обслуживание сервера |
504 |
Gateway Timeout |
шлюз не
отвечает |
Сервер, при работе
в качестве внешнего шлюза или прокси-сервера, своевременно не получил
отклик от вышестоящего сервера, к которому он обратился, пытаясь
выполнить запрос |
505 |
HTTP Version Not
Supported |
версия HTTP
не поддерживается |
Сервер не поддерживает или
отказывается поддерживать версию HTTP-протокола, которая используется
в сообщении запроса робота |
506 |
Variant Also Negotiates |
вариант
тоже проводит согласование |
в результате ошибочной
конфигурации выбранный вариант указывает сам на себя, из-за чего процесс
связывания прерывается. Экспериментальное. Введено в RFC 2295 для
дополнения протокола HTTP технологией Transparent Content Negotiation |
507 |
Insufficient Storage |
переполнение хранилища |
Сервер не может обработать
запрос из-за недостатка места на диске |
508 |
Loop Detected |
обнаружена
петля |
Сервер не может обработать
запрос из-за недостатка памяти |
509 |
Bandwidth Limit
Exceeded |
исчерпана
пропускная ширина канала |
используется при
превышении веб-площадкой отведённого ей ограничения на потребление
трафика. В данном случае владельцу площадки следует обратиться к своему
хостинг-провайдеру. В настоящий момент данный код не описан ни в одном
RFC и используется только модулем «bw/limited», входящим в панель
управления хостингом cPanel, где и был введён |
510 |
Not Extended |
не
расширено |
Сервер не может обработать
запрос из-за того, что запрашиваемое расширение не поддерживается |
Таблица 1.
Кроме нескольких сообщений об ошибках, которые в том или ином виде попадают
на глаза пользователям Интернет, существуют еще и сообщения интересные
владельцам или веб-мастерам сайтов. Эти сообщения которые извлекаются из лог
файлов программы анализа статистики сайта, например у меня это
AwStats.
Ниже, в таблице 2, я привожу их с описаниями и долей в трафике всех
сообщений.
Таблица 2.
Впечатляет и настораживает множество
таких сообщений полученных в течении месяца.
Подробный анализ информации об ошибках говорит, что как таковых ошибок нет
(они в большинстве своем исправляются сразу после обнаружения).
Получается
ошибки 404 это ошибка набора адреса.
Причем просто ошибки набора и ошибки
преднамеренные, которые больше похожи на попытку получить доступ к файлам, когда
в запрос включаются посторонние символы и даже иногда команды. Часто это попытки
обратиться к несуществующим файлам, файлам доступ к которым напрямую закрыт,
....
Наличие преднамеренных искажений запроса к серверу подтверждает и большое
количество сообщений сервера 403.
Что означает именно "Наиболее вероятными причинами ограничения может
послужить попытка доступа к системным ресурсам веб-сервера" или попытка получить
доступ к ресурсам сайта с ограниченным доступом. Например к инструментам
администратора форума, каталога, сайта.
И только около 20% сообщений сервера можно отнести (с некоторыми оговорками)
к работе сервера провайдера (206), браузера клиента.
А.Сорокин. 2013