Предыстория
Навигация
Главная
Основной Форум
Архив старого Форума
Галерея
Новости сайта
Объявления
Все статьи
Библиотека
Книги
Карты: топографические, географические, исторические

Генетическая генеалогия Сибири и Забайкалья

Опросы
Вопросы и ответы
Поиск
Файлы

Правила
Рекомендовать
Обратная связь

Личный кабинет

Каталог сайтов
Статистика сайта
Яндекс цитирования Rambler's Top100
Search Engine Optimization
Статистика форумов
Оставлено сообщений
за сутки:0
за неделю:0
за месяц:0
за год:0
всего:40612
Наша кнопка


код кнопки:


Поисковая система сайта Предыстория
HTML учебник / Windows CGI интерфейс / CGI файл данных
HTML учебник / Windows CGI интерфейс / CGI файл данных
Содержание / Windows CGI интерфейс / CGI файл данных

CGI файл данных

Сервер передает данные CGI программам через Windows "private profile" afqk, в формате "параметр-значение" (windows INI файл). CGI программа может прочитать данный файл и получит все данные, передаваемые ей из формы, а также автоматически генерируемые броузером данные.

CGI файл данны состоит из следующих секций:

  • [CGI]
  • [Accept]
  • [System]
  • [Extra Headers]
  • [Form Literal]
  • [Form External]
  • [Form Huge]
  • [Form File]

Секция [CGI]

Данная секция содержит большинство специфических CGI параметров (тип дотупа, тип запроса, дополнительные заголовки, определенные в других секциях и т.п.). Каждое значение представлено ввиде символьной строки. Если значение является пустой строкой, значит данный параметр был опущен. Tсписок параметров данной секции представлен ниже:

 Request Protocol 

Название и модификация информационного протокола, использованного для передачи данного запроса. Формат: протокол/модификация. Пример: "HTTP/1.0".

 Request Method 

Метод, который использовался для данного запроса. Для HTTP это "GET", "HEAD", "POST" и т.д.

 Executable Path 

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

 Logical Path 

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

 Physical Path 

Если запрос содержит информацию о логическом пути, сервер преобразует его к физическому пути (например, к пути к файлу на диске) досупа согасно синтаксическим правилам операционной системы.

 Query String 
Информация, размещающаяся после ? в URL вызываемой CGI программы. Сервер оставляет эту информацию без изменений в том виде, в котором она была помещена в URL.
 Request Range 
Byte-range спецификация получаемая вместе с запросом (если есть). Смотри текущий Internet Draft (или RFC), описывающий расширение HTTP для получения более полной информации. Сервер должен поддерживать работу CGI программ в byte-ranging.
 Referer 
URL документа, содержащего ссылку на данную CGI программу. Надо заметить, что некоторые броузеры закрывают данную возможность и не дают ее использовать.
 From 
E-mail адрес пользователя броузера. Надо заметить, что данный параметр присутствует с спецификации HTTP, но не используется большинством броузером из соображений секретности.
 User Agent 
Строка, описывающая программное обеспечение броузера. Не генерируется большинством броузеров.
 Content Type 
Данный параметр содержит MIME-тип данных, посланных клиентом вместе с полями из формы, если эти данные были посланы. Формат: type/subtype.
 Content Length 
Для запросов, с которыми посланы дополнительные данные в это поле заносится длина посланных данных в байтах.
 Content File 
Для запросов, содержащих дополнительные данные, посланные пользователем, этот параметр содержит имя файла, в которое WEB-сервер записывает эти данные. В дальнейшем, пользовательская программа может считать эти данные. Параметр содержит полнуй путь к файлу данных.
 Server Software 
Название и версия серверного программного обеспечения, обработавшего запрос и вызвавшего CGI-программу. Формат: name/version.
 Server Name 
Сетевое имя сервера или псевдоним, необходимый для ссылающихся на себя URL Этот параметр (в комбанации с параметром ServerPort) может быть использован для вычисления полного URL к серверу.
 Server Port 
