Ce este Common Gateway Interface?

În domeniul computerelor, un gateway poate fi mai multe lucruri, inclusiv un nod care conectează fizic rețele disparate, transformându-le protocoalele astfel încât acestea să poată comunica sau un serviciu funcțional care oferă un intermediar între mai multe sisteme. Programele gateway pot acționa ca gateway-uri între resursele de pe partea serverului – cum ar fi bazele de date – și web. Common Gateway Interface (CGI) a fost mecanismul inițial care a servit ca o interfață generică între server și aceste programe de gateway de pe partea serverului și a fost folosit de majoritatea serverelor pentru a procesa cererile clienților care necesitau procesarea datelor pe partea serverului. Este un standard, precum și o interfață.

Interfața Common Gateway funcționează în două direcții. Să presupunem că un utilizator trimite o solicitare printr-un browser web, cum ar fi trimiterea unui formular HTML cu date pentru a fi adăugat la o listă de corespondență. Serverul HTTP poate servi doar documente, nu poate procesa datele. Deci, odată ce HTTP (HyperText Transfer Protocol) de date către server este complet, Common Gateway Interface transmite datele de la server la programul gateway care se conectează la baza de date. Rezultatele procesării, cum ar fi un mesaj de confirmare, sunt returnate utilizatorului care călătorește pe cale inversă: de la bază de date la programul gateway prin Common Gateway Interface către server, prin HTTP către browserul web al utilizatorului.

Un script Common Gateway Interface este numele programului software care a fost utilizat pentru a procesa o interogare către o bază de date. Avea avantajul de a fi agnostic al sistemului de operare, ceea ce înseamnă că ar funcționa pe un server indiferent de sistemul de operare pe care îl rula. În timp ce CGI a fost mult folosit în primele zile ale web-ului, acum există metode mai noi și mai eficiente pe partea de server pentru procesarea interogărilor, iar acestea sunt acum găsite și ele. Acestea includ ASP (Active Server Page) și versiunea sa mai nouă ASP.NET (Active Server Page pentru dot-net, cunoscută și ca ASP+) și JSP® (JavaServer Page), care permite combinarea HTML (HyperText Markup Language) și Java pentru a lucra împreună pe o singură pagină web, dar rețineți că ASP este realizat de Microsoft® și rulează numai pe serverele web Microsoft®.

CGI în sine s-a dezvoltat și el. FastCGI™, o extensie standard deschisă, independentă de limbaj, a CGI, care permite calculul distribuit și, spre deosebire de CGI, nu se închide după ce fiecare solicitare este finalizată, ci persistă, așteptând următoarea solicitare. SCGI (Simple CGI) este o altă alternativă, atât un protocol, cât și un program, plasată în domeniul public de către creatorul său.