Wat zijn CGI-scripts en hoe verbeteren ze websites?

Wat zijn CGI-scripts en hoe verbeteren ze websites? / Programming

CGI betekent Common Gateway Interface. Het is een standaardprotocol voor webservers om programma's uit te voeren en uitvoer voor webbrowsers te genereren De beste webbrowsers voor Windows De beste webbrowsers voor Windows Wat is uw standaardwebbrowser? Hoewel we verwend zijn met keuzemogelijkheden, houden de meesten van ons vast aan de beproefde en beproefde hoofdrolspelers. Wat zijn betere alternatieven voor gebruik van hulpbronnen, snelheid en beveiliging? Lees verder . Het programma wordt een CGI-programma genoemd (of een CGI-script Bespaar uzelf Tijd en inspanning door GIMP te automatiseren met scripts Bespaar uzelf Tijd en inspanning door GIMP te automatiseren met scripts Het automatiseren van acties met Python-scripts in GIMP kan u veel tijd besparen. niet gemakkelijk om te beginnen, maar als je eenmaal deze basis kent, ben je goed op weg! Lees meer). Het wordt uitgevoerd namens de webserver om uitvoer te produceren wanneer een bepaalde URL wordt opgevraagd door de webbrowser van de gebruiker.

Voordelen van CGI's

Een CGI verbetert een website op vele manieren. Vanaf het verifiëren van een gebruiker tot het aanbieden van een volledige winkelapplicatie, vormen CGI's de kern van het dynamisch en interactief maken van het web. Hieronder volgen enkele van de belangrijkste voordelen van het gebruik van CGI's om de gebruikerservaring te verbeteren.

  • Gepersonaliseerd voor de gebruiker: De uitvoer kan voor elke gebruiker worden gepersonaliseerd. Een gebruiker kan bijvoorbeeld zijn banksaldi controleren, die mogelijk uit de database moeten worden gehaald.
  • Andere soorten personalisatie: De gebruiker gebruikt mogelijk een mobiele telefoon om toegang te krijgen tot de website en de uitvoer moet worden aangepast voor de resolutie van de mobiele telefoon.
  • Updates maken: Een update wordt uitgevoerd als een resultaat van een POST-formulier (hieronder uitgelegd). U kunt bijvoorbeeld uw Facebook-status bijwerken.
  • Bestanden uploaden: Een bestand dat door een gebruiker is geüpload, heeft aan de serverzijde een CGI nodig om het bestand te kunnen uploaden om het bestand op een bepaalde locatie op te slaan.
  • Output genereren: Afgezien van de uitvoer die wordt weergegeven in de browser, bieden veel websites extra vormen van uitvoer, zoals Word-documenten, PDF's enz. Sommige van deze documenten moeten mogelijk on-the-fly worden gegenereerd door CGI's, zoals uw telefoonrekening of creditcardafschrift.

Statische bestanden gebruiken versus CGI's

Een HTML-bestand 17 Eenvoudige HTML-codevoorbeelden U kunt leren in 10 minuten 17 Eenvoudige HTML-codevoorbeelden U kunt in 10 minuten leren Als u de volgende 17 HTML-tags kent (en de extra paar die daarbij horen), kunt u maak een eenvoudige basispagina of pas de code aan die is gemaakt door een app zoals ... Lees Meer (evenals JavaScript Java versus JavaScript: alles wat u moet weten Java versus JavaScript: alles wat u moet weten Java en Javascript delen sommige dingen in veelvoorkomend, maar ze verschillen meer van elkaar dan ze zijn.In dit bericht zullen we enkele van deze verschillen onderzoeken. Lees meer en CSS 10 Simpele CSS-codevoorbeelden U kunt leren in 10 minuten 10 Simpele CSS-codevoorbeelden U Kan in 10 minuten leren We bespreken hoe je een inline stylesheet kunt maken, zodat je je CSS-vaardigheden kunt oefenen. Daarna gaan we verder met 10 eenvoudige CSS-voorbeelden. Van hieruit is je verbeeldingskracht de limiet! Lees Meer) wordt geserveerd rechtstreeks door de webserver. Een CGI-programma daarentegen wordt door de webserver uitgevoerd wanneer om een ​​bepaalde URL wordt gevraagd. Het wordt gebruikt voor het uitvoeren van verzoeken die toegang nodig hebben tot dynamische informatie, zoals die zich bevindt in een database. Een voorbeeld is het verifiëren van een gebruiker om toegang toe te staan: de gebruikersnaam en het wachtwoord kunnen in een database worden opgeslagen en een verzoek om de gebruiker te valideren zou toegang moeten hebben tot deze informatie. Voor het onderhoud van dit verzoek, zou de webserver een CGI-programma uitvoeren dat de informatie opzoekt en de gebruiker valideert.

Webservers configureren

Een webserver biedt HTTP-serversoftware die HTML-bestanden kan aanbieden en CGI-programma's kan uitvoeren om on-the-fly resultaten te genereren. De HTTP-serversoftware wordt door de webserverbeheerder geconfigureerd om specifieke programma's uit te voeren wanneer om URL's wordt gevraagd die overeenkomen met specifieke patronen.

