содержит уже знакомые нам данные,
http://www.domain/cgi-bin/registrar.cgi/
4>regname = bobspasswordl = rumataspassword2 = r\amata&age = lt20&language = 4>russian&format = HTML&wish = %F6%C5%CC%Dl%DA%CE%D9
содержит уже знакомые нам данные, но не в виде строки запроса, а в виде дополнительной информации о пути. При получении запроса с таким URL сервер сохранит данные в переменной среды
PATH_INFO = /regname = bobspasswordl = rumataspassword2 = rumata&age = l blt20&language = russian&format = HTML&wish = %F6%C5%CC%Dl%DA%CE%D9"
Название объясняется тем, что обычно этим способом передается информация о местоположении какого-либо файла (extra path information). Например, URL
http://www.domain/cgi-bin/registrar.cgi/texts/jdk_doc.txt
содержит дополнительную информацию PATH_iNFO=/texts/jdk_doc.txt" о местонахождении файла jdk_doc.txt относительно корневого каталога дерева документов. Другая переменная среды PATHJTRANSLATED содержит информацию об абсолютном местоположении файла в файловой системе, например,
PATH_TRANSLATED="/hcme/httpd/docs/texts/jdk_doc.txt"
а переменная DOCUMENT_ROOT содержит путь к корневому каталогу дерева документов, В нашем случае DOCUMENT_ROOT="/home/httpd/docs/".
При использовании метода POST данные формы пересылаются серверу в теле запроса. Если в примере 15.1 вместо метода GET использовать метод POST
<form method="post" action="/cgi-bin/registrar.cgi">,
то запрос клиента будет иметь следующий вид:
POST /cgi-bin/registrar.cgi HTTP/1.1
(заголовки запроса, сообщающие серверу информацию о клиенте)
Content-length: 126
regname=bob&passwordl=rumata&password2=ruinata&age=lt20&language=russian& 4>format=HTML&wish=%F6%C5%CC%Dl%DA%CE%D9
В этом фрагменте среди прочих заголовков выделен заголовок content-length, сообщающий серверу количество байт, переданных в теле запроса. Это значение сервер присваивает переменной среды CONTENT_LENGTH, а данные посылает в стандартный ввод CGI-программы.
Содержание Назад Вперед