Server-side scripting

Server-side scripting is de algemeen bekende term voor de technologie die gebruikt wordt op internet om dynamisch HTML-pagina's te genereren die onder andere op basis van parameters een andere inhoud en/of design krijgen. Dit moet niet verward worden met Dynamic HTML, een begrip dat gebruikt wordt voor interactieve webpagina's.

Toepassing bewerken

Een veelgebruikte toepassing van server-side scripting is een zoekmachine. Op basis van ingetypte zoektermen (die als parameters worden gebruikt), wordt op de webserver van de zoekmachine een pagina gegenereerd met zoekresultaten. Deze pagina wordt naar de webbrowser gestuurd.

Parameters kunnen door de webbrowser worden meegestuurd in de querystring, maar kunnen ook afkomstig zijn van cookies, andere HTTP-headers en variabelen op de server (zoals tijd). Bij server-side browser sniffing wordt in het script de User Agent van de browser bepaald, en op basis daarvan eventueel de HTML aangepast.

Server-side scripting is onmisbaar voor veel internettoepassingen. Bijvoorbeeld in Content Management Systems worden gegevens vanuit de browser verstuurd naar een script, dat die gegevens opslaat op de server, meestal in een database. Andere scripts kunnen die gegevens uit de database halen en als HTML presenteren aan bezoekers. Zo werkt het ook op Wikipedia.

Het resultaat van scripts is overigens niet beperkt tot HTML. Ook allerlei andere bestanden kunnen dynamisch worden gegenereerd, zoals plaatjes, XML en Office- en PDF-bestanden.

Verschillende technologieën bewerken

Er zijn verschillende server-side scriptingtechnologieën. De eerst ontwikkelde technologie was de Common Gateway Interface (CGI). Dit is een "out-of-process"-technologie, waarmee bedoeld wordt dat voor elke interpretatie van een script een nieuw proces wordt gestart. Veel gebruikte scripttalen zijn Perl en Python.

Later zijn "in-process"-technologieën ontwikkeld, waarbij de interpretatie van de scripts door de webserver zelf wordt gedaan. Deze methode is efficiënter. Voorbeelden van "in-process" technologieën zijn Java servlets, Active Server Pages en PHP. Bij "in-process"-technologieën worden in de pagina's vaak HTML en script afgewisseld. In ASP wordt het script-deel tussen <% en %> gezet, PHP gebruikt <?php en ?>.

Onderscheid met client-side scripting bewerken

Er bestaat ook client-side scripting. Dat betreft scripts (meestal JavaScript) die in de browser worden uitgevoerd. Server-side scripting en client-side scripting sluiten elkaar niet uit. Het is niet uitzonderlijk om met behulp van server-side scripting een DHTML-pagina te genereren die door toepassing van JavaScript in de browser interactief is.

Het kan verwarrend zijn dat JavaScript (maar ook VBScript) zowel op de server als op de client als scripttaal kan worden gebruikt. Het is belangrijk te beseffen dat een server-side script op een totaal andere computer (op de server) wordt uitgevoerd dan een client-side script (op de client), en dat de scripts geen gezamenlijke informatie of functionaliteit hebben.