CGI's uitvoeren

Wanneer de browser van een gebruiker een verzoek indient bij een bepaalde URL, verzendt de browser een heleboel informatie, in de vorm van HTTP-headers en mogelijk de HTTP-body. Een deel hiervan kan zijn:

  • Het browsertype
  • De gebruikersnaam als de gebruiker is ingelogd
  • Alle cookies die eerder zijn opgeslagen door de webserver
  • Formuliervariabelen als de aanvraag een POST-aanvraag is

Wanneer een CGI wordt uitgevoerd om aan dit verzoek te voldoen, heeft de server al deze informatie aan het CGI-programma doorgegeven. De CGI kan sommige of al deze informatie gebruiken om het verzoek af te handelen en de uitvoer aan de gebruiker aanpassen.

Omgaan met formulier-POST's

Een primaire toepassing van CGI's is het verwerken van HTML-formulieren.

Een HTML-formulier is een apparaat voor gebruikersinteractie en biedt een verscheidenheid aan bedieningselementen zodat de gebruiker invoer kan bieden. Wanneer de gebruiker op a klikt voorleggen knop (of iets dergelijks) op het formulier, verzamelt de webbrowser de informatie in het formulier en stuurt deze naar de in het formulier aangegeven doel-URL. De webserver roept op zijn beurt meestal een CGI-programma op en verzendt alle invoer die door de gebruiker is verzameld. Deze interactie wordt een formulier POST genoemd, een technische term die de methode aangeeft voor het verzenden van de inhoud van het formulier naar de CGI. De CGI verwerkt de inhoud van het formulier en produceert een geschikt antwoord dat naar de browser moet worden verzonden.

Een voorbeeld-CGI

Het volgende is een voorbeeld van een CGI-programma geschreven in Python 5 Redenen waarom Python-programmering niet nutteloos is 5 Redenen waarom Python-programmeren geen zin heeft Python - Je houdt er ofwel van of je haat het. Je zou zelfs als een slinger van het ene uiteinde naar het andere kunnen zwaaien. Ongeacht, Python is een taal waar het moeilijk is om ambivalent te zijn. Lees verder . Het kan worden geïmplementeerd op een webserver zodat het toegankelijk is via een URL die lijkt op: http://www.example.com/cgi-bin/env.cgi. Wanneer aangeroepen, rapporteert de CGI alle variabelen die het in de omgeving van de webserver heeft ontvangen. Dit is ongeveer net zo eenvoudig als een CGI-programma kan krijgen.

#! / usr / bin / python-import os print "Content-type: text / plain \ n" voor toets o. inviron: print-toets, "=> \" ", os.environ [key]," \ "" 

De evolutie van CGI's

CGI's maken sinds bijna het begin van het web deel uit van webservers. De eerste webserver, de NCSA HTTPd Web Server, begon met ondersteuning voor het alleen aanbieden van statische bestanden. Vervolgens werd erkend dat het uitvoeren van een script in reactie op een URL-verzoek de webserver toestaat dynamische inhoud te genereren en dat de CGI-specificatie is geboren.

De vroegste CGI-programma's waren eenvoudige scripts geschreven in een taal zoals Perl, TCL, Shell, enz. Het kon ook in een gecompileerde taal zoals C / C ++ geschreven worden, maar dit vereiste een extra stap van het compileren van het programma om het uitvoerbare bestand te maken CGI.

Naarmate CGI's complexer werden en de gebruiker meer eisen stelt aan het creëren van webinterfaces: waar beginnen met het creëren van webinterfaces: waar te beginnen We laten u zien hoe webinterfaces uiteenvallen en wijzen u vervolgens op de belangrijkste concepten, hulpmiddelen en bouwstenen die nodig zijn om maak van jezelf een webdesigner uit de 21e eeuw. Read More werd erkend dat het creëren van een afzonderlijk CGI-proces voor het uitvoeren van elk verzoek nogal zwaar was in termen van geheugen en CPU-overhead. Vooral wanneer het uitvoeren van het verzoek minder tijd vergt dan het maken van een nieuw proces.

Op dit moment begonnen webservers volwaardige script-interpreters in te bedden, zodat gebruikersverzoeken in een afzonderlijke konden worden afgehandeld draad binnen een enkel webserverproces. Dit heeft de efficiëntie van de servicedienst verbeterd en de reactietijden verkort.

Dit viel samen met de komst van nieuwe talen die speciaal voor het web waren ontworpen, zoals PHP. De PHP-interpreter begon zijn leven als een CGI-programma zelf. Als onderdeel van de aanvraagverwerking parseert het het gevraagde bestand voor PHP-richtlijnen en voert het de opdrachten daarbinnen uit.

Tegenwoordig zijn er, naast CGI-scripts, veel technologieën die worden gebruikt voor het uitvoeren van code op de server als antwoord op een verzoek.

Gebruikt u CGI-scripts in een deel van de website van uw bedrijf? Bent u geconfronteerd met bepaalde problemen met het implementeren of onderhouden van CGI-scripts? Bespreek hieronder in de commentaren.

Meer informatie over: Webontwikkeling.