Учебное пособие по CGI-программированию - Ответы HTTP-сервера

ОГЛАВЛЕНИЕ


Ответ HTTP-сервера.
Ответ идет от сервера.Состоит он из строки состояния и затем поля ответа Общий заголовок(General-Header) и заголовок тела сообщения (Entity-Header),которые уже описаны при обсуждении запроса. и еще идет заголовок ответа(Response-Header).
Строка состояния имеет следующий формат:
HTTP/version <SP> Status-Code <SP> Status-Phrase
где HTTP/version версия,Status-Code -3х значный код,и Status-Phrase текстовая фраза, поясняющая код ,пример: HTTP/1.0 200 Ok
,200 -код означающий успешную обработку запроса,что и поясняет "Ok" Заголовок ответа состоит из полей:
Location:
Содержит URI ресурса,может быть использован для переключения клиента в другое место, если например ресурс был перемещен в другое место или на другой сервер.
Location: http://www.uic.nnov.ru/newlocation/index.html

Server:
Информация о програмном обеспечении сервера
Server: Apache/1.1

WWW-Autenticate:
Параметры аутентификации.
WWW-Autenticate: Basic realm="doomsday"

Коды ответов HTTP.

Код статусаЗначение
200OK
201Успешная команда POST
202Запрос принят
203Запрос GET или HEAD выполнен
204Запрос выполнен но нет содержимого
300Ресурс обнаружен в нескольких местах
301Ресурс удален навсегда
302Ресурс отсутствует временно
304Ресурс был изменен
400Плохой запрос от клиента
401Неавторизованый запрос
402Необходима оплата за ресурс
403Доступ Запрещен
404Ресурс не найден
405Метод не применим для данного ресурса
406Недопустимый тип ресурса
410Ресурс Недоступен
500Внутренняя ошибка сервера
(это по вашу душу,юные CGI-программисты ;( )
501Метод не выполнен
502Неисправный шлюз либо перегруз сервера
503Сервер недоступен/тайм-аут шлюза
504Вторичный шлюз/тай-аут сервера

Более подробное описание всех кодов можно найти в RFC-1945
Несколько примеров:

HTTP/1.0 200 Ok
Date: Wed, 25 Sep 1998 23:00:00 GMT
Server: Apache/1.1
MIME-version: 1.0
Last-Modified: Mon 15 Nov 1996 15:20:12 GMT
Content-Type: text/html
Content-Length: 2000

<HTML><HEAD><TITLE>Hello</TITLE></HEAD>
<BODY bgcolor="green" text="yellow">
......
</HTML>
А вот такое сервер выдаст в неудачном случае:
HTTP/1.0 404 Not Found