Формат стандартного вывода. Стандартный вывод используется скриптом для
возврата данных серверу. При этом вывод состоит из заголовка и
собственно данных. Результат работы скрипта может передаваться клиенту
без каких-либо преобразований со стороны сервера, если скрипт
обеспечивает построение полного HTTP заголовка, в противном случае
сервер заголовок модифицирует в соответствии со спецификацией HTTP.
Заголовок сообщения должен отделяться от тела сообщения пустой строкой.
Обычно в скриптах указывают только три поля HTTP заголовка:
Content-type, Location, Status.
Content-type указывается в том случае, когда скрипт сам генерирует
документ "на лету" и возвращает его клиенту. В этом случае реального
документа в файловой системе сервера не остается. При использовании
такого сорта скриптов следует учитывать, что не все серверы и клиенты
отрабатывают так, как представляется разработчику скрипта. Так при
указании Content-type: text/html, некоторые клиенты не реализуют
сканирования полученного текста на предмет наличия в нем встроенной
графики. Обычно в Content-type указывают текстовые типы text/plain и
text/html.
Location используется для переадресации. Иногда переадресация помогает
преодолеть ограничения сервера или клиента на обработку встроенной
графики или серверной предобработки. В этом случае скрипт создает файл
на диске и указывает его адрес в Location. Сервер таким образом
передает реально существующий файл. В последнее время серверы стали
буферизовать возвращаемые клиентам данные, что приводит к решению
вопросов связанных с повторным запуском скриптов для встраивания
графики и разгрузки компьютера с сервером HTTP.