Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Примеры. Заголовки с синтаксическим разбором




Заголовки с синтаксическим разбором

Заголовок выходного потока

Основные концепции

Вывод информации программой CGI Script

Программа CGI Script осуществляет свой вывод на стандартный вывод системы. Этот вывод может представлять собой или документ, сгенерированный программой, или инструкции серверу, где получить необходимый документ.

Как правило, программа производит свой вывод, который интерпретируется и посылается обратно клиенту. Преимущество этого подхода состоит в том, что программа не должна посылать полный HTTP/1.0 заголовок на каждый запрос.

Для некоторых программ может быть необходимо избегать обработки сервером их вывода, и общаться с клиентом непосредственно. Для того, чтобы отличить такие программы от остальных, CGI требует, чтобы их имена начинались с префикса nph-. В этом случае, на программе лежит ответственность за возвращение клиенту синтаксически правильного ответа.

Вывод программы начинается с маленького заголовка. Он содержит текстовые строки, в том же формате, как и в HTTP заголовке и завершается пустой строкой (содержащей только символ перевода строки или [CR/LF]).

Любые строки заголовка, не являющиеся директивами сервера, посылаются непосредственно клиенту. В настоящий момент, CGI спецификация определяет три директивы сервера:

Content-type

MIME тип возвращаемого документа.

Location

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

Если аргументом является URL, то сервер передаст клиенту указание на перенаправление запроса. Если аргумент представляет собой виртуальный путь, сервер вернет клиенту заданный этим путем документ, как если бы клиент запрашивал его непосредственно.

Status

Эта директива используется для задания серверу HTTP/1.0 строки-статус, которая будет послана клиенту. Формат: nnn xxxxx, где nnn - 3-х цифровой статус-код, и xxxxx строка объяснения причины, такая, как "Forbidden" (Запрещено).

  1. Предположим, имеется некоторый текстовый конвертер в HTML. Когда он оканчивает свою работу, он должен произвести следующий вывод в стандартный выходной поток:
2. --- начало вывода ---3. Content-type: text/html4. 5. --- вывод ---6. --- конец вывода ---
  1. Рассмотрим программу, которая, в некоторых случаях, должна выдать документ /path/doc.txt с сервера, как бы он был непосредственно востребован клиентом через гиперссылку
    <A HREF="http://server:port/path/doc.txt">.
    В этом случае вывод программы будет следующим:
8. --- начало вывода ---9. Location: /path/doc.txt10. 11. --- конец вывода ---
  1. Предположим, что программа возвращает ссылки на gopher сервер, например:
    <A HREF="gopher://gopher.ncsa.uiuc.edu/">.
    Вывод программы будет следующим:
13. --- начало вывода ---14. Location: gopher://gopher.ncsa.uiuc.edu/15. 16. --- конец вывода ---



Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 326; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.