Метод POST
При використанні методу 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 с.
|