Вход Регистрация
Файл: work/html_teach/28.php
Строк: 82
<?
require '../../config.php';
$title 'Учебник HTML';
include 
'../../style/head.php';
aut();
who_add(0'servise');
?><html><head>
<title> HTML учебник / Windows CGI интерфейс / CGI файл данных </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<meta name="keywords" content="HTML учебник  Windows CGI интерфейс CGI файл данных">

<meta name="description" content="HTML учебник: Windows CGI интерфейс CGI файл данных">
</head>

<body marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" text="#333333" link="#333333" vlink="#333333" bgcolor="#f0f7ef">

 <table width="80%" align="center"><tr><td>
 <!--заголовок--><table width="100%" cellpadding=1 cellspacing=0 border=0 bgcolor=#647062><tr><td><table width="100%" cellpadding=3 cellspacing=0 border=0 bgcolor=#ffffff><tr><td class=r align=middle><A href="index.php">Содержание</a> / Windows CGI интерфейс / CGI файл данных </td></tr></table></td></tr></table><!--//-->
<H2>CGI файл данных </H2>
<P>Сервер передает данные CGI программам через Windows "private
profile" afqk, в формате "параметр-значение" (windows INI файл). CGI
программа может прочитать данный файл и получит все данные,
передаваемые ей из формы, а также автоматически генерируемые
броузером данные. </P>
<P>CGI файл данны состоит из следующих секций:
<UL>
  <LI>[CGI]
  <LI>[Accept]
  <LI>[System]
  <LI>[Extra Headers]
  <LI>[Form Literal]
  <LI>[Form External]
  <LI>[Form Huge]
  <LI>[Form File] </LI></UL>

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

  <H3>Секция [Accept] </H3>
  <P>Данная секция содержит типы данных, посылаемых клиентом,
  найденные в заголовке запроса в виде </P><PRE> Accept: type/subtype {parameters} </PRE>
  <P>Если данные параметры присутствуют (например, "q=0.100") , они
  передаются как значения параметра Accept. Для каждого типа
  передаваемых данных заводится свой параметр Accept. </P>

  <H3>Секция [System] </H3>
  <P>Данная секция содержит параметры, специфические для Windows
  реализации CGI:
  <DL><PRE> GMT Offset </PRE>
    <DD>Количество секунд, которое необходимо добавить к времени по
    Гринвичу для вычисления локального времени клиента. </DD></DL><PRE> Debug Mode </PRE>
  <DL>
    <DD>Данный параметр имеет значение "Yes" если включен режим
    "CGI/script tracing" на сервере. </DD></DL><PRE> Output File </PRE>
  <DL>
    <DD>Полный путь к файлу, в который необходимо поместить данные,
    отсылаемые сервером клиенту после завершения работы программы.
    </DD></DL><PRE> Content File </PRE>
  <DL>
    <DD>Полный путь к файл у в котором содержится дополнительная
    информация, поступающая вместе с запросом. </DD></DL>

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

  <H3>Секция [Form Literal] </H3>
  <P>Если запрос от клиента пришел в виде HTTP POST из HTML формы (с
  типом содержимого application/x-www-form-urlencoded или
  multipart/form-data), то сервер раскодирует данные из формы и
  поместит их в секцию [Form Literal]. </P>
  <P>Для URL-кодированных данных формы, строка передаваемых
  параметров выглядит как
  "параметр=значение&amp;параметр=значение&amp;...", где значения
  находятся в url-кодированном формате. Сервер разделяет
  "параметр=значение" по символу '&amp;', затем разделяет собственно
  "параметр" и "значение", декодирует "значение" и помещает
  результат в виде "параметр=раскодированное_значение" в секцию
  [Form Literal]. </P>
  <P>Для многостраничных данных строка данных представляется в
  многостраничном MIME формате, где каждое поле представлено как
  отдельная часть (файл). сервер декодирует имена и значение каждой
  части и размещает их в формате "параметр=значение" в секции [Form
  Literal]. </P>
  <P>Если форма содержит какие-либо элементы <TT>SELECT
  MULTIPLE</TT>, то будет создано несколько строк с вида
  "параметр=значение" с одинаковым именем "параметра". В этом случае
  генерирует нормальную строку "параметр=значение" для первого
  встречающегося элемента, а каждый следующий представляет в виде
  "параметр_X=значение", где "X" - увеличивающийся счетчик. </P>

  <H3>Секция [Form External] </H3>
  <P>Если размер декодированной строки превышает 254 символа или
  декодированная строка содержит управляющие символы, такие, как
  перевод строки, возврат каретки, двойные кавычки и т.д., то сервер
  помещает данное значение в отдельный временный файл, а в секцию
  [Form External] помещает строку в виде: </P><PRE>   параметр=путь длина  </PRE>
  <P>где <I>путь</I> - это полный путь и имя временного файла,
  содержащего декодированное значение параметра, а длина - длина в
  байтах этого файла. </P>

  <H3>Секция [Form Huge] </H3>
  <P>Если общая длина строки с кодированными параметрами превышает
  65,535 байт, то сервер не выполняет декодирование, а оставляет
  данный в Content File, а в секцию [Form Huge] помещает строки в
  виде: </P><PRE>   параметр=смещение длина </PRE>
  <P>где <I>смещение</I> - это смещение от начала Content File по
  которому находится требуемый параметр, а <I>длина</I> - длина в
  байтах значения выбранного параметра. Вы можте использовать
  <I>смещение</I> для выполнения поиска начала значения выбранного
  вами параметра и использовать длину для чтения значения выбранного
  параметра. Не забывайте, что если параметр закодирован, то вам
  необходимо раскодировать его перед использованием. </P>

  <H3>Секция [Form File] </H3>
  <P>Если запрос пришел в виде <TT>multipart/form-data</TT>, то он
  может содержать один или несколько загруженных с клиента файлов. В
  этом случае каждый загруженный файл размещается в специальном
  временном файле, а в секции [Form File] строки имеют тот же
  формат, что и секции [Form External]. каждая строка параметра в
  этом случае выглядит так: </P><PRE>   параметр=[полный_путь_к_файлу] длина тип ссылка [имя_файла] </PRE>
  <UL>
    <P>где <I>полный_путь_к_файлу </I>- это путь к временному файлу,
    содержащему загруженный файл, <I>длина</I> - длина в байтах
    загруженного файла, <I>тип</I> - тип &nbsp;MIME загруженного
    файла, <I>ссылка</I> - способ кодировки загруженного файла и
    <I>имя_файла</I> - исходное название загруженного файла.
    Использование квадратных скобок обязательно, поскольку имя файла
    и путь могут содержать символы пробела. </P></UL>

  <H3>Пример декодированных значений формы </H3>
  <P>В данном примере форма содержит небольшое поле, SELECT MULTIPLE
  с 2-мя небольшими секциями, поле длиной 300 символов, поле,
  содержащее специальные символы и поле длиной 230KB. </P>
  <P>[Form Literal] <BR>smallfield=123 Main St. #122
  <BR>multiple=first selection <BR>multiple_1=second selection
  <BR><BR>[Form External] <BR>field300chars=C:TEMPHS19AF6C.000 300
  <BR>fieldwithlinebreaks=C:TEMPHS19AF6C.001 43 <BR><BR>[Form
  Huge] <BR>field230K=C:TEMPHS19AF6C.002 276920 <BR></P>

  </td></tr></table>





</body></html>
<?php echo '&laquo; <a href="/work/?">В Раздел</a>';
include 
'../../style/foot.php'?>
Онлайн: 0
Реклама