Server-side scripting
Server-side scripting is de algemene term voor de technologie die gebruikt wordt op internet om dynamisch HTML pagina's te genereren die o.a. 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
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 internet toepassingen. 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 deze wikipedia.
Het resultaat van scripts is overigens niet beperkt tot HTML. Ook allerlei andere bestanden kunnen dynamisch worden gegeneerd, zoals plaatjes, XML en Office bestanden.
Verschillende technologieën
Er zijn verschillende server-side scripting technologieën. De eerst ontwikkelde technologie is 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 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 <? en ?>.
Onderscheid met client-side scripting
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 m.b.v. 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 als een client-side script (op de client), en dat de scripts geen gezamenlijke informatie of functionaliteit hebben.