Номер порта, по которому работает сервер.
 Server Admin 
E-mail адрес администратора сервера. Данный параметр необходим длягенерации сообщений об ошибках и отправки данных сообщений администратору сервера или для генерации форм с URL "mailto:".
 CGI Version 
Версия спецификации CGI. Формат: CGI/версия. Для данной версии, "CGI/1.2 (Win)".
 Remote Host 
Сетевое имя хоста клиента, если доступно. Данный параметр может быть использован для опознавание клиента.
 Remote Address 
Сетевой (IP) адрес клиента. Данный параметр может быть использован для проверки пользователя если отсутствует сетевое имя.
 Authentication Method 
Если используется защищенный вызов CGI программы, это протокол-зависимый метод аутентификации, используемый для аутентификации пользователя.
 Authentication Realm 
Если используется защищенный вызов CGI программы, это протокол-зависимый сервис, используемый для аутентификации пользователя. Список пользователей для полученного вида сервиса iпроверяется для аутентификации пользователя.
 Authenticated Username 
Если используется защищенный вызов CGI программы, это имя пользователя, которое клиент использует для аутентификации при доступе к CGI-программе.

Секция [Accept]

Данная секция содержит типы данных, посылаемых клиентом, найденные в заголовке запроса в виде

 Accept: type/subtype {parameters} 

Если данные параметры присутствуют (например, "q=0.100") , они передаются как значения параметра Accept. Для каждого типа передаваемых данных заводится свой параметр Accept.

Секция [System]

Данная секция содержит параметры, специфические для Windows реализации CGI:

 GMT Offset 
Количество секунд, которое необходимо добавить к времени по Гринвичу для вычисления локального времени клиента.
 Debug Mode 
Данный параметр имеет значение "Yes" если включен режим "CGI/script tracing" на сервере.
 Output File 
Полный путь к файлу, в который необходимо поместить данные, отсылаемые сервером клиенту после завершения работы программы.
 Content File 
Полный путь к файл у в котором содержится дополнительная информация, поступающая вместе с запросом.

Секция [Extra Headers]

Данная секция содержит "дополнительные" заголовки, которые включены в запрос в виде "параметр=значение". Сервер должен раскодировать как параметр, так и его значение прежде чем они будут помещены в файл данных CGI.

Секция [Form Literal]

Если запрос от клиента пришел в виде HTTP POST из HTML формы (с типом содержимого application/x-www-form-urlencoded или multipart/form-data), то сервер раскодирует данные из формы и поместит их в секцию [Form Literal].

Для URL-кодированных данных формы, строка передаваемых параметров выглядит как "параметр=значение&параметр=значение&...", где значения находятся в url-кодированном формате. Сервер разделяет "параметр=значение" по символу '&', затем разделяет собственно "параметр" и "значение", декодирует "значение" и помещает результат в виде "параметр=раскодированное_значение" в секцию [Form Literal].

Для многостраничных данных строка данных представляется в многостраничном MIME формате, где каждое поле представлено как отдельная часть (файл). сервер декодирует имена и значение каждой части и размещает их в формате "параметр=значение" в секции [Form Literal].

Если форма содержит какие-либо элементы SELECT MULTIPLE, то будет создано несколько строк с вида "параметр=значение" с одинаковым именем "параметра". В этом случае генерирует нормальную строку "параметр=значение" для первого встречающегося элемента, а каждый следующий представляет в виде "параметр_X=значение", где "X" - увеличивающийся счетчик.

Секция [Form External]

Если размер декодированной строки превышает 254 символа или декодированная строка содержит управляющие символы, такие, как перевод строки, возврат каретки, двойные кавычки и т.д., то сервер помещает данное значение в отдельный временный файл, а в секцию [Form External] помещает строку в виде:

   параметр=путь длина  

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

