Sunteți pe pagina 1din 7

MINISTERUL EDUCAŢIEI, CULTURII ȘI CERCETĂRII AL REPUBLICII MOLDOVA

I.P. CENTRUL DE EXCELENŢĂ ÎN INFORMATICĂ ŞI TEHNOLOGII


INFORMAŢIONALE

CATEDRA INFORMATICĂ I

LABORATOR NR. 11
Obiect: Proiectarea retea de calculatoare
TEMA: STANDARTUL CGI

Grupa: R-1741
Elev: Lefter Veaceslav
Profesor: Petru Arcan

CHISINAU 2021
CUPRINS

Introducere
Instrumente necesare

Construirea unei rețele pentru un birou


Norme si cerinte de proiectare

Alegeri de proiectare
VLAN
LAN Switch
Clasa de IP
Topologia
Standartul CGI
Common Gateway Interface (CGI) oferă middleware între servere WWW și baze de date
externe și surse de informare. World Wide Web Consortium (W3C) a definit Common Gateway
Interface (CGI) și a definit, de asemenea, modul în care un program interacționează cu un server
HTTP Hyper Text Transfer Protocol (HTTP). Serverul Web transmite de obicei informațiile
despre formular către un mic program de aplicație care procesează datele și poate trimite înapoi
un mesaj de confirmare. Acest proces sau convenție pentru trecerea datelor înainte și înapoi
între server și aplicație se numește interfața de gateway comună (CGI).

Caracteristicile CGI:

 Este un standard foarte bine definit și acceptat.


 Scripturile CGI sunt în general scrise fie în Perl, C, fie poate doar într-un simplu script
shell.
 CGI este o tehnologie care se interfață cu HTML.
 CGI este cea mai bună metodă de a crea un contor, deoarece este în prezent cea mai
rapidă
 Standardul CGI este, în general, cel mai compatibil cu browserele de astăzi

Avantajele CGI:

 Sarcinile avansate sunt în prezent mult mai ușor de realizat în CGI decât în Java.
 Este întotdeauna mai ușor să folosiți codul deja scris decât să scrieți al dvs.
 CGI specifică faptul că programele pot fi scrise în orice limbă și pe orice platformă, atâta
timp cât sunt conforme cu specificațiile.
 Contoare bazate pe CGI și cod CGI pentru a efectua sarcini simple sunt disponibile din
abundență.

Dezavantajele CGI:

 În Common Gateway Interface, fiecare încărcare a paginii se efectuează prin încărcarea


programelor în memorie.
 În general, datele nu pot fi memorate cu ușurință în memorie între încărcările paginii.
 Există o bază de coduri imensă, o mare parte din Perl.
 CGI consumă mult timp de procesare.
Implimentarea standart-ului CGI

Un server web permite proprietarului său să configureze ce adrese URL vor fi tratate cu ajutorul
acestor scripturi CGI.

Exemplu.
Următorul program Perl prezintă toate variabilele de mediu transmise de serverul Web:

#!/usr/bin/env perl

=head1 DESCRIPTION

printenv — un program CGI care doar printeaza in enviorment

=cut
print "Content-Type: text/plain\n\n";

for my $var ( sort keys %ENV ) {


printf "%s=\"%s\"\n", $var, $ENV{$var};
}

Dacă un browser Web emite o solicitare pentru variabilele de mediu la http://example.com/cgi-


bin/printenv.pl/foo/bar?var1=value1&var2=with%20percent%20encoding, un server web
Windows 7 pe 64 de biți care rulează cygwin returnează următoarele informații:

