Коды ошибок http сервера
Всем привет. Этот пост будет про ошибки возникающие при работе http сервера. При создании своего сайта, да и не только своего, их важно знать и понимать. Коды ошибок посылаются веб-сервером браузеру пользователя для определения его дальнейшего поведения. Коды web-сервера делятся на пять категорий.
Информационные (коды 100-199) – Сообщает браузеру что его запрос принят и обрабатывается.
Запрос браузера обработан успешно, (коды 200-299) сервер отправил клиенту запрашиваемый документ.
Запрос браузера изменен (коды 300-399) браузеру нужно предпринять некоторые действия для удовлетворения измененного запроса.
Проблемы при попытке выполнить запрос. (коды 400-499)
Ошибки сервера (коды 500-599).
Вот о двух последних категориях и пойдёт речь, так как они являются основными проблемами при создании сайтов и управлении сервером.
ошибка сервера 400 – Bad Request (Плохой запрос) – Означает, что сервером в запросе клиента обнаружена синтаксическая ошибка.
ошибка 401 Unauthorized (Не авторизован) – Этот код показывает, что пользователь пославший запрос не имеет необходимых прав и при повторном запросе с указанием данного URI пользователь должен предоставить эти права.
ошибка 403 Forbidden (Запрещено) – Запрос отклонен по той причине, что сервер не хочет (или не имеет возможности) отвечать клиенту. Возможные причины ошибки:
1)Вы пытаетесь запустить CGI-скрипт, расположенный вне CGI-директории (например, в директории документов сервера www). Можно запускать скрипты из www-директории только если в ней есть файл .htaccess (с точкой в начале) следующего содержания: Options +ExecCGI
2)Возможно, вы пытаетесь открыть картинку или статический HTML-файл, расположенный в CGI-директории. Этого делать нельзя. Все рисунки (а также другие файлы, за исключениям скриптов) должны находиться в www-директории.
3)Если вы ожидаете получить листинг каталога, но выводится эта ошибка, вероятно, для данной директории выдача листинга запрещена (например, это CGI-папка). Для разрешения листинга в нужной директории должен находиться файл .htaccess следующего содержания: Options +Indexes
ошибка 404 Not Found (Не найдено) – Документа по указанному URL не существует. Возможно, такой файл удален либо вы ошиблись при наборе URL в браузере или прошли по неверной ссылке.
ошибка 405 Method Not Allowed (Метод не применим) – Этот код выдается с заголовком Allow и показывает, что метод, используемый клиентом, для данного URL не поддерживается. Возможно, вы пытаетесь отправить данные POST-формы на страницу, которая не является скриптом (например, на SHTML-страницу). Проверьте путь в атрибуте action тега , инициировавшего данный запрос. Проверьте также, не пуст ли этот атрибут (и задан ли вообще).
ошибка 406 Not Acceptable (Не приемлемо)- Ресурс, указанный клиентом по данному URL, существует, но не в том формате, который необходим клиенту. Если метод был не HEAD, то сервер должен вернуть список допустимых характеристик для данного ресурса.
ошибка 407 Proxy Authentication Required (Необходима авторизация прокси) – Proxy-сервер должен санкционировать запрос перед тем, как пересылать его. Используется с заголовком Proxy-Authenticate. Механизм аналогичен идентификации на исходном сервере.
ошибка 408 Request Time-out (Время ожидания истекло) Время ожидания сервером передачи от клиента истекло. Клиент может повторить аналогичный предыдущему запрос в любое время.
Например, такая ситуация может возникнуть при загрузке на сервер объёмного файла методом POST или PUT. В какой-то момент передачи источник данных перестал отвечать (например, из-за повреждёния компакт-диска или потеря связи с другим компьютером в локальной сети). Пока клиент ничего не передаёт, ожидая от него ответа, соединение с сервером держится. Через некоторое время сервер может закрыть соединение со своей стороны чтобы дать возможность другим клиентам сделать запрос.
Разумеется, этот ответ не возвращается когда клиент принудительно остановил передачу по команде пользователя или соединение прервалось по каким-то иным причинам, так как ответ уже послать невозможно.
ошибка 409 Conflict (Конфликт) Данный запрос конфликтует с другим запросом или с конфигурацией сервера. Такое возможно, например, когда два клиента пытаются изменить ресурс с помощью метода PUT. Информацию о конфликте следует возвратить в информационной части ответа.
ошибка 410 Gone (Удалён) – Данный код показывает, что затребованный URL больше не существует и навсегда удален с сервера.
ошибка 411 Length Required (Необходима длина) – Сервер отказывается принимать запрос без определенного Content-Length.
ошибка 412 Precondition Failed (Условие «ложно») – Результат вычисления условия, заданного в запросе одним или несколькими заголовками if, представляет собой “ложь”.
ошибка 413 Request Entity Too Large (Размер запроса слишком велик) - Сервер не будет обрабатывать запрос, потому что его содержание слишком велико.
ошибка 414 Request URL Too Long (Запрашиваемый URL слишком длинный) Сервер не будет обрабатывать запрос, потому что его URL слишком длинный. Такую ошибку можно спровоцировать, например, когда клиент пытается передать длинные параметры через метод GET, а не POST.
ошибка 415 Unsupported Media Type (Неподдерживаемый тип данных) – Сервер не будет обрабатывать запрос, потому что его тело имеет неподдерживаемый формат
ошибка 416 Requested Range Not Satisfiable (Запрашиваемый диапазон не достижим) - Сервер сообщает – форма запроса невыполнима
ошибка 417 Expectation Failed (Ожидаемое не приемлемо) – Сервер сообщает, что время ожидания истекло.
ошибка 500 Internal Server Error (Внутренняя ошибка сервера) - При обработке запроса на сервере один из его компонентов (например, CGI-программа) выдал аварийный отказ или столкнулся с ошибкой конфигурации. Причиной этого могут быть неправильные инструкции в файле .htaccess, неправильные атрибуты на CGI-скрипте (должны быть 755). Так же, это может быть ошибка в скрипте. Точную причину можно установить, просматривая error.log.
ошибка 501 Not Implemented (Не реализовано) – Клиент запросил выполнение действия, которое сервер выполнить не может.
ошибка сервера 502 Bad Gateway (Плохой шлюз) - Сервер (или proxy-сервер) получил недопустимые ответы другого сервера (или proxy-сервера)
ошибка сервера 503 Service Unavailable (Сервис недоступен) – означает, что данная служба временно недоступна, но в будущем доступ к ней будет восстановлен. Если сервер знает, когда это произойдет, может быть также выдан заголовок Retry-After.
ошибка сервера 504 Gateway Time-out (Шлюз не отвечает) – Этот ответ похож на ошибку 408 (Request Time-out), за исключением того, что шлюз или уполномоченный сервер превысил лимит времени.
ошибка сервера 505 HTTP Version not supported (Версия HTTP не поддерживается) – Версия HTTP не поддерживается данным сервером


