Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Метод POST




Метод GET

Метод GET припускає передачу даних програмі CGI через перемінне середовище (environment variables). Це те саме перемінне середовище, що встановлюються в операційній системі MS-DOS командою SET.

Сервер WWW створює для програми CGI досить багато переменных середовища. Імена і призначення всіх цих перемінних будуть приведені пізніше, а поки - тільки самі необхідні.

Насамперед, метод GET припускає використання перемінне середовище з ім'ям QUERY_STRING. Саме сюди потрапляють дані з полів форми. Ці дані знаходяться в такому форматі:

 

Имя1=Значение1&Имя2=Значение2&Имя=Значение3

 

Тут у якості імен використовуються значення параметрів NAME, що задають імена поляж форми. Замість значень подставляются дані з відповідних полів. Скануючи вміст текстового рядка перемінне середовище QUERY_STRING, програма CGI може знайти в ній ім'я будь-якого потрібного поля і відповідного цього імені значення. Ніякі дані від виключених перемикачів не передаються, тому не варто думати, що в отриманому рядку обов'язково зустрінуться імена всіх поляж, розташованих у формі.

Адреса заданого рядка перемінне середовище в програмі, складеної на С, легко одержати за допомогою функції getenv:

 

char *szQueryString;

szQueryString = getenv("QUERY_STRING");

 

Якщо модифікується рядок перемінне середовище, те її варто скопіювати у внутрішній буфер. Операційна система серверу WWW може не припустити прямого редагування блока пам'яті, що містить перемінних середовищ.

Рядок, переданий у перемінне середовище QUERY_STRING, закодирована з використанням так називаної кодировки URL. У цій кодировке всі символи прогалин заміняються на символи +. Крім того, для уявлення кодів керуючих і деяких інших символів використовується послідовність символів виду %хх, де символи хх являють собою шестнадцатеричный код символу у виді двох символів ASCII.

При використанні методу POST програма CGI одержує дані з форми через стандартний потік запровадження STDIN. Якщо програма CGI складена на мові програмування С, то для одержання даних вона може скористатися такими функціями, як fread або scanf.

Що ж стосується кількості байтів даних, що потрібно вважати зі стандартного потоку запровадження, то ця інформація передається програмі CGI через переменную середовища з ім'ям CONTENT_LENGTH.

Нижче приведений фрагмент коду для визначення розміру інформації для запровадження через стандартний потік STDIN:

 

int Size;

Size = atoi(getenv("CONTENT_LENGTH"));

 

Вхідні дані можуть бути потім отримані, наприклад, у такий спосіб:

 

char szBuf[8196];

fread(szBuf, Size, 1, stdin);

 

Зрозуміло, буфер для читання даних можна замовляти і динамічно, для чого варто скористатися такою функцією, як malloc.

Якщо в операторі <FORM> не зазначений параметр ENCTYPE (тип MIME переданих даних) або цей параметр має значення application/x-www-form-urlencoded, дані, отримані через стандартний потік запровадження, закодовані в кодировці URL Перед використанням випливає їх розкодувати відповідним чином.

5.2.3. Порівняння - GET і POST

Метод GET звичайно використовується для опрацювання невеличких форм, тому що навігатори накладають обмеження для розміру даних, переданих через переменную середовища QUERYJSTRING.

У цьому відношенні метод POST є більш кращим, тому що не накладає на розмір переданих даних ніяких обмежень. Тільки метод POST придатний для передачі файлів із локального комп'ютера через навігатора в сервер WWW.

Поза залежністю від використаного методу передачі даних (GET або POST) результат своєї роботи програма CGI повинна направити в стандартний потік висновка STDOUT. Якщо програма складена на мові програмування С, для запису результату роботи вона може скористатися, наприклад, функцією printf або fwrite.

Частіше усього програми CGI використовуються для створення динамічних документів HTML на основі даних, отриманих із форми.

 

СПИСОК РЕКОМЕНДОВАНИХ ДЖЕРЕЛ ІНФОРМАЦІЇ

31. Язык HTML – основы [Електронний ресурс]. – Режим доступу: http://on-line-teaching.com/html/. – Заголовок з екрана. – Рос.

32. A Little History of the World Wide Web [Електронний ресурс]. – Режим доступу: http://www.w3.org/History.html. – Заголовок з екрана. – Англ.

33. Document Object Model (DOM) Level 2 Core Specification [Електронний ресурс]. – Режим доступу: http://www.w3.org/TR/DOM-Level-2-Core/. – Заголовок з екрана. – Англ.

34. 18 Scripts [Електронний ресурс]. – Режим доступу: http://www.w3.org/TR/REC-html40/interact/scripts.html#h-18.1. – Заголовок з екрана. – Англ.

35. Ю. Лукач «Справочник Веб-разработчика» [Електронний ресурс]. – Режим доступу: http://wdh.suncloud.ru/contents.htm. – Заголовок з екрана. – Рос.

36. HTML 4.01/XHTML 1.0 Reference [Електронний ресурс]. – Режим доступу: http://www.w3schools.com/tags/default.asp. – Заголовок з екрана. – Англ.

37. Тег <table> [Електронний ресурс]. – Режим доступу: http://htmlbook.ru/html/table. – Заголовок з екрана. – Рос.

38. Кулаков Ю.О., Луцький Г.М. Комп’ютерні мережі. Підручник / За ред. Ю.С. Ковтанюка – К.: Юніор, 2003. – 400 с., іл. ISBN 966–7223–27–7.

39. С. Спейнаур, В. Куэрсиа. Справочник Web-мастера: Пер. с англ. – К.: Изд. группа BHV, 1997.

40. Современный самоучитель работы в сети Интернет. Самые популярные программы. Под. ред. Комягина В.Б. М.: 000. Изд-во «ТРИУМФ», 2000 – 496 с.

41. Интернет. Энциклопедия. Под ред. Л. Мелиховой – СПб: Питер, 2001. – 528 с.

42. Internet. Полное руководство. Маргарет Левин Янг. Пер. с англ. – К.: Издательская группа BHV, 2001. – 864 с.

43. Web-мастеринг для профессионалов. Нидерст Дж. СПб.: Питер, 2001. – 576 с.

 




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


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


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



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




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