Интерфейс CGI, PHP проучване

CGI интерфейс

Терминът CGI (Common Gateway Interface - Common Gateway Interface) означава съвкупност от споразумения, които се наблюдават уеб сървъри в изпълнението на различни уеб-базирани приложения. В действителност, доскоро всички уеб-програмиране беше на програмиране CGI-приложения. През последните години ситуацията се е променила. И докато CGI е все още неофициална стандарт за уеб-базирани приложения, механизмът на CGI-програми по-актуален.







Последната точка е особено впечатляваща. Ако пропити с идеята си, това означава, че сте разбрали в общи линии това, което CGI. Просто CGI осигурява всичко, което изглежда толкова прозрачно за потребителя. Традиционно, програми, които се изпълняват в съответствие със споразуменията за CGI, наречени сценарии - най-вероятно се дължи на факта, че в повечето случаи те са написани на езика на преводач (като PHP или Perl).

По този начин, ние можем да използваме мощен механизъм, който ни позволява да се генерират документи "в движение".

Например, ние трябва да се във всеки документ остави текущата дата и час. Разбира се, не можем да ги регистрират предварително в документа - в действителност, в зависимост от това кога се зарежда от потребителя, тази дата трябва да се промени. Но ние можем да напиша сценарий (скрипт), който изчислява от датата, го вмъкнете в документа, а след това преминава към потребителя! Въпреки това, ние сме изградили модел липсва връзка. Всъщност, предполагам, че ние искаме да се време в нашата страница е подпечатан въз основа на часовата зона на потребителя. Но сценария знам кой часови пояс в района, където живее лицето (или всяка друга информация, която може да предостави на потребителя)? Очевидно е, че трябва да има някакъв вид механизъм, който ще позволи на потребителя не само да получава, но и предава информация към сървъра (в този случай, например, по време на час по отношение на изменението на Москва). Той също така предоставя CGI.

сървъра взаимодействие с браузъра

Цел Interface CGI

механизъм CGI пренасочва изхода на програмата на уеб сървър, както и това на свой ред, браузъра на потребителя. По отношение на програмата не е нещо необичайно - това показва само информация. Абсолютно всяка програма не може да бъде CGI-програми в защото преди сключването му той трябва да се оттегли някои сървърни заглавията - посочете поне от типа на показваната информация. Например, ако искаме да отпечатате снимка, ние трябва да се изпрати с глава Content-Type: изображение / GIF. Ако CGI-програма трябва да премине параметри, а след това се прави много просто - както е в случая с редовната програма. Например, ние трябва да се премине низ на заявката [email protected] сценарий cgi.exe на. За да направите това, трябва да се обадите на програмата cgi.exe определената заявка низ: cgi.exe [email protected].







Разделете параметри с характер , Виждали ли сте някога на няколко полета за въвеждане и ключове на страницата, както и бутона "Изпрати" под тях? Това е формата, с помощта на
Можете да автоматизирате процеса на сценарий за предаване на данни. Разбира се, сценарият също трябва да отново да реагира на тези опции: да държи разбор на низ, създаване на променливи и т.н. Трябва да се отбележи, че всички тези действия, ще трябва да се програмира ръчно, ако искаме да използваме езика C. PHP синтактична низ на заявката си параметри.

Така че, този метод на изпращане на параметрите на сценария (когато данните се поставя на линията URL командния) е метод на GET. В действителност, дори ако не са преминали всички параметри (например при зареждане на статична страница), все още се използва методът на GET. Въпреки това, има един общ начин - прехвърлянето perametrov метод POST заявка. методи искане за трансфер ще бъдат обсъдени по-долу.

Ако програмата е предназначена за CGI, което трябва да се грижи за взаимодействието със сървъра. Най-простото взаимодействие е, че програмистът трябва да знае информация за сървъра. Тази информация се предава чрез променливи на средата.

Това е около и работещ механизъм на CGI.

Методи за създаване на CGI-скриптове (скриптове)

На CGI-програми често са написани на някои интерпретиран език (PHP, Perl, Bash, Phyton и т.н.). Можете също така да се напише програма в компилиран език като С, които ще се справят с потребителски данни. Ето един пример, CGI-програма C:

#include // трябва да се инициализира (функцията ранд)
#include // Включване подкрепата I / O функции
#include // И това - да се подкрепи ранда () функция
// основна функция. Именно тя започва изпълнението на скрипта.
невалидни основни (свободен) // инициализира генератор на случайни числа
Int Num; time_t т; Srand (време (т));
// случайно число записано в Num 0 до 9
Num = ранд ()% 10;
// допълнително извличане заглавията на отговор. Тип - HTML-документ
ФОРМАТ ( "Content-Type: текст / HTML \ Н");
// Изключване на кеширане
ФОРМАТ ( "Pragma: не-кеша \ Н");
// празно глава
ФОРМАТ ( "\ п");
// покаже текста на документа - ние ще го видите във Вашия браузър
ФОРМАТ ( "");
ФОРМАТ ( "");
ФОРМАТ ( "случайно число в диапазон 0-9 :.", Num);
ФОРМАТ ( "");
>

Сега можем да компилирате програмата в изпълнима (двоичен) cgi.exe файл и да го ползвате като CGI-скриптове.

Тогава най-накрая се разгледат начините за предаване на исканията.