Portret van de webmaster Image Logo Portret van de webmeesteres Reageer per E-mail
Ontwerpen: deel 1 Ontwerpen: deel 2 Ontwerpen: deel 3

Home
Screenreaders
Inleiding
Webhosting
Een eigen domeinnaam
Publiceren
Ontwerpen: deel 1
Ontwerpen: deel 2
Ontwerpen: deel 3
Promotie (metatags.nl)
Interactie en Dynamiek
Doctypes
Alle kleuren
Contact
Disclaimer


Experiment online
Web ontwerpen


Interactie en Dynamiek

Om een website interactief en dynamisch te maken wordt gebruik gemaakt van verschillende technieken. Die technieken laten zich onder verdelen in het toepassen van applicaties op de ontvangende computer (de cliŽnt), of op de computer die de website bevat (de server). In dit verband hoor je de termen 'cliŽnt-site' en 'server-site' vaak gebruiken.
Een voorbeeld van 'cliŽnt-site' dynamiek zijn de Java scripts, die datum en tijd op de web pagina laten zien, of die waarschuwingsbordjes met allerlei pingels voortbrengen. Deze programma'tjes draaien op de ontvangende computer, waarop de mogelijkheid die progjes te draaien dus aanwezig moet zijn.
Een voorbeeld van 'server-site' interactie is de toepassing van formulieren op web pagina's, waarop gegevens moeten worden ingevuld, die vervolgens door de server worden verwerkt. Deze optie is, zeker als het om toegankelijkheid gaat, boven de eerste te prefereren. Bij deze techniek komt de term CGI al gauw om de hoek kijken.

CGI

De 'Common Gateway Interface' (CGI) is een standaard die het mogelijk maakt om het wereld wijde web, en dus ook jouw website, te verbinden met externe programmatuur op de zelfde computer als waarop een webserver zijn werk doet.
Een standaard web document is statisch. Dat wil zeggen, dat het , eenmaal opgevraagd, niets anders doet dan zijn inhoud tonen via een browser programma op de computer die om het document gevraagd heeft. Een CGI programma of script daarentegen is dynamisch, en kan dingen laten gebeuren op het scherm van de verzoekende computer, maar ook bepaalde acties uitvoeren zoals het versturen van een e-mail bericht, het bijwerken van een database of het tonen van informatie die alleen aan de server computer bekend is.

Toepassing
Stel, dat je op de computer die jouw website herbergt, ook een database onderhoudt.
Om de gegevens uit die database met de hele wereld te kunnen delen, moet er een pad bestaan tussen de database (My sql bij voorbeelld) en de web server (Apache bij voorbeeld).
De 'Common Gateway Interface' zorgt er voor, dat dit pad bestaat, en het CGI programma of script geeft verzoeken om data, via het web langs dit pad door, aan de database, en presenteert de resultaten weer aan het web. Verzoeken om actie van programma's op de server via het web, gebeuren meestal door tussenkomst van formulieren op web pagina's. In de 'FORM tag' wordt omschreven, welk programma moet worden geactiveerd, alsmede de manier waarop de gegevens die het formulier verzamelt, moeten worden verwerkt.

Programma's

Wat kun je op deze manier allemaal aan het www vastknopen?
Zo'n beetje alle programma's die op de web server willen draaien. Daaronder bevinden zich programma's in verschillende programmeertalen, afhankelijk van het besturingssysteem van de server. Draait de server op UNIX (80% van alle web servers), dan zul je VB, Perl, PHP, UNIX-shell, C/C++, Fortran en Applescript tegenkomen. Servers die op het Windows besturingssysteem draaien (juist, 20%), kunnen weer andere programma's uitvoeren, maar ook de voornoemde programma's worden soms ondersteund.
Het gebruik van CGI brengt je website pas echt tot leven. Veel gebruikte toepassingen zijn:
'Het gastenboek', 'Het e-mailformulier', 'De poll' en het 'Webforum'.
Maar ook toegang tot beveiligde gebieden op je website en inloggen op bij voorbeeld een voice-chat server gebeurt vaak via een CGI programma. Veel effecten die met Java scripts worden bereikt, zijn eveneens mogelijk met CGI.

Veiligheid

Het CGI programma uitvoeren is dus vergelijkbaar met het door anderen laten draaien van programma's op je eigen computer. Niet erg veilig dus. Daarom zien vele hosting firma's liever af van het beschikbaar stellen van deze mogelijkheid, aan de doorgaans amateuristische gebruikers van hun diensten. Hoe kun je nu vaststellen of jouw webhost wel of geen CGI toestaat?
Door eens een kijkje te nemen op de aan jouw toegewezen schijfruimte op de server van je host/ISP. Dit doe je met behulp van een FTP programma (cliŽnt). Om CGI te kunnen gebruiken, moet er in die ruimte een map bestaan met de naam CGI-bin, ook wel CGI-local of een andere naam die verwijst naar het soort programma's die gedraaid mogen worden. Die map is er door de hosting firma geplaatst, en heeft bepaalde kenmerken, die toestaan dat daarin geplaatste CGI programma's of scripts uitgevoerd zullen worden, als daartoe een verzoek via het www wordt ontvangen. Zelf een dergelijke map aanmaken heeft dus geen zin. Is zo'n map niet te vinden, dan is het dus niet mogelijk om CGI te gebruiken. Wel is het soms mogelijk om van PHP gebruik te maken.
Met PHP zijn heel veel van de mogelijkheden van CGI te realiseren. Toch moet voor het gebruik van PHP ook toestemming van je webhost bestaan. Zelf CGI programma's schrijven behoort tot de mogelijkheden, al hoewel je daarbij enorm moet oppassen om niet op Microsoft te gaan lijken.
Je kunt namelijk via deze programma's de veiligheid van de server behoorlijk ondermijnen, en anderen de kans geven om jouw programma's kwaadaardig te gebruiken. Op het internet bestaan vele websites, die CGI scripts aanbieden. Ook hier is voorzichtigheid geboden. Niet alle aangeboden waar is bullet-proof! Vooral de gratis aanbiedingen willen nog al eens voor problemen zorgen.
Bij onzorgvuldig gebruik van de CGI-bin kan je webhost besluiten om je de toegang tot deze service te ontnemen.

Toegankelijkheid

Dat niet alle programma's goed overweg kunnen met schermlezers is algemeen bekend.
Dit geldt ook voor web programma's. Java script wil een schermlezer nog wel eens stil leggen, maar ook slecht geschreven formulieren en de daar aan verbonden programma's kunnen de toegankelijkheid van een website nadelig beÔnvloeden. Test je formulieren en hun resultaten dus ook altijd in combinatie met zo mogelijk verschillende schermlezers, en zoek verder naar het juiste script, als blijkt dat de toegankelijkheid in het gedrang komt.

OfficiŽle Perl site

CGI Resources

PHP.net

Kalender Datum:
Laatste wijziging:

Corrie Looijen
© 2010-2015