Common Gateway Interface: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
YurikBot (discussione | contributi)
m robot Modificare: sl
Collegamenti esterni: Aggiunto il template "FOLDOC"
Etichette: Modifica da mobile Modifica da applicazione mobile Modifica da applicazione Android
 
(99 versioni intermedie di 65 utenti non mostrate)
Riga 1:
[[File:Common Gateway Interface logo.svg|thumb|alt=Il logo ufficiale CGI dall'annuncio delle specifiche |Il logo ufficiale CGI dall'annuncio delle specifiche]]
'''C'''ommonIn [[informatica]] '''G'''atewayCommon Gateway Interface'''I'''nterface (acronimosigla '''CGI''', in italiano: ''"interfaccia comune''", nel senso di standard, ''"per [[Gateway (informatica)|gateway'']]"), è una tecnologia [[standard (informatica)|standard]] usata dai [[web server]] per interfacciarsi con [[applicazione web|applicazioni]] esterne generando contenuti [[web dinamico|web dinamici]].
 
Ogni volta che un [[client]] richiede al [[web]]-[[ server]] un [[Uniform Resource Locator|URL]] corrispondente ada un documento in puro [[HTML]], gli viene restituito un documento statico (come un [[file di testo]]); se l'URL corrisponde invece ada un [[programma (informatica)|programma]] CGI, il server lo [[esecuzione (informatica)|esegue]] in tempo reale, generando dinamicamente [[informazione|informazioni]] per l'utente.
 
==Descrizione==
Un programma (o uno [[script]]) CGI può essere scritto in qualsiasi linguaggio di programmazione ([[C linguaggio di programmazione|C]]/[[Linguaggio C Plus Plus|C++]], [[Perl]], [[PHP]], [[Visual Basic]], [[Tcl/Tk]], [[AppleScript]], ecc.), la scelta si basa sul sistema su cui girerà; il [[Perl]] è comunque il linguaggio più comunemente utilizzato.
=== Utilizzo ===
Il CGI è la prima forma di [[Elaborazione dati|elaborazione]] [[lato server]] implementata: quando a un [[web server]] arriva la richiesta di un documento CGI (solitamente con estensione ''.cgi'', ''.exe'' o ''.pl'') il server esegue il programma richiesto e al termine invia al web browser l'output del programma. Il file CGI è un semplice programma già [[compilazione|compilato]] ([[codice oggetto]]) e la risposta viene acquisita attraverso [[canali standard|standard output]]. L'acquisizione dei parametri può avvenire attraverso [[Variabile d'ambiente (Windows)|variabili d'ambiente]], passaggio di parametri sulla [[riga di comando]] o lo [[canali standard|standard input]] a seconda della mole di dati e delle scelte del programmatore<ref>{{Cita web |url=http://telemat.det.unifi.it/book/corso_telematica/lez_220/CGI.html#slide_205 |titolo=Copia archiviata |accesso=19 dicembre 2014 |urlarchivio=https://web.archive.org/web/20141219161112/http://telemat.det.unifi.it/book/corso_telematica/lez_220/CGI.html#slide_205 |dataarchivio=19 dicembre 2014 |urlmorto=sì }}</ref>.
 
CGI è attualmente usato solo con il protocollo [[Hypertext Transfer Protocol|HTTP]] anche se in futuro potrebbe essere esteso ad altri protocolli. La [[directory]] predefinita degli [[script]] CGI è ''/cgi-bin/'' su sistemi [[Internet Information Services|IIS]], anche se a volte è preferibile modificarla, per evitare i frequenti attacchi dai [[Bot (informatica)|bot]] sui [[file]] in quella cartella.
Esempio pratico: visitando una pagina web, il server del sito che la ospita potrebbe aprire un'immagine e scrivere sulla pagina le sue dimensioni
 
=== Risorse esterneLinguaggi ===
I [[linguaggi di programmazione]] usati sono generalmente [[C (linguaggio)|C]]/[[C++]] e [[Perl]]. Alcuni applicativi utilizzano la tecnologia [[FastCGI]] per introdurre nuovi [[linguaggio di scripting|linguaggi di scripting]], [[interprete (informatica)|interpretati]] e non compilati, come ad esempio [[PHP]]. L'altra possibilità è utilizzare librerie, ma variano in base al server web e al [[sistema operativo]] utilizzato, diminuendo così la [[portabilità]] del [[software]].
* [http://hoohoo.ncsa.uiuc.edu/cgi/ Specifiche CGI 1.1] (in inglese)
 
== Storia ==
[[categoria:internet]]
CGI venne implementato nel [[1993]] quando il [[World Wide Web]] era agli esordi, inizialmente per l'utilizzo con le [[mailing list]]. Gli autori dell'interfaccia e della [[Request for Comments|RFC]] furono sviluppatori dell'[[Apache Software Foundation]]: [[David Robinson (informatica)|David Robinson]] e [[Ken Coar]]<ref>rfc3875 – https://www.ietf.org/rfc/rfc3875.txt</ref>.
 
La normativa di riferimento è la [https://www.ietf.org/rfc/rfc3875.txt RFC3875].
[[da:CGI]]
 
[[de:Common Gateway Interface]]
== Note ==
[[en:Common Gateway Interface]]
<references />
[[eo:CGI]]
 
[[es:Common Gateway Interface]]
== Bibliografia ==
[[et:CGI]]
[[fr* {{RivistaVG|mc|164|250-252|7/8|1996|titolo=CGI: Common Gateway Interface]]}}
 
[[he:CGI]]
== Altri progetti ==
[[ja:Common Gateway Interface]]
{{interprogetto}}
[[lt:CGI]]
 
[[nl:Common Gateway Interface]]
== Collegamenti esterni ==
[[pl:CGI]]
* {{Collegamenti esterni}}
[[pt:CGI]]
* {{FOLDOC}}
[[sl:Common Gateway Interface]]
* {{en}}[https://www.w3.org/CGI/ standard CGI] su w3.org.
[[sv:CGI]]
* {{cita web|1=http://hoohoo.ncsa.uiuc.edu/cgi/|2=Specifiche CGI 1.1|lingua=en|accesso=3 ottobre 2002|urlarchivio=https://web.archive.org/web/20021003125844/http://hoohoo.ncsa.uiuc.edu/cgi/|dataarchivio=3 ottobre 2002|urlmorto=sì}}
 
{{Interfacce web}}
{{Controllo di autorità}}
{{Portale|internet|Telematica}}
 
[[Categoria:Server web]]