Секция [Form Huge]

Если общая длина строки с кодированными параметрами превышает 65,535 байт, то сервер не выполняет декодирование, а оставляет данный в Content File, а в секцию [Form Huge] помещает строки в виде:

   параметр=смещение длина 

где смещение - это смещение от начала Content File по которому находится требуемый параметр, а длина - длина в байтах значения выбранного параметра. Вы можте использовать смещение для выполнения поиска начала значения выбранного вами параметра и использовать длину для чтения значения выбранного параметра. Не забывайте, что если параметр закодирован, то вам необходимо раскодировать его перед использованием.

Секция [Form File]

Если запрос пришел в виде multipart/form-data, то он может содержать один или несколько загруженных с клиента файлов. В этом случае каждый загруженный файл размещается в специальном временном файле, а в секции [Form File] строки имеют тот же формат, что и секции [Form External]. каждая строка параметра в этом случае выглядит так:

   параметр=[полный_путь_к_файлу] длина тип ссылка [имя_файла] 

    где полный_путь_к_файлу - это путь к временному файлу, содержащему загруженный файл, длина - длина в байтах загруженного файла, тип - тип  MIME загруженного файла, ссылка - способ кодировки загруженного файла и имя_файла - исходное название загруженного файла. Использование квадратных скобок обязательно, поскольку имя файла и путь могут содержать символы пробела.

Пример декодированных значений формы

В данном примере форма содержит небольшое поле, SELECT MULTIPLE с 2-мя небольшими секциями, поле длиной 300 символов, поле, содержащее специальные символы и поле длиной 230KB.

[Form Literal]
smallfield=123 Main St. #122
multiple=first selection
multiple_1=second selection

[Form External]
field300chars=C:\TEMP\HS19AF6C.000 300
fieldwithlinebreaks=C:\TEMP\HS19AF6C.001 43

[Form Huge]
field230K=C:\TEMP\HS19AF6C.002 276920


[ Назад | Начало | Наверх ]
Фотогалерея
Штаб 8-го Оренбургского Казачьего полка.
Местонахождение наших посетителей
Местонахождение наших посетителей
Генеалогия
МолГен
ЗабГен - Забайкальская генеалогия Светланы Ковалевой
СВРТ
Кольцо генеалогических сайтов
Знаменательные даты
06.06 - Пушкинский день России
Список статей
26.11.2011
Учёные собрали беспрецедентное количество проб ДНК коренных забайкальцев
05.04.2010
Теплый город под высоким небом.
09.01.2010
Рождественский подарок от компании "Гентис" - программа "Древо Жизни" бесплатно!
26.10.2009
Компания Гентис объявила о запуске интернет-сервиса ДНК-генеалогических услуг
07.10.2009
Школа фотографии "Альтаир" путешествие Иркутск - Москва - Санкт-Петербург
12.09.2009
''Белый генерал'' Скобелев и его среднеазиатский след.
04.09.2009
Взятие Ташкента
15.08.2009
О профессиональной и любительской лингвистике (окончание)
15.08.2009
О профессиональной и любительской лингвистике (начало)
15.08.2009
Об исторической лингвистике (окончание)
15.08.2009
Об исторической лингвистике (начало)
30.07.2009
Список самарских отставных дворян и казаков
27.06.2009
Изучение генофонда коренных народов Прибайкалья и Забайкалья
Все статьи >>>
Возраст сайта
Главная | Статьи | Форум | Темы | Галерея | Вопросы и ответы | Библиотека | Рекомендовать | Обратная связь

Предыстория - общенациональный историко-культурологический сервер
 © 2005—2009 Predistoria.org
Предыстория.орг
© Денис Григорьев
Все права на материалы принадлежат их авторам (владельцам) и сетевым изданиям, с которых они взяты.

Рейтинг@Mail.ru
Генерация страницы: 0.032 сек. и 14 запросов к базе данных за 0.017 сек.