COMSPEC="C:\Windows\system32\cmd.exe"
DOCUMENT_ROOT="C:/Program Files (x86)/Apache Software
Foundation/Apache2.4/htdocs"
GATEWAY_INTERFACE="CGI/1.1"
HOME="/home/SYSTEM"
HTTP_ACCEPT="text/html,application/xhtml+xml,application/xml;q=0.9,*
/*;q=0.8"
HTTP_ACCEPT_CHARSET="ISO-8859-1,utf-8;q=0.7,*;q=0.7"
HTTP_ACCEPT_ENCODING="gzip, deflate, br"
HTTP_ACCEPT_LANGUAGE="en-us,en;q=0.5"
HTTP_CONNECTION="keep-alive"
HTTP_HOST="example.com"
HTTP_USER_AGENT="Mozilla/5.0 (Windows NT 6.1; WOW64; rv:67.0)
Gecko/20100101 Firefox/67.0"
PATH="/home/SYSTEM/bin:/bin:/cygdrive/c/progra~2/php:/cygdrive/c/win
dows/system32:..."
PATHEXT=".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC"
PATH_INFO="/foo/bar"
PATH_TRANSLATED="C:\Program Files (x86)\Apache Software
Foundation\Apache2.4\htdocs\foo\bar"
QUERY_STRING="var1=value1&var2=with%20percent%20encoding"
REMOTE_ADDR="127.0.0.1"
REMOTE_PORT="63555"
REQUEST_METHOD="GET"
REQUEST_URI="/cgi-
bin/printenv.pl/foo/bar?var1=value1&var2=with%20percent%20encoding"
SCRIPT_FILENAME="C:/Program Files (x86)/Apache Software
Foundation/Apache2.4/cgi-bin/printenv.pl"
SCRIPT_NAME="/cgi-bin/printenv.pl"
SERVER_ADDR="127.0.0.1"
SERVER_ADMIN="(server admin's email address)"
SERVER_NAME="127.0.0.1"
SERVER_PORT="80"
SERVER_PROTOCOL="HTTP/1.1"
SERVER_SIGNATURE=""
SERVER_SOFTWARE="Apache/2.4.39 (Win32) PHP/7.3.7"
SYSTEMROOT="C:\Windows"
TERM="cygwin"
WINDIR="C:\Windows"

Unele dintre aceste variabile, dar nu toate, sunt definite de standardul CGI. Unele, cum ar fi
PATH_INFO, QUERY_STRING și cele care încep cu HTTP_, transmit informații de la
solicitarea HTTP.
Variabile specific server-ului

SERVER_PROTOCOL HTTP / versiune


SERVER_PORT Port TCP (zecimal)
REQUEST_METHOD numele metodei HTTP (vezi mai sus)
PATH_INFO sufix de cale, dacă este atașat la URL după numele programului și o
bară
PATH_TRANSLATED calea completă corespunzătoare presupusă de server, dacă
PATH_INFOeste prezentă
SCRIPT_NAME cale relativă la program, cum ar fi /cgi-bin/script.cgi
QUERY_STRING partea de URL după ? caracter.
REMOTE_HOST numele gazdei clientului, anulați dacă serverul nu a efectuat o astfel
de căutare.
REMOTE_ADDR Adresa IP a clientului (punct-zecimal).
AUTH_TYPE tip de identificare, dacă este cazul
REMOTE_USER folosit pentru anumite AUTH_TYPEs.
REMOTE_IDENT vezi ident , numai dacă serverul a efectuat o astfel de căutare
CONTENT_TYPE Tip de suport de internet pentru date de intrare dacă se utilizează
metoda PUT sau POST
CONTENT_LENGTH in mod similar, dimensiunea datelor de intrare (zecimale, în octeți )
dacă sunt furnizate prin antetul HTTP

Programul returnează rezultatul pe serverul Web sub forma unei ieșiri standard, începând cu un
antet și o linie necompletată .

Antetul este codat în același mod ca un antet HTTP și trebuie să includă tipul MIME al
documentului returnat. Anteturile, completate de serverul Web, sunt în general transmise cu
răspunsul înapoi către utilizator

Webografie

https://www.whoishostingthis.com/compare/cgi-access/variables/
https://en.wikipedia.org/wiki/Common_Gateway_Interface
https://docstore.mik.ua/orelly/linux/cgi/ch03_01.htm

S-ar putea să vă placă și