HTTP-ответы веб-сервера

Каждому веб-мастеру рано или поздно приходится встречаться с такими штуками, как HTTP-ответы веб-сервера. HTTP-ответ – это ответ веб-сервера на запрос посетителя. Он генерируется каждый раз когда браузер обращается к серверу, сервер отправляет специальный HTTP-заголовок (HTTP-ответ), в первой строке которого содержится трехразрядный код состояния (обычно сопровождается еще и текстовым описанием). Для нормальной веб-страницы ( то есть если она существует/не защищена паролем/ее можно прочитать), HTTP-код состояния - 200 OK. Обычный пользователь браузера не видит его, так как сервер переходит к отправке содержимого страницы, а браузер переходит к отображению содержимого страницы.

Коды состояний обычно генерируются веб-серверами, но иногда это могут делать и CGI-сценарии, CGI-сценарии генерируют собственные заголовки вместо тех, которые должен выдавать сервер. Веб-серверы генерируют сообщения об ошибках, когда они сталкиваются с непредвиденными обстоятельствами. Наиболее распространенной ошибкой является 404. Эта ошибка встречается всякий раз, когда пользователь запрашивает несуществующую страницу. В этом случае страница могла быть перемещена, или пользователь мог ошибиться при наборе URL. Каждый запрос на сайт записывается в лог-файлах, проанализировав которые, администратор может узнать много «нового» о своем, казалось бы, безупречном сайте.

Коды ответа четко сгруппированы по нескольким основным разделам:

Информационныe

100 Continue - Продолжить. Как правило это значит, что часть запроса принята и можно отправлять следующую часть.

101 Switching Protocols - Переключение протоколов. Сервер производит переключение протоколов в соответствии с заголовком.

Запрос клиента успешен

200 OK - Запрос успешно обработан.

201 Created - Создан. Данный код используется когда происходит создание нового URI. Вместе с кодом сервер посылает заголовок Location содержащий адрес нового URI.

202 Accepted - Принято. Запрос принят и обрабатывается. В теле ответа также содержится дополнительная информация по обработке.

203 Non-Authoritative Information - Не авторская информация. Ответ означает, что информация получена из ненадежного источника (например, с другого сервера).

204 No Content - Нет содержимого. Запрос обработан, но в ответ ничего не возвращается. Такой ответ возвращается на запрос когда не нужно обновлять содержимое документа.

205 Reset Content - Сбросить содержимое. Означает, что содержимое документа должно быть сброшено в начальное состояние. Обычно используется при очистке форм ввода данных.

206 Partial Content - Частичное содержимое. При данном ответе возвращается лишь часть данных. Обычно используется если клиент запросил часть данных с использованием заголовка Range.

Запрос клиента переадресован, необходимы дальнейшие действия

300 Multiple Choices - Множественный выбор. Означает, что существует несколько вариантов запрашиваемой страницы. Например, сайт, переведенный на несколько языков.

301 Moved Permanently - Перемещен навсегда. Данный ответ означает, что данный документ был перемещен и клиенту следует изменить все ссылки на данный документ.

302 Moved Temporarily - Перемещен временно. Документ временно перемещен в другое место.

303 See Other - Смотреть другой. Данный документ можно найти по другим ссылкам. Список ссылок передается в теле ответа.

304 Not Modified - Не модифицирован. Данный код ответа возвращается если был запрос lf-Modified-Since, и документ не изменялся с указанной даты.

305 Use Proxy - Использовать прокси-сервер. Доступ к документу должен осуществляться через proxy-сервер, адрес которого указан в Location (в теле ответа).

Запрос клиента является неполным

400 Bad Request - Неправильный запрос. Ошибка в строке запроса.

401 Unauthorized - Несанкционированно. Ответ означает, что пользователь не имеет достаточных прав для просмотра документа.

402 Payment Required - Требуется оплата. Данный код зарезервирован на будущее. Видимо будет означать, что запрошенный документ является платным ресурсом.

403 Forbidden - Запрещено. Запрос не будет выполнен по какой-либо причине. Обычно причина указывается в теле ответа.

404 Not Found - Не найдено. Запрашиваемого документа нет на сервере.

405 Method Not Allowed - Метод запрещен. Означает, что метод, используемый клиентом, не поддерживается.

406 Not Acceptable - Не приемлем. Ресурс существует, но не в той форме, что клиент запросил. Например, может различаться язык документа.

407 Proxy Authentication Required - Требуется аутентификация через прокси-сервер.

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 - URI запроса слишком длинный

415 Unsupported Media Type - Неподдерживаемый тип медиа, то есть сервер не поддерживает указанный формат данных.

416 - Диапазон запроса неудовлетворителен

417 - Ожидание неуспешно

Ошибки сервера

500 Internal Server Error - Внутреннняя ошибка веб-сервера. Например, ошибка при выполнении скрипта.

501 Not Implemented - Недопустимое действие.

502 Bad Gateway - Недопустимый ответ с другого ресурса.

503 Service Unavailable - Сервис недоступен, скорее всего временно.

504 Gateway Time-out - Превышен таймаут ожидания от другого ресурса

505 HTTP Version not supported - Версия протокола HTTP не поддерживается сервером.

В HTTP в каждом диапазоне определены лишь несколько кодов, хотя сервера при необходимости могут определяться собственные коды. Клиент при получении кода, который он не может распознать, интерпретирует его в соответствии с диапазоном, к которому этот код принадлежит. Коды в диапазонах 100-199, 200-299 и 300-399 большинство Web-браузеров обрабатывают без извещения пользователя, а некоторые коды ошибок из диапазонов 400-499 и 500-599 выводят для пользователя (например, 404 Not Found).

Информация
Автор webmancer Нравится 0
Рейтинг 1 Не нравится 0
Голосов 1 Прочитали 1
Дата 2011-10-02 09:00:00 В избранном 0
Ваша реакция

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

Зарегистрироваться

Авторизоваться

На рекомендательном сервисе WEBmancer.Org только зарегистрированные пользователи могут комментировать и оставлять рецензии. Авторизованный пользователь так же может ставить отметки книгам, фильмам и другим постам. Вести учет прочитанных книг и просмотренных фильмов. Добавлять посты в избранное и иметь к ним быстрый доступ.