Коды ответов HTTP
Знание кодов возврата HTTP (ответов) весьма важно для системного администратора.
Вы, наверняка уже знаете, что проток ол HTTP возвращает определенные коды ответов HTTP, которые являются кодами статуса HTTP-соединения.
Наверняка, код 404 - Not Found знаком всем, ведь с ним сталкиваются все без исключения пользователи интернета. Ошибка 404 является самой распространенной потому, что некоторые ссылки web-ресурсов указывают на отсутствующие страницы. Иногда все ошибки из диапазона 400...415 расцениваются как ошибка 404.
Код ответа HTTP 200 является кодом нормального завершения операции, вы его не видите, когда получаете страницу.
Всего определено 5 категорий кодов ответа HTTP. Каждая из этих категорий может содержать 100 кодов возврата.
Коды диапазона 100...199 являются информационными. С их помощью возвращается различная информация, относящаяся к запросу.
Диапазон 200...299 является диапазоном успешных операций. Коды, относящиеся к этому диапазону, сообщают об удачном завершении той или иной операции. К этому диапазону относятся также коды, сообщающие, что запрашиваемый файл пуст (no content), и сообщающие, что запрос был принят.
Диапазон кодов ответа 300...399 являются кодами перенаправления (redirect).
Коды диапазона 400...499 являются ошибками клиента. Например, пользователь может запросить несуществующий документ. К этому же диапазону относятся и ошибки "Forbidden" и "Unauthorized". И первая, и вторая сообщают, что у клиента нет доступа к определенному ресурсу. В первом случае доступ просто запрещен, а во втором случае клиент не является авторизированным.
Коды ответа 500...599 являются кодами ошибок сервера. Данные ошибки возникают при внутренней ошибке сервера или же при неправильном его конфигурировании. Во втором случае сервер просто не может правильно возвратить ответ на запрос. Этот тип ошибок встречается обычно, когда ошибку совершает сценарий (скрипт), расположенный на сервере.
Некоторые интерпретаторы скриптов, например, PHP никогда не допускают такой ошибки. Если в PHP-скрипте присуствуют ошибки, то интерпретатор PHP просто возвратит клиенту сообщение об этой ошибке. Со стороны сервера это будет выглядеть как нормальный ответ клиенту (браузеру). Например, в отличие от PHP-интерпретатора, Perl возвращает сообщение об ошибке в протокол HTTP.
Теперь приведем список основных кодов возврата HTTP:
Таблица кодов возврата HTTPКод возврата Описание кода возврата HTTP
100 Продолжить (Continue)
101 Переключение протоколов (switching protocols)
200 OK
201 Создан (created)
202 Принят
203 Неавторитеная информация (non-authoritative information)
204 Файл пуст (no content)
205 Сброс содержимого (reset content)
206 Частичное содержимое (partial content)
300 Многократный выбор (multiple choices)
301 Перемещен постоянно (moved permanently)
302 Перемещен временно (moved temporarily)
303 Смотри другой (see other)
304 Неизмененный (not modified)
305 Использовать прокси-сервер (use proxy)
400 Неправильный запрос (bad request)
401 Неавторизирован (unauthorized)
402 Payment Required
403 Нет доступа (forbidden)
404 Не найден
405 Метод не разрешен (method not allowed)
406 Неприемлемый (not acceptable)
407 Требуется аутентификация на прокси-сервере (proxy authentication required)
408 Превышение тайм-аута запроса (request time-out)
411 Тредуется длина (при использовании метода POST)
412 Не выполнено предыдущее условие (precondition failed)
413 Объект запроса слишком велик (request entity too large)
414 Запрашиваемый URL слишком велик (request URL too large)
415 Неподдерживаемый тип информации (unsupported media type)
500 Ошибка сервера (server error)
501 Не реализован (not implemented)
502 Неправильный шлюз (Bad Gateway)
503 Нехватка ресурсов (out of resources)
504 Превышен тайм-аут шлюза
505 Неподдерживаемая весрия HTTP (HTTP version not supported)
Разумеется, это не полный перечень кодов ответа HTTP, но приведенного списка основных кодов возврата вполне достаточно.