Common Gateway Interface
Een Common Gateway Interface of CGI is een internettechnologie die het mogelijk maakt om in de webbrowser dynamisch gegevens op te vragen van de webserver. CGI is een standaard voor dataoverdracht tussen de cliënt en het programma.
CGI werd in 1993 ontwikkeld door het National Center for Supercomputing Applications (NCSA) voor de NCSA HTTPd-webserver. Gegevens uit de querystring worden door de webserver als omgevingsvariabelen doorgegeven aan het aangeroepen CGI-programma en deze worden door het programma gebruikt als parameters. Het programma stuurt het resultaat van de bewerking terug naar de webserver en de webserver stuurt het terug naar de browser.
CGI-programma's worden door de webserver principieel anders behandeld dan statische HTML pagina's. Daarom hebben CGI-programma's speciale rechten (uitvoerbaar) nodig. Vaak worden dergelijke programma's bij elkaar in een directory gezet, waarbij de benodigde rechten op alle bestanden in die directory staat. Een veelgebruikte naam voor zo'n directory is cgi-bin.
Voor CGI-programma's kan een scripttaal worden gebruikt, maar ook een gecompileerd programma. Het is zelfs mogelijk om onder Windows, een DOS-batchbestand als CGI-programma te laten functioneren.
Scripttalen die veel voor CGI worden gebruikt zijn Perl, Python en Ruby.
Bij CGI wordt elke keer als een CGI-programma wordt opgevraagd een nieuw proces gestart. Dat kan capaciteitsproblemen geven bij een te groot aantal requests. Later ontwikkelde technologieën als PHP, Active Server Pages (ASP) en ColdFusion ondervangen dit probleem. Bij deze technologieën lopen de scripts in-proces in de webserver.
In de veelgebruikte Apache webserver is het inmiddels mogelijk om CGI-programma's in-proces te laten lopen, door het installeren van de mod_perl-module. De webserver is daardoor in staat om zelf Perlscripts te interpreteren en hoeft geen externe Perlinterpreter aan te roepen.
Zie ook
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.