PDA

Visualizza la versione completa : perchè usare CGI?


Dark_Edo
28-02-2009, 17:30
Ciao a tutti ..... dovrò fare un progetto per un corso all'università e tra le specifiche è richiesto l'uso di HTML, Javascript, PHP e CGI.

Conosco perfettamente come usare i primi tre, ma non capisco invece l'utilità di CGI ... cosa potrei (o dovrei) farci?

le connessioni al database e tutte le funzioni di login/recupero dati utente/etc. le faccio gia con PHP...



spero riusciate ad illuminarmi :D

shishii
01-03-2009, 23:31
CGI è un protocollo e non un linguaggio come gli altri tre citati.
Significa Common Gateway Interface, ovvero intefaccia di collegamento comune.

In altre parole è un protocollo che detta le specifiche affinchè i Web server possano inetrloquire con programmi esterni che possono essere scritti in qualunque linguaggio (C, C++, Perl, Java, Shell, Awk, PHP stesso, ecc.) la differenza con il PHP che tu conosci è che normalmente l'interprete è integrato nel web server stesso, infatto gli script non hanno bisogno dell'attributo dell'eseguibilità, invece un programma o script CGI deve sempre essere eseguibile.

Perchè è utile CGI?
Perchè scollega l'eseguibile dal web server per cui lo stesso script lo puoi (più o meno ) usare con qualunque web server e viceversa (più o meno), inoltre se usato bene il protocollo CGI consente una maggiore sicurezza.

Dark_Edo
02-03-2009, 14:28
grazie per la spiegazione :) quindi mi permette di usare eseguibili scritti ad esempio in C .... ma anche in PHP.


però in un sito ad esempio di una comunità virtuale ...... a cosa mi potrebbe servire un'interfaccia CGI? non credo di aver bisogno di usare linguaggi di programmazione come il C.

tutte le funzioni in PHP sono gia implementate in pagine PHP ....... dovrei forse spostare tutte le funzioni PHP in script CGI?

Mich_
02-03-2009, 17:35
Mi scusera` Shishii se mi intrometto ...


quindi mi permette di usare eseguibili scritti ad esempio in C .... ma anche in PHP. In C / C++ si`, in PHP no, dato che il PHP e` un protocollo dicomunicazione ceh contiene al suo interno un linguaggio di programmazione.

I CGI al 95% sono realizzati in Perl, un linguaggio interpretato, che ha una sintassi molto simile al PHP (ma forse e` il PHP che deriva dal Perl).



non credo di aver bisogno di usare linguaggi di programmazione come il C. probabilmente non ahi bisogno di altre cose oltre il PHP, ma se vuoi scaricare il lavoro del server, puo` essere che con un linguaggio compilato il server lavora ad una velocita` che puo` arrivare a 10 volte tanto: in un server con migliaia di accessi puo` fare una bella differenza (anche di costi economici sull'hardware da utilizzare).



dovrei forse spostare tutte le funzioni PHP in script CGI? Questo non possimao dirtelo noi. Non stiamo seguendo quel corso e non possiamo sapere cosa vuole il prof. o quale e` lo scopo del corso. ...:)
Se lo scopo e` imparare ad usare i CGI, e` chiaro che devi fare qualcosa con tale protocollo, se lo scopo e` saper usare un server di qualsiasi tipo forse non e` necessario ...

Dark_Edo
02-03-2009, 21:27
grazie per l'intromissione :D ogni suggerimento è prezioso...


ma solitamente per cosa si usa CGI? durante corso ci è stato fatto vedere un esempio di recupero e reinvio dei dati da un form tramite un programma a interfaccia CGI ...


ma questo gia lo faccio con PHP ....... oltre a poter convertire questa cosa con l'interfaccia CGI, cos'altro potrebbe facilitarmi questa tecnica?

shishii
02-03-2009, 22:54
come ti ha già detto Mich_ la possibilità di usare CGI ti apre tutti gli orizzonti, ad esempio consentendosi di usare anche le risorse eventualmente inaccassibili a PHP che ha gli stessi privilegi (bassi ovviamente) del web server.

X Mich_ : anche PHP si può usare tramite l'interfaccia CGI, anzi a volte viene fatto proprio per quanto detto sopra. Ovviamente a questo punto gli script dovranno essere eseguibili.

corrado22
19-03-2009, 20:47
Mi intrometto pure io
dato che programmo in Cobol oramai da molti anni
grazie all'interfaccia CGI riesco ad eseguire programmi cobol
e visualizzare tutti i dati provenienti dal server sulle pagine web
comodo no .....

Loading