Сценарії CGI

Для створення сценаріїв CGI можна використовувати такі мови програмування як ANSI C, Java.

Частіше для реалізації сценаріїв використовують інтерпретатори. В цьому випадку сценарії пишуть мовами Shell, Perl, VB Script, JavaScript, TCL (Tool Command Language).

Взаємодія між Web-сторінкою та сценарієм CGI (приклади)

[слайд на стор. 9-16, Lect_12.pdf]

Деякі аспекти взаємодії web-сторінок та сценаріїв CGI

Передані та декодовані оператором foreach параметри форми в подальшому можуть бути використані сценарієм, наприклад, для одержання інформації із файлів на сервері з метою оформлення замовлення клієнта на певні товари, тощо.

Наведена у прикладі операція селекції зі змінної оточення QUERY_STRING переданих даних форми визначена не повністю. При передачі даних за методом GET усі пропуски в полях форми замінюються на символи + (або на шістнадцятко вий еквівалент %20). Заміна пропусків, символів CR, LF та ніших спеціальних символів називається URL-кодуванням. Таким чином, усі символи + доцільно замінити на пропуски за допомогою такої операції підстановки

$val=~s/+/ /g;

Змінні середовища CGI

Потужність механізму CGI надає можливість обробки параметрів, які передаються сценарію. На web-сервері при активізації CGI-сценарію формується середовище оточення, в якому сценарій може знайти в змінних середовища всю доступну інформацію про HTTP-з’єднання та запит. Це такі змінні:

o REQUEST_METHOD – дозволяє визначити метод HTPP-запиту;

o QUERY_STRING – містить рядок запиту при методі GET;

o CONTENT_LENGTH – довжина тіла запиту в байтах;

o CONTENT_TYPE – тип тіла запиту;

o GATEWAY_INTERFACE – версія протоколу CGI;

o REMOTE_ADDR – IP-адреса віддаленого комп’ютера, що здійснив запит;

o REMOTE_HOST – доменне ім’я віддаленого комп’ютера, що здійснив запит;

o SCRIPT_NAME – ім’я сценарію, використане в запиті;

o SCRIPT_FILENAME – ім’я файлу сценарію на сервері;

o SERVER_NAME – ім’я сервера;

o SERVER_PORT – TCP-порт сервера (використовується для з’єднання);

o SERVER_PROTOCOL – версія протоколу сервера;

o AUTH_TYPE, REMOTE_USER – ці змінні визначені у випадку, якщо ресурс запиту вимагає аутентифікації користувача.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: