CGI программа возвращает результат работы, отвечающий (явно или
неявно) целям запроса. Сервер кодирует результат работы в
соответствии со стандартом HTTP и использует HTTP для отправки
результата клиенту. Это означает, что сервер добавляет необходимый
HTTP заголовки в сообщение, формируемое CGI программой.
Результат работы CGI программы состоит из двух частей:
заголовка и тела сообщения. Заголовок состоит из
одной или более строк текста, отделенных от тела пустой строкой.
Тело сообщения содержит данные, представленные в MIME формате,
указанном в заголовке.
Сервер не изменяет тело документа, что означает, что сервер
передает сформированный CGI программой ответ "как он есть".
Специальные строки заголовка
Сервер распознает следующие строки заголовка в выходном потоке:
Content-Type: - Указывает на MIME тип тела сообщения. Значение этого параметра должно быть в формате type/subtype.
URI: <value> (value enclosed in angle brackets) -
Данное значение указывает на полный URL или ссылку на
локальный файл, сообщение из которого будет возвращено клиенту в
теле сообщения. Если значение является локальным файлом, сервер
отсылает его как результат запроса, как будто клиент
воспольхзовался методом GET при генерации запроса. Если значение
является полным URL, то сервер возвращает сообщение "401
redirect" для обеспечения прямой загрузки указанного объекта.
Location: -
То же самое, что и URI, но данная форма сейчас не
используется. Параметр value НЕ должен быть взят в
угловые скобки.
Другие заголовки
Другие заголовки передаются клиенту в том виде, в котором они представлены.