PDA

View Full Version : CGI


nuovoUtente86
29-02-2008, 21:29
Volevo chiedere se questa tecnologia nata per rendere dinamico il contenuto web viene ancora utilizzata oppure è ormai totalmente stata superata da linguaggi come ASP,JSP e PHP?

wizard1993
29-02-2008, 21:35
Volevo chiedere se questa tecnologia nata per rendere dinamico il contenuto web viene ancora utilizzata oppure è ormai totalmente stata superata da linguaggi come ASP,JSP e PHP?

da quel che so io si usa ancora abbastanza, se ne vedono ancora di pagine con questa tecnologia

nuovoUtente86
29-02-2008, 21:42
Da quel poco che il tempo mi ha concesso di leggere ho intuito che quello che il browser(quindi l' utente) vede è una semplice pagina con estensione .html.
Per cui presuppongo che quei siti che mostrano appunto html puri ma che processano dati invece di mostrare semplici risorse in forma testuale abbiano dietro un CGI scritto presumibilmente in Perl.

wizard1993
29-02-2008, 21:43
Da quel poco che il tempo mi ha concesso di leggere ho intuito che quello che il browser(quindi l' utente) vede è una semplice pagina con estensione .html.
Per cui presuppongo che quei siti che mostrano appunto html puri ma che processano dati invece di mostrare semplici risorse in forma testuale abbiano dietro un CGI scritto presumibilmente in Perl.

quello sicuramente, ma adesemio un cgi scritto in c++ si esegue dal server con estenzione cgi

nuovoUtente86
29-02-2008, 21:47
Uno dei vantaggi è appunto quello di poter scrivere il motore CGI in qualunque linguaggio,però leggevo che gli svantaggi principali erano quelli di dover lanciare un processo ad ogni richiesta e quello di non poter scrivere nell' ambito del web server ad esempio un log degli errori.Tu intendevi dire che ilcodice puo essere eseguito direttamente nell' application/web server o ho capito male?

cionci
01-03-2008, 00:59
Anche l'interprete php può essere usato come un CGI ed era così fino a quando non è stato introdotto il supporto alle extension Apache e ai filter IIS.
Il CGI è superato proprio per quanto detto sui processi, le extension ed i filter creano un nuovo thread per ogni richiesta, il web server per eseguire un CGI deve fare un nuovo processo. Il meccanismo di filter ed extension è quindi nettamente più leggero e performante.

PS: su Linux/Unix non necessariamente i CGI devono avere l'estensione CGI, semplicemente devono stare in una directory con permesso di esecuzione del server e devono avere il permesso di esecuzione sul file. Su Windows ad esempio i CGI devono avere estensione EXE.

nuovoUtente86
01-03-2008, 02:08
Si si avevo letto a riguardo del php.In termini percentuali secondo voi ancora quanti siti utilizzano questo "protocollo"?

cionci
01-03-2008, 11:16
Pochissimi...alcuni lo usano per l'interprete perl.
Su Windows ci sono già i wizard in Visual Studio per usare le ISAPI filter...ci vogliono 10 minuti per realizzare un filtro che si interfaccia con IIS senza CGI.

nuovoUtente86
01-03-2008, 11:27
Da quello che ho capito non era facilissimo o almeno immediato imparare a realizzare un buon meccanismo CGI.Mi sembra che ormai anche l' ISAPI sia in via di abbandono?

cionci
01-03-2008, 11:29
Non ne ho idea...è da un po' che non metto le mani su un IIS...
In teoria le ISAPI non dovrebbero morire, a meno che non abbiano realizzato un meccanismo equivalente completamente nuovo basato su .Net...

nuovoUtente86
01-03-2008, 14:32
Non conosco molto bene ISAPI.So che si utilizzano per implementare la sessione via URL con sessionID se il browser non accetta i cookie e che nelle vecchie versioni di IIS si aveva un problema simile a quello dei Thread di livelo utente molti ad uno,cioè se un filtro andava in blocco si stoppava tutto il server.Quello che non ho capito è se le ASP dipendono in qualche modo da ISAPI oppure sono slegate completamente.

cionci
01-03-2008, 15:46
ASP e PHP sono a tutti gli effetti degli ISAPI filter. Sono DLL che vengono associate ad una determinata estensione di file. Quando l'url richiede un file di quel tipo la richiesta HTTP viene passata all'ISAPI filter corrispondente.
Altrimenti ci sono le ISAPI extension (forse, non ricordo bene il nome) che sono molto simili alle servlet Java. E' sempre una DLL che viene richiamata direttamente da IIS passandogli la richiesta HTTP.
Quando vedi un url di questo tipo: http://server/path/foo.dll?a=xyz&b=qwerty
allora sei davanti ad una extension. Di fatto sono molto simili ai CGI, solo che hanno il vantaggio di girare come thread.

nuovoUtente86
01-03-2008, 16:39
Quindi se ho capito bene il codice contenuto nei file con estensione ad esempio aspx.vb e quello nelle pagine aspx come ad esempio l' estrazione dei dati da un datasource viene eseguito in modo trasparente attraverso l' ISAPI

cionci
01-03-2008, 18:01
Per ASPX non so, ma per ASP era una ISAPI. PHP su IIS si installa aggiungendo un ISAPI FIlter..