Interfață cgi, studiu php

interfață CGI

CGI Termenul (Common Gateway Interface - Common Gateway Interface) reprezintă un set de acorduri care urmează să fie respectate Web-servere în performanța diferitelor aplicații bazate pe Web. De fapt, până de curând, toate Web-programare a fost o programare CGI-aplicații. În ultimii ani, situația sa schimbat. Și în timp ce CGI este încă un standard neoficial pentru aplicații bazate pe web, mecanismul de CGI-programe mai actualizate.







Ultimul punct este deosebit de impresionant. Dacă sunt pătrunse de ideea lui, înseamnă că ați înțeles în termeni generali ce CGI. Doar CGI prevede tot ceea ce pare atât de transparent pentru utilizator. În mod tradițional, programele care se execută în conformitate cu acordurile CGI, numite scenarii - cel mai probabil datorită faptului că, în cele mai multe cazuri, acestea sunt scrise în limba interpret (cum ar fi PHP sau Perl).

Astfel, putem folosi un mecanism puternic, care ne permite să genereze documente „din zbor“.

De exemplu, avem nevoie în orice document pus în jos data și ora curentă. Desigur, nu-i putem pre-înregistrare în document - de fapt, în funcție de atunci când este încărcat de către utilizator, această dată ar trebui să fie schimbat. Dar putem scrie un script (script), care calculează data, introduceți-l în document, apoi trece-l la utilizator! Cu toate acestea, ne-am construit un model lipseste un link. Într-adevăr, să presupunem că vrem să timp în pagina noastră este ștanțat pe baza fusului orar al utilizatorului. Dar script-ul care știu fusul orar în regiunea în care trăiește persoana (sau orice alte informații care pot furniza utilizatorului)? Aparent, trebuie să existe un fel de mecanism care va permite utilizatorului să primească nu numai, dar, de asemenea, transmite informații către server (în acest caz, de exemplu, timpul în ore, în ceea ce privește modificarea Moscova). Acesta prevede, de asemenea, CGI.

interacțiunea server cu browser-ul

Scop interfață CGI

Mecanismul CGI redirecționează ieșirea programului de pe web-server, și că, la rândul său, browser-ul utilizatorului. În ceea ce privește programul nu este neobișnuit - afișează doar informații. Absolut orice program nu poate fi CGI-programe din domeniul, deoarece, înainte de încheierea acestuia ar trebui să se retragă anumite antete de server - specificați cel puțin tipul de informații afișate. De exemplu, dacă dorim să imprimați o imagine, avem nevoie pentru a trimite un antet Content-Type: image / gif. Dacă CGI program trebuie să treacă parametri, atunci se face foarte simplu - așa cum a fost cazul cu programul regulat. De exemplu, avem nevoie pentru a trece șir de interogare scenariu [email protected] cgi.exe. Pentru a face acest lucru, trebuie să apelați programul cgi.exe șirul de interogare specificat: cgi.exe [email protected].







Se separă parametrii cu caracter . Ai văzut vreodată câteva câmpuri de intrare și switch-uri de pe pagina, și butonul „Trimite“ sub ei? Aceasta este forma cu ajutorul
Puteți automatiza procesul de scenariu de transmitere a datelor. Desigur, script-ul are, de asemenea, din nou, pentru a reacționa la aceste opțiuni: să dețină parsarea șir de caractere, creați variabile, etc. Trebuie remarcat faptul că toate aceste acțiuni vor trebui să fie programate manual, dacă dorim să folosim limbajul C. PHP șir de interogare parse ei înșiși parametri.

Deci, această metodă de a trimite parametrii de script-ul (atunci când datele este plasat pe linia de comandă URL-ul) este metoda GET. De fapt, chiar dacă nu a trecut nici un parametru (de exemplu, atunci când încărcarea unei pagini statice), utilizat în continuare metoda GET. Cu toate acestea, există o cale comună - transferul perametrov metoda de solicitare POST. cerere de transfer metode vor fi discutate mai jos.

În cazul în care programul este conceput pentru CGI, trebuie să aibă grijă de interacțiunea cu serverul. Cea mai simplă interacțiune este că programator trebuie să cunoască informații despre server. Aceste informații sunt transmise folosind variabile de mediu.

Asta e despre mecanismul de lucru și de CGI.

Metode de creare a CGI-scripturi (scripturi)

CGI-programe sunt adesea scrise într-un limbaj interpretat (PHP, Perl, Bash, Phyton, etc). Puteți scrie, de asemenea, un program într-un limbaj compilat, cum ar fi C., care se va ocupa de date de utilizator. Aici este un exemplu CGI-program C:

#include // Necesitatea de a inițializa funcția de rand ()
#include // Include suportul funcții I / O
#include // Și acest lucru - pentru a sprijini rand () funcția
// funcție principală. Și anume începe atunci când script-ul începe.
void main (void) // inițializează generator de numere aleatoare
int Num; time_t t; srand (timp (t));
// număr aleator scris în Num zero-nouă
Num = rand ()% 10;
// deriva in continuare colectoarele de răspuns. Tip - document HTML
printf ( "Content-type: text / html \ n");
// Dezactivați Caching
printf ( "Pragma: nu-cache \ n");
// antet gol
printf ( "\ n");
// afișați textul documentului - vom vedea în browser
printf ( "„);
printf ( "");
printf ( "număr aleator în intervalul 0-9 :.", Num);
printf ( "„);
>

Acum putem compila programul într-un executabil fișier (binar) cgi.exe și se referă la ea ca un CGI-script-uri.

Apoi, în cele din urmă considerăm metodele de transmitere a cererilor.